目前国内的儿童和少年编程教育匮乏,小学和中学基本上变成了Office入门培训。这不仅妨碍孩子对计算机的了解,也促成孩子对计算机没有兴趣。 从去年我和儿子尝试用美国麻省理工学院提供的Scratch编程平台学习计算机编程。这是面向全球的计算机科学普及项目。社区和软件都是免费的,提供了多种语言版本。孩子很容易入门。鉴于国内很多家长也没有编程知识,学校不提供编程教育。于是只好自己把这些内容整理成教程,奉献给国内的用户。适合家长和孩子一起学习。

    由于最近Youtube不稳定,教程观看地址放在简德斋http://www.litianbai.com/Site/教子心得/归档.html

    目前的教程分三个部分,从入门到深入的编程技巧。我们会陆续增加新的内容。

    系列一

    你需要给孩子投资一台Mac

    教孩子如何利用Scratch编程 I (一)开始控制角色

    教孩子如何利用Scratch编程 I (二)熟悉舞台和角色

    教孩子如何利用Scratch编程 I (三)舞台背景转换

    教孩子如何利用Scratch编程 I (四)学会使用变量

    教孩子如何利用Scratch编程 I (五) 学习消息机制和更多的控制

    教孩子如何利用Scratch编程 I (六)如何控制更多的角色 系列二

    教孩子如何利用Scratch编程系列 II(一)如何利用键盘控制角色运动

    教孩子如何利用Scratch编程系列 II(二)建立一个追逐的模型

    教孩子如何利用Scratch编程系列 II(三)设置游戏障碍

    教孩子如何利用Scratch编程系列 II(四)设置障碍的第二种方法

    教孩子如何利用Scratch编程系列 II(五)建立一个门的模型

    教孩子如何利用Scratch编程系列 II(六)设置门的行为约束

    教孩子如何利用Scratch编程系列 II(七)学习使用定时器

    教孩子如何利用Scratch编程系列 II(八)如何增加游戏的难度 系列三

    教孩子如何利用Scratch编程系列 III(音乐编程之钢琴的模拟)

    教孩子如何利用Scratch编程系列 III(音乐编程之复杂的电子琴) 将来的孩子必然要把计算机当做自己工作和接触世界的一个重要工具,就如同我们当年通过收音机,电视,图书,杂志来接触一样。做为家长来说,不应该对计算机产生恐惧。而现在大多数家长既想让孩子学习计算机,又不想让孩子沉迷于游戏,或接受不良的互联网文化。某种程度上说,这是一个两难的问题。最好的方法,就是正确的引导和介入。

    从我个人的经验上看,玩计算机游戏,一定不要让孩子玩PC上的游戏,虽然便宜但害处很多,最好前期就介入视频游戏,例如PS2,PS3,Xbox,Wii这类专业游戏机的游戏,一个是便于孩子和家长互动,第二,游戏使用电视,内容也好控制。而视频游戏的体验是全方位的,尤其是Wii,大量运动,只要不沉迷,则可以娱乐身心,提高智力。孩子早接触游戏,就不容易上瘾,当然,家长不要上瘾,否则孩子就要有问题。人对自己熟悉的东西是有把握能力的。现在很多孩子在小学中学期间,不让玩游戏,到了大学玩游戏,这样人就荒废了。

    但游戏不是目的,第二步,就要引导孩子从被动的玩,到主动的创造。因此,这个阶段就要引入计算机编程,让孩子自己编写程序。

    但很多情况下,家长并不知道怎么编写程序,也就没有办法引导孩子,这是一个遗憾。不过,让孩子搞定事情,首先就要自己搞定。这里推荐一下麻省理工学院专为儿童学习计算机提供的开源项目,Scratch。这是一个跨平台基于Java的可视化编程器。熟悉编程的家长可以直接到http://scratch.mit.edu/上下载编程器就可以了。对不熟悉编程的家长,我这里啰唆几句。

    编程是一个相对简单的过程,首先要建立一个控制的概念,例如你要控制一个计算机上的图形,或者角色。建立这个角色后,你就开始控制它,例如,用一个按键动作,来控制移动,之后可以增加更多的控制和角色,相关的案例,可以直接到http://scratch.mit.edu/users/lijuexian 这里直接下载源代码,都是图形的,非常容易理解。

    孩子学习这种编程,一般来说,花上几个小时就可以入门了。之后,孩子的兴趣会越来越浓厚。而自己也可以把自己的成果发布到互联网上,也可以通过这个网络结交更多的朋友,这是一个积极健康的过程。

    一般来说,孩子学习四个月就基本充分掌握这个编程工具了,在这个过程中,最重要的是,孩子理解了计算机工程的基本概念,例如,面向对象,参数,消息,控制,交互等。而这些概念将让孩子可以接触更加深入的真正的编程。

    觉先小同学就在学习两个月之后,开始进行苹果>iPhone的真正编程,而这个过程对很多成年人也是不小的挑战。但孩子编写程序,就像玩游戏一样,只是一个挑战而已。在这个过程中,他会自己加深学习英语,学习更加深入的技术。关键不在于学习了某种特殊的机能,而是在这个过程中,培养孩子独立学习,独立解决问题的能力,而这个创造过程是最让人快乐的。

    觉先的Scratch编程作品集:http://scratch.mit.edu/users/lijuexian