[TOC]
为孩子选择一本合适的编程教材是一件很难的事情,我想这对所有的家长都是一件难事。既要能够吸引他们的注意力,又要在游戏当中让他们学到一些东西。我曾试着在网上找一些资料教小元一些编程的知识,例如,麻省理工大学的`Scratch`、`Scratch`是我知道的最早的面向孩子的编程平台,最近几年微软公司又推出了[编程一小时平台](https://code.org/),和`Scratch`蛮像的,这些编程平台都是免费的,也都有中文版的(我教小元时还都是英文版的,他那时还小,并不觉着是件困难的事情)。
[TOC]
下面是麻省理工大学的`Scratch`[https://beta.scratch.mit.edu](https://beta.scratch.mit.edu)的截图。如果家长有时间的话,可以和孩子一起玩。
![Scratch的效果](https://box.kancloud.cn/0b759e8f526b8e1196dd49070da92670_1366x768.png)
[TOC]
下面是微软公司[编程一小时平台](https://code.org/)的截图,和`Scratch`不同的是,它提供了源代码,有了源代码,就和编程很近了,不过会稍晚难一些。
![](https://box.kancloud.cn/01fe4e0c62d09b731c306d286d841009_1366x768.png)
[TOC]
我也比较了国内的一些青少年编程教育机构的课程内容,发现他们也都使用`Scratch`和 [编程一小时平台](https://code.org/) 的课程。
下面是从小码王网站上的截图,我公司楼下就有一家小码王,环境很好,用`Mac`教学,我有时候去楼下洗手间,会顺便看看这间公司,周一~周五,没什么学生来,周六、周日加班的时候,学生也不多,而且一般都有家长陪伴。下面这张图,我是不太信服的,我也是从事软件工作的,`Scatch`是不需要有计算机基础的,任何人都可以玩,至于工作忙无法持续教导,这点我确实有些残酷,我在家里看手机的时间,确实比陪伴孩子的时间长,这点我老婆常常批评我,小元甚至把这件事写进作文里,所以,我想我得花点时间在小元身上,希望能稍许改变爸爸在他心目中的印象。
![](https://box.kancloud.cn/65bc6b13a9dd6332400ce8b7afa1717b_650x379.png)
[TOC]
教孩子编程,在课程设计上要花点心思。例如,除了`Scratch`,
小码王还提供了`Python`、`App Inventor`、`C++`的课程设计。
![](https://box.kancloud.cn/b474a7b1575aa852bcaff3c4b714570b_995x578.png)
我觉着这里面有些不合理的地方。`App Inventor`课程教的是`Andriod`编程,用于安卓操作系统的应用开发,我刚提到,我楼下小码王用的都是`Mac`教学,`Mac`对应的是苹果的`IOS`操作系统,`IOS`操作系统有专门的应用开发语言`Swift`,在`Mac`上开发安卓应用,多少有些奇葩。`C++`我就严重吐槽了,这种语言在计算界确实是一门无比强大的语言,但掌握好这门语言确实相当的不容易,对成年人是极大的挑战,更何况是11岁~16岁的孩子。`C++`主要应用在大型网络游戏上,这些场景对程序的性能要求比较高,例如,几千人同时在线玩游戏,确实得用`C++`程序。如果,不是想学习做王者荣耀之类的游戏,我就不建议孩子去学习`C++`了。
把`Scratch`和`Python`作为课程还是很合理的。计算机行业有句话是“人生苦短,快学`Python`”,`Python`确实是一门老少咸宜、简单灵活、应用广泛的计算机语言。下图是计算机行业今年1月编程语言的排名,一般对计算机友好、对人类不友好的语言都排在前面,且名次基本固定,例如JAVA一直排名第一,对人类友好、对计算机不友好的语言基本排在后面,且变化比较大,像`Python`这种即对计算机友好、又对人类友好的语言,其实是不多的,值得大小朋友们学习。
![](https://box.kancloud.cn/6b041cf39086aff21edd514ab27e4d99_500x433.png)