儿童学编程的原因以及方法 (2)
Scratch(Web,免费):这是一个由麻省理工学院推出的专门为8至16岁的儿童设计的项目,Scratch已被世界各地的教育者和家长使用,以帮助孩子们通过拖放代码块的方式来开发动画、互动故事和游戏。这是我在几年前参加编程课程时介绍给女儿的第一个编程工具。我记得我对女儿说:“嗨,Elise,改一下这个代码块,我可以让这只狗像猫一样喵喵叫。”。从那以后,她就迷上了这个应用程序。
Scratch仍然是我们最喜欢的编程工具,主要是因为它提供了非常多的控件。它跟前面提到的Hopscotch类似,但是更强大;跟App Inventor也很像(下文会提到),但是用户界面更友好。在Scratch中,有一个超级大的对象库可以使用或定制。 (不要低估孩子对这个角色进行着色的重要性)。由于包含了大量的方法,你可以让他们做任何事情。 Elise想做一个名为“蜘蛛奔跑”的游戏(就跟神庙逃亡差不多,但改成了机械蜘蛛追赶你,并且地上有钉子,能让你减慢速度),而且到目前为止,我们讨论过的可以实现这个游戏唯一的工具就是Scratch。尽管不能把游戏转成手机移动程序,但你孩子的可以保存到网上,并在网上分享。
Stencyl(Windows、Mac、Lunux;免费):Scratch是我们目前最喜爱的程序,但是自从在Thorin Klosowski上知道了Stencyl之后,我们就打算要用用这个试试。它向“Scratch”表示了敬意,但专门为创建游戏而设计,并可以发布到每个平台上(iOS,Android,Flash,HTML5,Windows和Mac)。使用Stencyl创造了超过12,000个游戏,我迫不及待地想去尝试了。
其他建议:Google+上的Robert Hirsch还有一些其他的建议(基于iPad):
DynamicArt [$2.99]很像scratch,但更侧重于制作程序图纸。
Kodable [免费]是一款非常适合小孩子的应用程序,它通过让孩子编程来解决谜题。
还有一个类似的应用程序叫做A.L.E.X [免费],你可以控制机器人做一些动作。
Codea [$9.99],一个iPad上的Lua解释器,我不认为这个适合7岁的孩子。它包含了许多很酷的东西,但它是面向对象的,这可能对于一个孩子来说这个有点难,除非你碰巧知道Lua。
为年龄更大的儿童(或者心理年龄比较年轻的成人)准备的更强大的编程工具
以下介绍的应用程序更为先进,侧重于编码本身,并通过可视化的界面来展示其工作原理。
App Inventor(Web,免费):以前是Google的一个项目,现在由MIT托管。App Inventor像Scratch一样,可以拖放代码块。然而,它包括了用来创建Android应用程序所需的所有方法、功能和其他编程元素。在使用App Inventor开发后,你最终会得到一个真正的Android应用程序。
这款在线工具真的非常强大,但是界面对年幼的孩子来说并不友好。对于至少初中以上(或大人)的孩子来说,这可能是最好的,没有指引,而且功能的使用并不直观。
Alice(Windows,Mac,Linux;免费):这款Carnegie Melon开发的运行在Windows、Mac和Linux平台上的桌面应用程序使用了独特的3D编程环境来教孩子编程基础。它比其他针对小孩的编程工具更先进,对于年龄较大的孩子来说也是如此。它有一个受欢迎的功能:孩子们可以在软件中看到项目背后的代码。有一个不受欢迎的地方:你需要Java Runtime才能运行Alice。
来自Pluralsight的视频课程(Web,免费):在线培训网站Pluralsight为孩子们提供了三个视频课程,教他们如何在Visual Basic、Scratch、App Inventor中用C#进行编程。如果你孩子的年龄足够大,可以坐着看完视频教程,那么这些视频可以为他们的动手训练做补充。
Codecademy和Khan Academy(Web,免费):这些互动的在线工具更适合于年龄较大的孩子(可能是中年级及以上)和大人。但是,它们是学习代码的最佳方式之一,因为你可以在分屏中看到内容更改后的效果。Codecademy包含了Web方面的基础知识,jQuery、Java、Python、Ruby、PHP等。Khan Academy的编程环境使用的是Java。