儿童编程入门-Scratch简介

网友投稿 2018-06-03 17:29

有一个老笑话,是关于程序员的:

某程序员退休后决定练习书法,于是重金购买文房四宝。一日,饭后突生雅兴,一番研墨拟纸,并点上檀香。定神片刻,泼墨挥毫,郑重地写下一行字:Hello World!

哈哈,如果你笑了,那你就不但暴露了职业,还暴露了年龄!不要小看这个"Hello World!",这可是大龄程序员入门的必经之路啊!奶爸邓博士还记得自己当年在一台单色的显示器,努力的敲入了几行代码,然后看着屏幕上输出了“Hello World!”时的激动表情(一条码农的不归路从此缓缓展开....)

https://cdn.china-scratch.com/timg/180605/1H91035Q-0.jpg

话说回来,如果现在给小鱼同学还用这种方法来教编程的话,估计小鱼同学早就暴走了!伴随着乐高和iPad长大的孩子们,怎么能还用这么老土的办法呢?我们自然有更好的选择。微软公司的创始人比尔盖茨,在给儿童的编程课程上,就推荐使用积木式编程语言:Scratch。

https://cdn.china-scratch.com/timg/180605/1H9102W7-1.jpg

作为一款面向青少年的图形化编程工具,Scratch可谓身出名门:它是由美国麻省理工学院(MIT)设计开发的。在Scratch环境中,孩子不需要写任何编码,只要使用鼠标拖拽部件就可以组成游戏、卡通和动画。Scratch利用类似搭积木的方式来编写程序。在老师的指导下,小学的孩子都可以完整的摆出一个能运行的程序。尤其重要的是,这个过程充满了趣味。

在了解Scratch之前,我们先来看几组数字,对Scratch的普及度有个基本了解:

(1)多少人在用Scratch?

https://cdn.china-scratch.com/timg/180605/1H91061E-2.jpg

从Scratch的官网上可以获知,全球有超过两千万用户在学习使用Scratch。第一名不用说是美国,大约900万,占44%。第二名的是英国,大约185万。加拿大和中国的学习人数分别是是56万和20万,说明这是一个充满活力的社区。

(2)哪些人在学习Scratch?

https://cdn.china-scratch.com/timg/180605/1H9113D3-3.jpg

最小的年龄有4岁,大约有3.8万人,主要集中在7-15岁这个阶段。为什么15岁以上不学了呢?那是因为觉得Scratch太简单了,这个年龄都已经上高中了,还是来直接敲代码吧!

(3)Scratch社区规模

https://cdn.china-scratch.com/timg/180605/1H91133T-4.jpg

好吧,这是全球最大的程序员社区,没有之一!

之所以受到这样广泛的认同,与Scratch语言良好的设计密不可分。在项目创建之初,Scratch开发团队总结出一门好的儿童启蒙编程语言应该满足三个条件:低门槛(low floor),即容易上手操作;高上限(high ceiling),即允许使用者建立高度复杂的项目;宽壁垒(wide walls),即支持各类项目的创建,能满足用户的不同需求。为了达到这三点要求,Scratch在不断更新发展的过程中,在保证用户终身免费使用的前提下,始终坚定了三条核心设计原则:程序更易修改(More tinkerable)、项目更有意义(More meaningful)、社交氛围更浓厚(More social)。

(1)程序更易修改

MIT媒体实验室下的终身幼儿园团队与Lego有多年的合作经验,参与过Lego Mindstorms和其他机器人产品的研发。开发团队发现,在孩子们搭建积木的过程中,他们会积极地动手尝试,并在搭建过程中自发地改进和创造。

https://cdn.china-scratch.com/timg/180605/1H9113Q1-5.jpg

Scratch的代码窗口界面刻意被设计成类似实物桌子的样子,便是在模仿孩子们玩Lego时的场景,方便孩子们随意拖拽编程积木在这个“桌面”上。配合Scratch交互性极强的编程环境,用户只要一触发代码块的运行,可即刻在左边的可视化窗口观察到运行结果,并可在运行过程中修改代码,观察修改后代码对应的触发结果。

这种学习模式与一般编程学习工具倡导的“自上而下的规划(top-down planning)”相反,被称为“自下而上的修补(bottom-up tinkering)”,这样的模式可能会让学习过程有些杂乱无章,但用户根据动画运行结果来不断修改代码,这种探索实验式的学习途径其实是更让学习者感到舒适的。Scratch多次更新的过程中,也强调了通过这种模式培养孩子们“直觉思维(intuitive learning)”的能力。

(2)项目更有意义
我们都知道,我们在做一件自己认为有意义的事情时,我们是最享受的,这时候学习也是最高效的。Scratch的开发团队也深知这一点。因此,Scratch在开发之初非常关注两点:多样性和个性化。

多样性是指Scratch支持用户创建各类项目,不管是故事、游戏、动画,用户都可以根据自己的需求和兴趣在Scratch上完成相应类型的项目。

个性化是指支持用户在Scratch中导入图片或音乐、录音、画图等功能。这也是Scratch至今仍坚持采用有些过时的二维位图技术的原因。因为只有在这样简洁单一的环境下,用户的各式各样的素材才能被充分地得到支持,项目才会充满创造的无限可能性。

(3)社交氛围更浓厚
自Scratch推出2.0版本后,Scratch从一门编程语言转变成了一个语言与社区并重的产品。Scratch社区已是Scratch不可分割的一部分,其活跃的社区氛围也是Scratch达到如此大影响力的主要原因。

Scratch 2.0新增的“一键分享”功能,便体现出Scratch对“再创造”理念的重视,这种“分享”、“再创造”的概念极大推进了学习者之间的合作以及对开源的理解。不少Scratch经典项目便是由来自多个不同国家的孩子跨国合作完成的。当然,拥有超过40种语言的翻译版本是这一切跨国合作的基石。

关于Scratch语言设计的背景知识,我们就介绍到这里。

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com