每堂课孩子的数量都是四个,男生和女生混搭。他们的年龄从7岁到10岁不等,在俱乐部期间我要为他们上三堂90分钟的课程。我组织俱乐部,带领他们进入编程的世界。
第一周: 从小的方面思考
编程是把大问题缩减为一些小的、容易解决的问题。所以我把孩子两个一对分到两台我从家里带来的mac机前面,我们使用iStopMotion来建立stop-motioin动画。这教给他们用小的步骤来思考问题,并且同时他们熟悉了电脑。最好的是,这很有趣。我用quicktime pro记录下孩子的旁白,并压制成电影。在接下来的周末时间,我用iDVD烧制movie,这样孩子们就可以向他们的家长显示他们的作品了。
第二周:LOGO
在第二周里,每个孩子领到学校的一台台式机,我们学习用logo进行编程(明确的说是mswlogo,对于它我有着复杂的感情)。我给他们一些作弊纸(cheet sheet),上面写了前进、后退、向左、向右等等命令。我让他们画盒子,之后画一些常见的形状比如五角形和八角形。高级班的孩子开始制作笑脸符号。
第三周:运动(motion)
我买了个乐高Mindstorms NX kit(非常害怕我的妻子发现,她总是像只鹰似的盯着我信用卡的活动迹象),课堂的高潮就是开始摆弄这个机器。我带来一个基本的机器人,当我要求他们用它来完成不同的任务时,他们往其中加入传感器和新的马达。任何某个时候我只能使其中的一半学会玩机器人,另一半则在爱丽丝的虚拟世界里学习面向对象编程。

总的来说,我认为进展很不错。我使三个女孩和一个男孩真正对编程产生兴趣,这表示效果有50%奏效(represented half the intake)。那些孩子现在知道(a)他们能编程 (b)哪里能找到更多资料。那些不喜欢编程的孩子至少知道编程是可能的并且并不难(只是详细-聚焦罢了,有时候不如出去到处跑有意思)。所有有价值的课程。
我也学习课程。首要地:只是Mindstorms kit还不够!孩子们能很容易花整三周时间建造它们并对它们编程。甚至一对孩子玩机器人,同时另一对孩子在爱丽丝世界里编程,用爱丽丝的孩子总感觉他们受到不平等对待了。不幸的是我不可能选择再买一个kit了(事实上,这个mindstorms kit是为我7岁的儿子“早早准备的圣诞礼物”,我为了上课直接偷出来了)。
我也知道没有许多伟大的软件编程指导。我看python、pygame、perl以及一些mac logo解释器,它们对7岁孩子而言太难了。那个年龄的孩子可以点击键盘、可以使用网络,他们打开关闭窗口,除了保存和切换窗口以及记住#!符号和... 所有那些废物挡住了编程教学。这就像你在教某人阅读之前让他写论文一样:是的,论文很重要,但是那不是练习的目标。当David想起简洁的行模式的BASIC语言时,他搞清楚了这些。
流行的BASIC等价物是交互式解释器,比如难以置信的交互式Ruby学习指南。作为Radar上的新人,Gabriel Williams在内部邮件里指出,它们主要为了测试和原型(prototype),但是它们也是学习新语言的杰出工具。对于我,让这些7到10岁的孩子使用这些指南的唯一问题是,单纯的语言不能提供足够的吸引力-- 图形和视频看起来很低级,这让孩子们在因排版错误(typos)、难懂的数学或其他原因不可避免地产生挫折感时仍有激情持续学习。我认为它大概会有效,虽然我发现的系统是开源的( I think it probably is telling, though, that the only systems I found were open source.)。
你什么好系统孩子可以用来进行初级编程的么?我想知道- 在回复里告诉我。
译者注:老雷兄弟给乐高产品的解释:
忍不住要介绍一下乐高(Lego)的MindStorm ( mindstorms.lego.com/ )
这 可能是每个男孩子(当然女孩子里也有技术爱好者了)的终极玩具了。这是一个自己组装机器人的智能玩具。主要组件有一个32位微处理器(就是一台计算机 了),若干步进电机,若干传感器(声、光、超声波等等),机械部件,和与计算机连接的输入输出设备。用这些组件可以做成各种可编程的,智能化的机器人。
如果能看youtube的话,请看这段录像: youtube.com
本文版权所有,未经许可,请勿转载
内容合作请 联系我们









为什么小johnny不能编程?







ppip 榜眼 | Blog | 2007年01月24日
对小孩的问题,对大人一样的存在。
雷声大雨点大 大学士 | Blog | 2007年01月25日
忍不住要介绍一下乐高(Lego)的MindStorm ( http://mindstorms.lego.com/ )
这可能是每个男孩子(当然女孩子里也有技术爱好者了)的终极玩具了。这是一个自己组装机器人的智能玩具。主要组件有一个32位微处理器(就是一台计算机了),若干步进电机,若干传感器(声、光、超声波等等),机械部件,和与计算机连接的输入输出设备。用这些组件可以做成各种可编程的,智能化的机器人。
如果能看youtube的话,请看这段录像:
http://youtube.com/watch?v=XKcXFpjEG9s&mode=related&search=
拙尘 大学士 | Blog | 2007年01月25日
我从小的梦想就是做机器人,一直到大学毕业后还在搞硬件。后来梦想破灭,才写软件——其实软件也不是我到这边后学的专业。
gasolin 童生 | Blog | 2007年09月03日
可以试试看相容繁简中文的周蟒 (zhpy) 中文编程, 包含全功能的中文 Python 语言/交互直译器.
http://code.google.com/p/zhpy/