望子成龙、望女成凤的每个父母亲的心愿,如今拜移动大潮所赐,随处可见的平板、智能手机、智能TV充斥着我们的眼球,不只是大人,就连小孩都喜欢抱着平板在那“切西瓜”、体验“神庙大逃亡”带来的惊险刺激之感。在玩的同时你有想过让自己的孩子也动手开发一款属于自己的App应用吗?
作者Nat Brown认为,年龄不是问题,儿童也能学编程, 学编程就像打篮球、踢足球、弹钢琴一样也是必备的技能。
文章内容如下:
我有一个12岁的儿子和一个8岁的女儿,和天下所有的父母一样,我也希望我的儿女能成为一名伟大的人,伟大的读者,伟大的数学家、科学家,做自己感兴趣的事情。作为一名资深程序员,我希望他们能成为一名伟大的程序员,开发出伟大的应用,我不希望他们只成为盲目的“消费者”。
作为一名技术人员,我经常与父母、老师、朋友讨论有关年幼儿童学习编程的计划及“screen time"的问题。
Screen Time:Creating vs. Consuming
我想很多父母会担心孩子在电脑上花费很多时间,前提是要弄清楚究竟他们是在“创造”还是使用电脑、平板、智能手机甚至是电视在“消费”。
大多数父母选择给孩子设置屏幕时间,比如每天15分钟,有的甚至是每周只能玩一次。对此,我表示赞成,包括玩游戏、观看娱乐视频以及视频游戏等,根据不同的家庭情况设定限制。(我的家人大部分都喜欢阅读,我们不看TV,周末通常我们会玩xBox+Kinect和iPad上的游戏,周五或周六会有一个“电影之夜”,我们不会在屏幕上花费太多时间。)
然而,在现实生活中,我们每天对着电脑工作,包括创建或添加表格,写电子邮件,写备忘录等等。因此,电脑俨然成为我们工作的 必备工具,熟悉如何使用电脑已成为我们必备技能。不只是大人,这也是孩子们所必备的。因此,适当的让孩子在电脑上无限制的“开发、创建”也是形势发展所趋。比如,汇编程序、编写程序、高质量的教育计划、编程、视频编辑、制作幻灯片等等都应该让孩子去学习,这就好比让他们去学习打篮球、踢足球、学钢琴、享受艺术、唱歌等这些基本的技能。
在我的家庭里,我允许我的孩子在电脑上(在学校没有其他工作情况下)可以做些一些其他活动)包括:
制作幻灯片,使用家庭照片/视频或者是他们自己拍摄的照片/视频制作幻灯片;
使用计算机上的网络摄像头或者其他艺术项目制作静帧视频,这里推荐使用iStopMotion;
绘画/制作各种编程图案,推荐使用Pixelmator或者其他iPad应用均可;
通过应用程序来写故事/信;
使用Blender创建3D模型或者动画;
学习编程工具。
儿童也能学编程
如今,网络上有许多不错的工具来帮助孩子们学习计算机编程。但不幸的是,这些工具都不是年幼儿童的入门好帮手。因此,你必须因人而异、因地制宜,找到符合儿童年龄阶段的学习工具,才能事半功倍。
我的儿子现在12岁了,(下面提到的)几乎一半的工具已经使用过,5岁时开始使用Scratch,现在使用StencylWorks和 XCode来开发iPhone/iPad的应用;我的9岁女儿已经尝试过很多,但是编程并未引起她的兴趣(我正在努力帮助她)。
下面我将分享几款编程学习工具:
Scratch是年幼儿童从零开始学习的最好的一款工具,通过点击并拖拽的方式,完成编程,可以使儿童或者成人编程初学者学习编程基础概念等。因为它是可视化的,能够轻松帮助儿童创建图形化应用,可基于Web网页查看;此外,它还有个庞大的儿童社区,在相关的Web网站上分享他们的项目。每一款Scratch项目你都都可以下载、查看它们是如何运行的,也可在此基础上进行更改。这款工具就如同我们在GitHub分享开源项目或者在论坛、IRC、StackOverflow 上提出问答。
CargoBot专为iPad而设计;RoboLogic适用于iPhone和iPad;MoveTheTurtle 帮助儿童学习如何编程以及思考如何通过逻辑来完成任务。以编程为乐趣,让年轻的孩子们在玩中学习更多知识。
Codea我对Codea还没什么经验,我的孩子也不曾使用过它。因此,这里我不做评论。
CrunchZilla的CodeMonster和CodeMaven。这些是我的一个朋友所开发,他也意识到年幼的孩子缺少这些学习工具,这些都是简单的教学教程。这里推荐下 CodeMonster 比较适合年幼 的儿童;利用CodeMaven学习JavaScript语言,基于此可以与儿童之间进行互动,步步教学。
Khan Academy包含计算机教程,比如一个简单的编程语言JavaScript,专注于绘画,非常适合年幼儿童。
Stencyl这是一款相对复杂的工具,经验丰富的Scratch用户可以在成人的帮助下一步一步进行操作。你可以使用Stencyl给自己的网站创建“flash”游戏,使该游戏运行在iPhone/iPad、Android设备上,这也是其吸引儿童想要创建与朋友分享的一款应用的主要原因。最近,我的儿子开始积极使用Stencyl,为了弄清楚这款工具,也花费了我们不少时间。该工具涵盖了大量的用户体验并且简单实用。
我会鼓励我的孩子使用这些工具,通过Scratch学习编程方面的知识,比如什么是循环、变量等,这些是我目前的一些想法与建议。希望通过这些微小的方式能够对你有所启迪,智能设备不只是用来玩的,为自己的儿女铸就一个开发之梦,就从此时此刻开始吧!