查看原文
其他

这是工程师爸爸总结的从启蒙到进阶,最好的儿童编程指南在这儿!小小程序猿诞生记!

2017-03-07 枣妈和恺摩

枣妈和您一起陪伴孩子的成长


枣妈的粉丝群体里有很多工程师爸爸,就是昔日的程序猿,而今一把把做了爸爸,因为自己职业的缘故,经常问起该如何启蒙儿童编程了?


作为STEM(Science,Technology,Engineering,Maths)教育中的一门重要项目,它已经变得越来越热门,资源也越来越多。



虽说身边很多朋友的孩子都在玩,但是都是借助培训机构,其实如果你是位“爱折腾”,喜欢和孩子一起创新学习的家长,完全可以自己在家陪孩子玩编程。




01


为什么儿童要学习编程?


编程可以驱动孩子的创造力和创新精神。

科技在高速发展,孩子们看到世界每天都在发生着变化,电子产品,机器人,虚拟现实,这些事物都会让他们觉得神奇,从而想到“我能够做些什么?”而编程成为了一个入口,让他们有机会接触和操控。编程也会提高孩子的学习兴趣和自信心。通过自己的努力,做出一个个生动的小程序,得到家人和朋友的肯定,再转换为更强的学习动力。


编程毫无疑问对数学能力会有帮助。

年底和Jamie老师的谈话时,他的数学老师主动提到今年会给Jamie的数学学习再“加点料”,其中之一就是让他学习编程。编程为数学学习提供了一个实际的游戏场,那些运算和推理,都可以在编程中实践,同时也让孩子用一种更加有趣的方式来学习逻辑思考,培养problem-solving解决问题的能力。


未来编程可能会成为一种非常基础的技能

很多我们身边的物品也许都会带有可定制调节的编程模块作为接口,让你用简单的拖拽和配置就可以自己编一个小程序实现一些复杂的功能。就像你用螺丝刀去组装一件家具一样,编程将成为高科技产品背后的使用工具。而且在编程的过程中,也能培养孩子的耐心。




Facebook的创始人Mark Zuckerberg也是著名的编程网站code.org的投资人。他的建议是“In fifteen year we'll be teaching programming just like reading and writing... and wondering why we didn't do it sooner.”

“15年后我们会像教阅读和写作一样教编程,那么为什么我们不早一点就这么做。”事实上在国外,越来越多的学校开始把编程纳入他们的日常教学中了。


给孩子的编程,不用着重于程序语言本身,重要的是教会孩子编程的思想。所以,不要用枯燥生硬的方式去给孩子教编程,启蒙一定要从“玩”编程开始。所以,告诉自己的孩子,“别去玩游戏了,自己编一个怎么样?”


02


Code.org 

如果你的孩子从未接触过任何编程,Code.org是个不错的入口,尤其是在4~6岁这样的年纪,可以尽情玩上一段时间再开始更加系统地学习。Code.org也在全球都有他们的合作伙伴,组织各种Hour of Code编程一小时的活动。

在主页上找到Hour of Code的链接或是直接在浏览器中输入https://code.org/learn,可以看到所有的编程游戏。你可以根据孩子的年纪和喜好筛选。最好先注册一下这样可以在中断后继续,并且可以打印孩子的完成证书。



这些游戏都带有教学和指导,注意它们标注的分类。比如下面这个Star Wars
写着“Blocks, JavaScript"表示这个教学游戏是积木模块的形式,并涵盖一些JavaScript(一种常用的编程语言)的内容。


而这个make music因为标注了“Blocks, Scratch”,则是会在运行后直接打开网络版的Scratch编程平台。



刚开始建议大家都选择带有“Blocks”字样的游戏,这种像搭积木一样的编程方式会让孩子很容易接受,主题也很丰富。初学者常玩的有:

Write your first computer program



最经典的一个,小扎的讲解,以愤怒的小鸟为背景,介绍的都是基础指令。



Moana:Wayfinding with Code


海洋奇缘的背景,Moana和Maui乘着小船探路打鱼。



Minecraft Hour of Code


为Minecraft(我的世界)的小粉丝准备的编程冒险。


另外,Code.org是多国语言版,但还是建议大家尽量看英文的,现实生活中真正的编程毕竟都是用英文的啊。


03


Scratch

玩过了Hour of Code,我们终于开始稍微系统一点的学习了。麻省理工开发的这件模块化编程工具Sratch现在已经成为儿童编程界的标杆产品。它是那样简单方便,你可以直接在线使用,上传或下载你的项目;也可以在你的电脑上安装一个客户端离线使用。注册登录后,你可以把自己的作品分享给别人。

在浏览器中https://scratch.mit.edu/可以看到网站的界面。



点击Create后就进入主界面了,左边是可以看到程序运行后的成果的舞台,中间的面板上有所有的程序命令,场景设置和声效设置;接着就是你可以把命令拖拽上来的编程区域了。最右边是各种教程,可以跟着一步步学习。



如果想要更加系统地学习,点击主页的Help菜单,找到下面这段。基本上你想要的入门指南都在这儿了。



Getting Started Guide提供了一个详细的PDF教学文档作为入门介绍。



Scratch Cards中提供了很多可以打印的小项目,打印出来做成卡片,折叠后一面是题目,一面是解答方法。先让孩子试着自己完成,如果觉得困难再看答案。


Video Tutorials中则是一组视频教学,更加直观展现Scrath的基本功能。



如果要学模块编程的话,code.org和Scratch就已经够了。Scratch上的功能已经比较完善,可以做出一些有意义的项目。孩子可以用它讲述一个故事,或是做一个有交互功能的小游戏。对于大一点的孩子,如果想学习更接近真实的代码编程话,接着看,下面这个是个不错的选择。



04


Swift Playgrounds

Swift是苹果公司的一项编程语言。它语法简洁,功能强大,用于苹果Mac电脑,iOS和Apple Watch等平台上的开发。这可是真正的程序员也会用的编程,真的可以让孩子也去学吗?答案是Yes,这要得益于苹果在iPAD上的这款应用 - Swift Playgrounds。你在苹果的应用商店里可以找到它,并能免费使用。



安装后在My Playgrounds的界面里你可以看到Learn to Code1和Learn to Code2。这是两套系统学习Swift的教程,有趣又详尽。8岁以上,有一定英文阅读能力的孩子完全可以从Learn to Code1开始学习。



Jamie去年参加了苹果店的Swift活动,第一次接触到真正的文字编程,他一下子就被吸引。当天也有成年人也来参加学习。



在Learn to Code1里,你需要通过输入指令让小人收集到所有的宝石。你发现你用的那些语句和在Code.org里的一些模块几乎无异,只是从图块换成了代码。



你可以学到一些更高阶的编程方法和技巧。比如什么是functions(功能函数),这个程序员都知道的概念。在Swift Playgrounds里,它用了一个简单易懂的例子来说明,孩子一看就懂。



一个简单的任务,比如系鞋带,也有一系列的步骤。



把这些步骤按顺序组合到一起,起个名字,一个function就写好了。你可以随时在代码里调用它。



接着就开始实战了,先想好小人儿的行动中会重复行动的规律,以此来定义出一个function。开始还担心孩子不能理解,但Jamie做完后对我说,“妈妈,好多地方都有用到function。快餐店的阿姨做汉堡其实就是一个function,把面包打开,放上生菜,再放上肉。每一次有人要汉堡时,她就运行这个function就可以了。”

条件语句,循环语句等等在教程中都有涉及,既考验了孩子的阅读能力,又考验了逻辑思维能力。




教程中的小人摇晃着胖胖的身躯前进,如果你的代码没写对,不小心让他走到路的边缘,他还会很夸张地挥舞着手臂试着不掉下去,非常可爱好笑。



05


Makeblock机器人

说到现在,我们都是在屏幕上展示编程结果,如果想把自己编的程序和实物硬件连接起来,编程机器人可能是最好的选择。去年回国,孩子们的大舅舅送给他们一件礼物,就是这款Makeblock的mBot机器人。


回来后一试用,真的是太好玩了,做工不错,操作简单,说它是最好的启蒙编程机器人也不为过。而且价格亲民,淘宝上大概500多人民币,它的高级版mBot Ranger也不过1000块人民币不到,比起那些动辄几千块的产品实惠多了。另有多个扩展包可以选。


mBot有几种玩法,一种是作为普通的遥控小车,用遥控器操纵。它还有自动巡线移动功能,你可以制作自己的路径让他去遵循。还有一种模式是自动壁障,遇到障碍物会自行改道。



当然最最耐玩的还是使用编程模式来玩mBot。你可以在电脑端或是iPad端进行编程。

如果使用电脑端的话,在http://www.mblock.cc/download/可以下载到它的编程工具mBlock。它是基于Scratch的,所以你的孩子如果已经很熟悉scratch编程的话,用它也不会是什么问题。你可以随机附带的usb线或是蓝牙来连接电脑和mBot。


在中间的指令面板上多出了一项Robots,专为mBot的命令都集中在这儿。



除了对小车的行动进行操作,你还可以控制它的主板mCore上的一些设备。比如蜂鸣器,或是LED灯。

下面这个简单的代码就是把面板上两个LED灯设置两次不同颜色,再把这个过程循环10次,就变成小灯闪烁的效果了。



实拍效果如下。

https://v.qq.com/txp/iframe/player.html?vid=s1313iox2yz&width=500&height=375&auto=0


mBlock是多语言版,你可以自由选择语言,包括中文。



实际操作时不可能让小车一直离电脑很近,所以使用App也是个不错的选择。在苹果应用商店里搜索mBlock后可以找到这个。



有两种模式可选,Story故事模式适合初学者,是可以根据提示一边学一边玩,闯关形式。而Creative创新模式则可以创建自己的程序项目。



在故事模式下,App提示你放上两个模块来让小车前进和后退。你可以设置小车行进的时长和速度。



按下运行键后,就可以看到mBot的运动了。


https://v.qq.com/txp/iframe/player.html?vid=d1313jvq8zz&width=500&height=375&auto=0

mBot的功能比较适合小学中低年级,高年级和中学生可以用更强大的mBot Ranger。


06

编程桌游


除了以上的介绍,在手机和平板设备商上我们还能找到不少免费的编程小应用和游戏。比如平板上的ScratchJr


安卓系统上的Codeable Crafts等等。


但实际上我们的屏幕时间已经很充足了,接下来我们玩点不插电的编程活动吧。

先是我们以前介绍过Thinkfun的这两款编程桌游。

Robot Turtles - 机器乌龟,适合4岁以上2-5人共同游戏。让年纪小的孩子也能理解最基本的编程原理。


Code Master - 代码大师,虽然这款的建议年龄是8+,但就实际来看6岁以上的孩子就可以玩了。它是款单人闯关游戏,我个人比较喜欢,真的需要用到逻辑思维,大人玩也不会觉得太无聊。



Robot Wars Coding Board Game - 由一家叫做Card Board Learning出品,这款桌游真的是正儿八经在学编程,里面卡片上的命令都是用Java (一种编程语言)写的。适合7岁以上,2~4人游戏。




07

编程书籍


“码农”爸爸John C. Vanden-Heuvel一口气出了多本幼儿网页设计启蒙书:《宝宝的HTML》《宝宝的CSS》《宝宝的网页设计2.0》······ 根本停不下来。热心读者留言道:“自从买了这本书,我家宝宝再也不在冰箱和墙上乱画了,天天写code。”




为了有助于对我国儿童进行编程启蒙,我们中国科学技术大学出版社継《宝宝的物理学》和《美丽数学》之后,又特地引进出版了全球首套宝宝编程启蒙书一一《宝宝的编程》。 



《宝宝的网页设计》套装




共三册,适读年龄0+。

《宝宝的HTML》,我们看到的所有网站都是用HTML语言编写的,很有用;《宝宝的CSS》,告诉宝宝们如何定义网页的格式;《宝宝的Javascript》,可以用来控制网页的“动作”。学了这些内容,宝宝们就可以设计出漂亮的网页了!



《宝宝的编程》套装



共四册,适读年龄3+。《宝宝的网页设计2.0》是上面三本图书的进阶版,讲述了三个小朋友一起合作制作网页的故事,可爱的卡通图案会进一步抓住宝宝的兴趣,内容也会更加深入一些。《宝宝的网页ABC》按照英文字母的顺序,用一段充满韵律的小诗来介绍网页中常见概念。《宝宝的网页颜色》给宝宝们讲解我们手机、电脑中看到的颜色是怎么实现的。《宝宝的C++》是C++的编程入门,宝宝们可以看到一个个的小程序,并观看运行的结果。学了这一课,你的宝宝绝对是名副其实的“小程序猿”啦!



参考网站:

http://code.org

https://www.commonsense.org/


 END -


枣妈朋友圈分享更多育儿资讯

感兴趣请添加枣妈个人微信


枣妈推荐相关阅读

我要下载 | 让孩子学好拼音/汉字/成语,这一套大容量资源就够了!(3-12岁)

我要下载 | 适合3岁到成人的7套原版有趣的英语语法教材

我要下载 | 2017年涂色月历模板5种类型超过50张,和孩子一起涂涂涂迎接新年!

我要下载 | 最全寒假作息时间表模板,包括作息时间,阅读计划,旅行计划,奖励计划。。。快和孩子一起安排起来吧!



枣妈和恺摩


Hi,大家好,我是枣枣,是一个刚上小学的大孩子了,家里住着一只聪明可爱的小狗狗叫Floopy,是我的好朋友。

我也是钢琴、画画、手工圈里低调的小达人。只不过我还没有微信,大家可以加我妈妈(枣妈:Julycheng),围观我跟Floopy的幸福生活。lovekidsmore

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存