如果你打开过去年12月4日的Google,就会发现它的logo界面变成了一只可爱的Low Poly小兔子,站在方块状的字母LOGO上。就像Google一些暗藏玄机的Logo那样,这其实是一个可以运行的小游戏,游戏的内容则是——通过组织动作模块,让这只小兔子用尽可能少的步数吃到胡萝卜。
游戏的开始是让操作者熟悉模块的含义,比如“前进”“右转”等等指令;在进入第四节之后,对兔子的指令开始复杂了起来,“循环(loop)”的概念也被引入进来,操作者想要让兔子用尽量少的步数吃到萝卜的话,就要学习如何善用指令。
完蛋了,第五关就不OK了不过,这个小游戏并不仅仅只是个游戏而已:它是由——Google Doodle & Google Blockly team和麻省理工学院MIT Scratch三个团队携手完成的一项充满童趣的杰作,其目的是为了向世界上第一个儿童编码教程“Coding for Carrots”致敬。从它在上个世纪60年代诞生至今,已经走过了50年的荏苒岁月,随着计算机技术日新月异的发展,儿童学习编程也变得越发简单和趣味化。
最早把“Code”和“Carrot”联系起来的创造者,或许只是想通过谐音的趣味来帮助孩子们建立对编程的兴趣,不过在此之后,随着计算机技术的普及,越来越多专门面向儿童的语言设计与趣味化教程被建立起来。
主导今天这个“Code Carrot Doodle”的就是来自MIT的Scratch团队,他们的全称是“MIT Media Lab LongLive Kindergarten Team”【“终身幼稚园组”】——始终保持童真般的兴趣与爱好,是他们进行开发作业的前提,这也奠定了Scratch的slogan:“Imagine Program Share”(想像・程序・分享)
发布于2006年的Scratch是针对儿童和零经验编程者的入门级产品,适用于8岁以上用户。用户通过拖曳预先设定好的积木式程序模件,堆栈出指令,设置或控制角色及背景的行动和变化,从而完成程序设计。Scratch 的最终成品并非源代码,而是所有角色的行为和结合——就像你看到的,正在吃萝卜的兔子。
这种寓教于乐的趣味性,使得Scratch在儿童教学中极受欢迎:一方面来说,它用非常形象的色块、符号和指向性的元素代替了枯燥、难以理解的教程;另一方面,编程的结果可以非常直观地以视觉方式呈现在孩子的眼前,更容易激发他们的兴趣。
不过,有趣味并不代表完全不用指导。根据Scratch的推荐内容与教程,他们仍然建议8岁左右的孩子在老师和家长的带领下认识Scratch。虽然孩子不需要认识英语或汉字,就能够按照示例摆出一个完整运行的程序,但对于元素、数组和函数等核心概念的理解,仍然是需要时间的。
玩Scratch的孩子们在模仿的过程中,能接触到条件语句、循环语句、判断、能理解参数和命令的区别,不过最后得到理性的总结肯定是非常困难的,毕竟小孩子难以形成超越常规认识的归纳结论。
无独有偶,Google的Google Blockly也是这样的一款产品。用户可以通过类似玩乐高玩具的方式用一块块图形对象构建出应用程序,每个图形对象都是代码块,用户可以将它们拼接起来,创造出简单功能,然后将一个个简单功能组合起来,构建出一个程序。Blockly模块化的架构方式与Scratch结合起来,就形成了今天Google Doodle的游戏形式。
如果你今天想玩这个小游戏的话,只需访问 “Coding For Kids”就可以了。在Coding for Kids的页面上,还有MIT的计算机科学家Champika Fernando分享的她有关儿童编程学习的想法。
我的第一次编程体验,来自于上个世纪80年代。 那是我 9岁时的一次课外活动,我们编写了一只绿 色的小海龟,在黑色的屏幕上划线,那个编程的语言叫作 Logo。
早在个人电脑(Personal Computer)出现之前,Seymour Papert和MIT的研究人员就开发了Logo,这是为儿童设计的第一种编码语言。借助Logo,孩子们可以编制一只海龟的动作,让他们有机会探索数学与科学。Papert和他的同事们设想,电脑最终可以被所有的孩子用作学习的有力工具。他们认为:通过学习编程,孩子们可以自信而流畅地用这种强大的、现代的、无处不在的技术来进行沟通和交流。
像Logo一样,麻省理工学院在Papert关于孩子和电脑的早期构想之上,开发了Scratch。它并不像一门典型的编程语言那样,被设计得令人望而生畏,但却同样强大和富有表现力。
当Logo被发明出来时,让孩子们在电脑上进行编程这个想法在那时还是不切实际的。事实上,即使在二十世纪八十年代,当我写下第一行代码的时候,我出身于工人阶级的家长也在质疑:编程如何能使9岁的女儿受益?
这是一个10岁男孩用Scratch编制的作品 具备生存类游戏的一切特征 甚至有必杀技和超必杀技今天,计算机几乎应用在我们生活的每一个方面:在家里、在工作中、在口袋里。而我对计算机的早期经验使我相信:我可以用新技术创造,而不仅仅是与他们互动。这些早期的编程经历不仅影响了我的职业生涯,更为我提供了表达思想、影响周围世界的新途径。
在Google担任工程师一段时间之后,我现在在麻省理工学院的Scratch Team工作,在那里我们专注于开发新的方法,让孩子们通过编码创造性地表达自己的想法。
通过Scratch,孩子们可以使用编码块来创建自己的互动故事,游戏和动画。他们还可以在全球数百万其他孩子构成的在线社区里分享他们的项目。我们相信所有的孩子都应该有机会,用这些围绕着我们的技术,来提升他们的信心。
在2017年12月4日,全球有数百万人会体验人生中的第一次编程经历。想到许多9岁的孩子也会在这个游戏中获得编程体验,这使我很高兴。
我希望这初次的编程经历能够吸引人们,并鼓励他们进一步尝试。这或许与我多年前第一次编程的经历是截然不同的,但我仍然希望那种鼓舞与振奋的感受别无二致。
" 贴上一张经典照片 "
“ 计算机要从娃娃抓起 ”
了解更多相关资讯,扫描二维码关注
网友评论