过早学工业级编程语言是个大坑,因为工业级语言的使用场景跟孩子们入门启蒙完全不同。
什么是好的入门级儿童编程语言?我认为是:
1)孩子能轻松学会,入门简单。
2)容易完成作品,错误少,成就感强;
3)有能玩得开心的应用场景。比如,机器人和乐高教育虽然不是编程,但是勉强符合前三点特征,所以有很多家长愿意花钱,因为孩子玩得开心。
我强烈推荐Scratch编程。
如果是幼儿园的孩子,建议从http://Code.org上的练习开始,了解编程的基本概念,在玩中学习逻辑、循环等。
Scratch在学的过程中,可以从模仿和改编开始。找到Scratch官网上的好的动画和游戏,改改看,再试试原创。
由于很多Scratch作品都需要加声音和动画,就需要对图片进行处理,那么孩子们也顺便学会PhotoShop的简单操作。
除此之外,还可以学了一些网站相关的技术,比如内容编辑、HTML,JS等,自己找个Wordpress部署一下,稍微编辑下就能做一个孩子自己的个人网站。很有成就感。
大一点了,可以根据项目需求来找一些工业级的编程语言,我推荐Python编程。
10个最佳实践建议
1)用http://code.org入门。5岁-8岁的孩子,可以先尝试下http://code.org上面的一些非常基础的关卡,联系完成二十个关卡,就基本上对最初级的编程的概念(顺序、循环、条件)非常了解了。
2)自学Scratch。如果在http://code.org上的任务都基本上玩过了,那就可以开始学习下Scratch。Scratch初期完全可以自学。家长也可以一起来自学。
3)家长经常去设立一些小目标,让孩子既能够做到,但是又稍许有点挑战,通过这样的小目标的设定,让他们不断的能够自我驱动学习。
4)家长高质量陪伴。有时候需要家长,在孩子旁边进行陪伴,给他提供一些非常具体的建议,才能改进自己的作品,他会觉得非常满意,而且成长也很快。虽然这些建议并不需要在代码上面,家教很懂,而是在可玩性上面,在视觉方面,在互动性方面给出些建议就好,这些即便不是学计算机的家长也同样能够得出。
5)教学相长。孩子如果掌握了一些Scratch或python编程技能,可以教大人或其他小朋友来学编程,这样更能刺激他掌握更多学习的基础知识。比如妈妈可以很好学地让孩子教。
6)让孩子多跟其他编程的孩子交流。孩子们学了以后也需要找其他孩子一起交流,甚至竞争比较,利用孩子们的好胜心,可以促进自主学习。
7)多参观体验科技应用。越早接触到一些实际的科技化应用。越能让孩子们领会到科技的魅力,而不断去探究其原理,积极尝试。
8)参加科技创新大赛。各地区都有这类比赛,通过参加这些比赛,跟其他孩子同台比较,也能及时看到自己的能力和进步,如果能获奖,则在升学教育体制中也获得了很好的筹码,在上海的话,会在名校自招名额方面有体现,同等成绩下,被录取优势更大。
9)多去参加专门的科技夏令营。国外有不少专业的科技夏令营,特别是美国很多,有条件的家长可以让孩子去参加。如果不能参加,至少要会科学上网,看一些在youtube上的各类视频,了解国外孩子们的教育模式和科技水平。
10)跟孩子一起探讨,设立一个长远目标。比如,做最棒的游戏工程师,做一个天才的人工智能等。把眼前的学习跟这个目标关联,并进行计划分解。虽然实现还很渺茫,但是这个梦想会激励他一直坚持。
可以参考我这篇文章:从《20几岁凭什么改变世界:扎克伯格传》看儿童计算机教育
我在知乎上有个Live:知乎 Live - 教孩子编程,从玩游戏到编游戏,专门讲一些具体的实践,欢迎来参加。