编写程序最重要的是如何把大问题不断分割成小问题。
如同计算这个加法题9+8+7+4+5+9=?,如果你不能看一眼就得到答案,那么你应该将它拆解成9+8,+7,+4,+5,+9,5个加法题一个个的解决。
编程中孩子要思考如何把代码合理地安排在整个程序中,让程序流畅地处理输入、演算、输出,这个过程对孩子分析事物的逻辑性有极大的帮助。
(2)培养孩子的专注力和细心度。
修改Bug是每一个编写程序人的必经之事,无论是大人还是小孩都不例外。有时候只是少打了一个字母或在某一行末尾少了一个分号,就会造成程序大乱,更别说逻辑分析问题上忽略的某种状况和陷阱。所以,在编写程序的过程中,排错是无法敷衍了事的,这个过程能有效改正孩子马虎行事的毛病,避免当个“差不多”先生。
(3)提高孩子的耐心。
当父母的一定遇到过这种情况,带孩子去吃饭,孩子怎么也坐不住,总是跑来跑去,到处吵闹玩耍。这时,有的人会拿出手机当作游戏机,孩子的注意力瞬间就会被拉回来,开始安静地坐在位置上玩耍。以游戏项目作为课程就是运用这种特性,让孩子在游戏中学习,寓教于乐。但是编写游戏和玩游戏的很大区别在于编写游戏可以很好的锻炼孩子延迟满足感的能力,提高耐心,从编写游戏,到玩游戏,是需要经历一个比较长的过程。同时*编写游戏的小朋友,会在游戏过程中融入更多的思考,游戏视角会有明显变化。
(4)增加孩子的抽象思考能力。
其实学习编程就像学习外语一样。如果说学外语是为了跟外国人沟通,学习程序就是为了跟计算机沟通。更有趣的是,你碰到外国人不会说外语还可以用手比划,跟电脑可不行。这意味着孩子在学习的过程中需要一种化具体为抽象的能力,让程序能够按照孩子想象的方式运行,这是集思广益的过程。让孩子发挥无限想象并动手实践,让不懂得思考的电脑也能了解与表达抽象的事物。
(5)提升孩子整理信息、融会贯通的能力。
程序是一堆电脑指令的组合,好比上小学时我们查字典学汉字、学成语,之后学习如何利用习得的汉字、成语组成句子,进而撰写文章一样。程序中的基本指令就像是汉字,写成可重复利用的方法或对象就像是成语。最终要完成项目,就必须融会贯通、学以致用,确保程序在执行中不会出现不可预期的错误。
(6)提升孩子国际性的沟通能力和竞争力。
显而易见,现在哪一个行业可以不用电脑?如同先前提过的,编程语言已然成为一种重要的沟通工具,不但可以跟电脑沟通,还可以跟所有运用电脑的人沟通。孩子在幼时接触的环境往往跟以后的发展有极大的关联性,如果不想跟世界脱轨,那么*尽早让他们了解程序或编程是怎么一回事,这将会是他们面对国际和未来竞争的核心能力。
(7)让孩子*团队合作和共同学习。
在适当的教学课程设计下,学写程序就像玩游戏闯关一样,同学彼此讨论破关攻略。结对编程,你不会,我教你;我卡关,你帮忙;我设计,你闯关。同时,在互动中增进情谊,学习如何利用团队的力量解决问题。比起老师在讲台上单方面的讲课,同学之间的探讨更容易提高学习效率。
(8)训练孩子的空间思考能力。
在编程中控制游戏人物的过程是训练空间思考能力的一个很棒的方式。仿佛孩子自己在高低起伏中身陷迷宫,在闯关角色中置身于编程世界,在游戏中学习,明白方向感和立体的空间架构。
(9)增进孩子解决问题的能力。
面对一道道关卡的挑战,孩子会不断思考如何利用学到的知识、程序达到闯关的目的。一旦养成这样的习惯,在碰到生活中或其他课业问题时,自然也会试着自己解决。父母只要给予适当的工具和提示,让孩子自己动手、动脑去完成。
(10)Learn to code,code to learn。
学习编程,训练编程的思考方式(Computational Thinking),如同学习阅读一样,在知识爆炸的时代,这是一种基本的能力。从小我们学习怎么阅读,并用阅读学习更多知识;而从小学习怎么写程序、控制电脑,了解的是一种新的学习方式,并且在学习写程序的过程中,刺激孩子的学习积极性。父母再也不用逼着孩子学习数学,因为当他要完成按钮、人物、得分、方向的同时必然需要用到许多数学的技巧,让孩子在编程的同时自主学习。另外,还可以提高孩子的英文能力,编程让接触英文成为自然而然的事情。其他的科目(如音乐、艺术、文学等)一样可以运用在编程的过程中,也就是我们所说的code to learn。