不过对于绝大多数孩子来说,情况也许并不是这样。他们学习编程并非一定要成为程序员,更不一定要为将来创业做准备,但是他们同样能从编程学习中获益,获得多方面的思维训练。
1、逻辑思维的训练
逻辑思维在编程学习中非常重要。逻辑是程序的基石,逻辑是程序的灵魂。遗憾的是在目前国内的必修课教学内容当中,逻辑思维方面的训练是非常缺乏的。这方面的缺失带来很多问题,比如学生在写作中经常会犯基本的逻辑错误,在与别人的辩论中缺乏足够的逻辑能力来支撑自己的论点等等。
编程学习是逻辑思维训练的一个非常有效的方式,因为在这个人造的,边界清晰,自洽的环境中,逻辑的错误导致的结果非常清晰:就是程序没有按照正确的方式运行。这会给学生一个即时的反馈,学生会自然而然的想办法修正自己的逻辑错误。通过这样的反复练习和修正,学生的逻辑思维能力可以得到明显的。
2、语言学习能力的训练
没错,编程语言也是一门语言,不过相对于自然语言来说,它的规则要简单很多,语法也严格很多。 我们知道一门自然语言的学习周期是很长的,而编程语言这些相对简单并且严格的语法规则,对孩子们来说,更像是在学习一门简化的新语言,一门可以与机器交流的语言。而且能获得反馈和交流的乐趣,因为可以让计算机听自己指挥,看到自己的程序实现了自己想要的。
这其实是一个非常神奇的体验,有些像电影《降临》中Louise通过学习外星生物的语言,理解他们的意图并与之交流的那种体验。通过学习这门新的语言,孩子们多了一种自我表达的手段,不但可以让计算机,机器人听自己的指挥,让自己的创造力变成现实,甚至是解决实际的问题。
3、敢于试错的勇气
在编程里面,犯错是常态。可以说编程就是一个不断试错,不断Debug,后终于让程序按照自己的设想运行的过程。相对于其他学科而言,编程的试错,修正,调试周期是非常短的,也就意味着试错成本是非常低的,低到学生们可能都意识不到自己是在不断试错。这样孩子们在潜移默化中内心变的更加强大,能更加平和的面对挫折和失败,并且能够不断尝试各种可能,终解决问题。
这样的学习过程和教育的学习模式颇有不同,教育从很多层面上来说是不鼓励试错的,因为试错的成本很高,这样容易导致学生的心理脆弱,不能正确的面对和处理挫折和失败。相反编程学习的这种学习过程更接近成年后在现实社会习和成长的方式,可以帮助学生在儿童时期就培养起良好的学习心理状态和习惯,而这些是实现终身学习的必备技能。
4、专注力
编程学习是一个要求非常专注的学习过程,这对较低年龄的孩子来说可能是一个挑战。不过编程学习有一个有别于其他学科的巨大就是相对容易实现游戏化学习。
通过类似游戏的角色代入,关卡设置,勋章奖励等手段,可以让学生更加沉浸在编程学习情境之中,更加专注的学习,无形当中了学生的学习专注力。所以对儿童编程学习而言,不论是由教师来现场授课,还是通过软件工具来进行引导式学习,好的教学方式就是游戏化教学方式。