必读!少儿编程简史:你所不知道的Scratch的前世今生

腾讯又给少儿编程浇了一把油,3月24日,腾讯宣布和Scratch达成合作,将为Scratch建立官方的传播与分享渠道。

此外,腾讯云将为Scratch提供网络加速服务,以提升中国用户的访问体验;而腾讯游戏将提供更多创作素材,供孩子们选用。

在各类媒体、各类机构的不断“推广”下,少儿编程就是从Scratch开始,成为了主流论调。

虽然STEAM教育很重要,虽然孩子会编程也很重要,但是作为父母,在选择前冷静的思考是必不可少的。思考前,你需要了解Scratch的前世今生。

参与文末的抽奖,我们将免费送出《Scratch3.0少儿游戏编程趣味课》,喜欢的读者请关注


1.1 LOGO语言 

要彻底搞清楚Scratch的起源,我们先要从LOGO语言说起。研发Scratch的灵感可以追溯到1967年。这一年,西摩尔·帕普特开发出了名为LOGO的编程语言,这也是全球第一款针对儿童教学使用的编程语言。

与当时其他的计算机语言不同,LOGO最主要的功能是绘图。进入LOGO界面,光标将被一只闪烁的小海龟取代。输入“forward 50”(向前50)、“right 90”(向右90)这样易于儿童理解的语言和指令后,小海龟将在画面上走动,画出特定的几何图形。


必读!少儿编程简史:你所不知道的Scratch的前世今生


LOGO语言虽然看起来简单,但其背后的知识是人工智能、数学逻辑以及发展心理学等学科的结合。简单的指令组合之后可以创造出非常多的东西。

虽然LOGO语言的语法简单,而且功能也很强大,但是其输入命令的编程方式还是不那么直观,小孩子学起来也有一定的难度。Scratch的出现改变了这种情况。

1.2 可视化的Scratch编程语言 

1982年春天,年轻的记者米切尔·雷斯尼克前往旧金山报道西海岸计算机展,刚好赶上LOGO编程语言的发明者西摩尔·帕普特做主旨演讲。西摩尔·帕普特的演讲使米切尔·雷斯尼克对计算机有了新的理解:“它不只是完成某项任务的工具,还可以是人们表达自我的新方式。”于是,米切尔·雷斯尼克很快申请入读麻省理工学院,并成为西摩尔·帕普的学生,研究如何借助技术让儿童成长为具有创造性思维的人。

乐高公司和MIT媒体实验室一直保持着密切的联系和合作。1983年,米切尔·雷斯尼克与西蒙·派珀特一起尝试基于乐高积木来研发项目。他们将乐高积木与LOGO语言结合,当乐高模型与计算机连接后,孩子就能够通过LOGO程序来控制乐高积木。这款硬件与软件的组合后来被称为“乐高/LOGO”,在1988年由乐高公司作为产品推出。

1989年12月,米切尔·雷斯尼克接到了时任波士顿计算机博物馆教育主管娜塔莉·腊斯克的电话,她希望借用一些乐高/LOGO作为博物馆假期活动的材料。博物馆为期一周的活动效果出奇地好,活动结束后,还不断地有孩子返回到博物馆,询问那些乐高/LOGO组件到哪里去了。孩子们试用乐高/LOGO的过程使米切尔·雷斯尼克意识到,当时还没有专门供儿童使用的编程软件。于是,他决定开发一款适合儿童的认知水平、能够融入儿童喜欢的媒体形态、具有开放性创造空间的编程软件,有关Scratch的最初设想也就此开始酝酿。

LOGO语言的语法虽然很简单,但是如果能够进一步将其可视化就好了,这样一来,孩子们就更加容易学习和掌握了。于是,在Scratch的编程界面中,程序语句都以积木拼接的形式呈现,积木根据功能划分为不同颜色。编写程序时,用户只需要像拼插积木一样把程序语句垒在一起就行了。只有当程序在语法上合规合理时,积木的接口才能对接上。Scratch这种使用积木接口的形状作为拼插指引的设计,借鉴于乐高积木。而Scratch所有的语法,几乎都借鉴了LOGO语言的语法。

Scratch的首个版本在2007年发布。2013年,Scratch发布了可直接在网络浏览器里在线操作的2.0版本。2019年1月,Scratch 3.0发布了,它使用HTML5重新编写,支持图形式编程,并且可以在平板电脑和手机上使用。时至今日,Scratch的在线平台已经有超过1800万的注册用户,被翻译成70余种语言,风靡150多个国家和地区。Scratch语言与各种硬件和软件相结合(Makey Makey、micro:bit、LEGO MINDSTORMS EV3、LEGO EDUCATION WeDo 2.0等),在学校、家庭以及校外的计算机和编程教育等场所广泛使用。教师也使用Scratch语言服务于其数学、科学、地理、历史、艺术等教学。Scratch为儿童创造了一个低门槛的编程学习环境,也方便孩子将来学习其他的编程语言。

1.3 4P原则 

除了可视化编程功能之外,Scratch最与众不同的地方或许在于它背后的设计理念,这也是米切尔·雷斯尼克一直所提倡和推广的创造性学习方法的4P原则。

4P原则就是指项目(Project)、热情(Passion)、同伴(Peers)和游戏(Play)。简而言之,米切尔认为4P原则是培养创造力的最好方法,而Scratch的持续设计和开发工作,都是由创造性学习的4P原则引导的。

项目。“开始创作”或“创建”项目是Scratch用户和社区的核心活动。通过创造项目,用户开始了创造性学习曲线,从而深入了解了创造的过程。这也是做中学的开始。

热情。当人们从事自己关注的项目的时候,往往愿意花更多的时间,投入更多的精力。Scratch注重“宽墙壁”的设计理念,涵盖了游戏、故事、动画等多种类型的项目,力图让每个用户都能够找到自己感兴趣的项目,进而投入更多的热情。

同伴。创造力的开发不是一个单一的过程,而是一个互动的过程,甚至是社会性的过程。完成创作之后,用户只要点击“分享”按钮,任何人都可以看到开源的程序脚本,并借用和改编它。通过在一个社区合作、分享和修改彼此的作品,项目活动和在线交互就能够相互融合,从而形成深入而广泛的互动。人们结成同伴关系之后,参与感更加强烈,思维也能碰撞出更多美丽的火花。

游戏。Scratch支持通过尝试来培养创造力,鼓励用户冒险尝试和积极参与,从而激发他们不断去创造新的项目,产生新的想法。

1.4 低高宽的设计原理 

在讨论用技术来支持学习和教育的时候,LOGO语言之父西摩尔·帕普特总是会强调“低地板”和“高天花板”的原则。他说,成功而有效的技术应该能够为新手提供简单的入门方式,即“低地板”,同时又能让他们随着时间的推移和经验的积累去从事日益复杂的项目,即“高天花板”。LOGO语言就是这样,操作小海龟的语法非常简单直白,但熟练掌握并灵活运用之后,就能够绘制出极为复杂的几何图像。

在Scratch的设计中,“低地板”和“高天花板”的原则也得到了贯彻和体现。师承西蒙·派珀特的米切尔·雷斯尼克给Scratch新增添了一个设计维度,即“宽墙壁”。雷斯尼克意识到,从“低地板”到“高天花板”,仅仅提供单一的途径是不够的,要能支持不同类型的项目和学习路径,即把学习的入口和跑道都拓宽。

“低地板+高天花板+宽墙壁”这个三角形的设计理念反映在Scratch平台上目前超过3700万个编程作品里。


必读!少儿编程简史:你所不知道的Scratch的前世今生


Scratch 3.0所有功能和界面上的改进和设计原则,都是为了让新手更加容易上手。Scratch 3.0还提供了丰富的视频教程、案例、卡片,帮助用户开发出令人炫目的项目。

打开Scratch网站,我们可以看到音乐生日贺卡、捡苹果小游戏、螃蟹跳舞动画等难度不同和主题各异的编程项目。如今,Scratch能够风靡全球,这3项设计原则应该说功不可没。

1.5 婴儿围栏和游乐场 

事实上,游戏(Play)这个原则是4P学习法中被人们误解最多的环节。人们往往觉得游戏是欢笑、乐趣和玩乐。而且,如果孩子在计算机、平板电脑、手机上玩上几个小时,家长会焦虑并担心孩子会沉迷游戏、损坏视力、不擅社交等等,但如果孩子花费同样多的时间读书,家长则会觉得无所谓。人们忽略了游戏对于创造力的重要性。

当然,也并非所有的游戏都能给人们带来创造性的学习体验。我们用婴儿围栏和游乐场的比喻来说明这个问题。婴儿围栏是一个限制性的环境,婴儿在其中的活动空间有限,探索的机会也很有限,他们能够在围栏里玩玩具,但是种类和范围是有限的。这种环境让孩子缺乏实验的自由,缺乏探索的自由,缺乏创造性尝试的机会。

相比之下,游乐场则提供了更多的空间让孩子去走动、探索、实验和协作。观察一下游乐场的孩子,你会发现他们特别活跃,在各个不同的空间、不同的玩具之间尝试,玩自己的游戏,还经常会有一些创造性的动作,而且不同的孩子之间,也经常会有互动和协作。游乐场更加能够促进孩子的掌控力、创造力和自信心的发展。

Scratch就是要发展为一种游乐场式的玩具,而不是婴儿围栏式的工具。Scratch支持游戏、动画、故事等不同的玩具场景,鼓励用户动手去尝试,通过社区带动用户的交流,而不会将用户限定在某一个可活动、可操作的范围之内。如果在Scratch中没有去大胆地尝试新功能,新创意,那么,你肯定没法通过学习Scratch来培养创造力。

1.6 面向未来的Scratch 

2018年8月1日,Scratch 3.0测试版发布,这是自2013年Scratch 2.0问世以来的又一次升级。Scratch 3.0将能够在平板电脑和手机上使用,并且加入了更丰富的图像编辑、声音编辑、谷歌翻译等功能。另外,Scratch 3.0还可以与LEGO MINDSTORMS EV3和LEGO EDUCATION WeDo 2.0兼容。2019年1月3日,Scratch 3.0正式发布。

大部分教授编程的基础教程都是通关式的,孩子们创建一个程序,移动一个虚拟角色,让它做一些事情并达成目标。孩子们在编写程序解决问题的过程中,就学习到了编码的技能和计算机科学的概念。

但Scratch不同。作为Scratch的缔造者,米切尔·雷斯尼克及其团队认为Scratch不仅是一种编程语言,更是一个在线学习社区。Scratch专注项目,而不是问题解决,它鼓励孩子们创造自己的互动故事、游戏和动画,从创意开始,把这些想法实现为项目,然后再和其他人分享。

考虑到Scratch线上社区里不同受众的特点,围绕Scratch衍生的内容也日渐增多。ScratchEd是为教育者专门开发的独立线上资源社区,支持故事分享、互动教育资源、线上讨论等功能。目前,ScratchEd上的教育者资源覆盖幼儿园到大学全学段,内容类型包括教案、课程、评测、教材等,涉及的学科领域有数学、音乐、社会科学、视觉艺术等。

Scratch主要面向8~16岁儿童,而ScratchJr则主要针对5~7岁低龄儿童。相比Scratch,ScratchJr以平板电脑为载体,编程模块的体积更大、素材库中的图片更多、拼插方式也更直接。ScratchJr的界面示意图如下。


必读!少儿编程简史:你所不知道的Scratch的前世今生


除了线上学习社区,Scratch还在世界各地举办名为“Scratch Day”的线下交流活动。2017年,全球举办了超过1000场Scratch Day活动。在各种社交媒体的Scratch社区和论坛,人们用各种语言记录着Scratch Day的编程、分享和游戏体验。

未来的世界充满了新鲜的事物。今天绝大多数的孩子,未来所从事的工作都离不开创造力和创造性。不管是什么年龄段的孩子,学习Scratch不仅能够培养他们的计算思维和创造能力,还能让他们和同龄人、老师和家长分享和沟通。Scratch是孩子们走向未来的一个“创造力游乐场”。

必读!少儿编程简史:你所不知道的Scratch的前世今生

EDN

喜欢的读者请转发到朋友圈

如何获得本书?

【关注】异步社区头条号+【点击】下方小程序抽奖(程序抽取更公平)。

(此处已添加小程序,请到今日头条客户端查看)


分享到:


相關文章: