米切尔·雷斯尼克(Mitchel Resnick)是麻省理工学院的教授,作为Scratch的发明者和乐高背后的驱动者,他被誉为“少儿编程之父”。

学少儿编程scratch好处 少儿编程Scratch的前世今生(1)

米切尔·雷斯尼克(Mitchel Resnick)

在开发和推广Scratch的过程中,米切尔·雷斯尼克提出了一套创造性学习的理论:

在米切尔看来,有A型人和X型人两类人。A型人注重遵守指示和规则,各方面都表现优异,善于考试。而X型人则愿意冒险,勇于尝试新鲜事物,渴望提出自己的问题,而不是简单地解决教科书里的问题。教育和社会发展的未来,应该是培养更多的X型的人。因为未来的世界发展变化如此之快,X型人的创造性思考和行动的能力将变得至关重要。

通过观察幼儿园孩子的学习方法,米切尔将他们的学习过程归结为一种创造性学习的曲线——包括想象、创造、游戏、分享、反思……想象的一个递归的、螺旋式前进和上升的过程。

学少儿编程scratch好处 少儿编程Scratch的前世今生(2)

想象。首先,通过一个想象中的物体或故事,来确定一个创造的目标。

创造。把想法变成行动,创造出想象中的物体或故事情节。

游戏。不停地把玩、修改和重建所创造的作品,并尝试加入新的情节。

分享。负责构建物体和创作故事情节的孩子们互相交流想法,把新的构想作为推动目标和故事发展的机会。

反思。当所构建的物体发生问题的时候,触发孩子反思,解决问题,进一步优化和重新构建。

想象。经历了一次创造性学习曲线的全部过程之后,孩子又有了新的想法和新的方向,激发下一轮的创造活动。

可以看出,创造性学习曲线是创造性思维的“引擎”,而创造性思维能够不断激发和产生帕普特理论中提到的强大创意。然而令人遗憾的是,当我们离开幼儿园,走进教室的时候,就不再遵循这种创造性学习曲线了。

米切尔·雷斯尼克的这一套理论,是继承了让·皮亚杰和西蒙·帕普特的衣钵。

瑞士著名心理学家、哲学家让·皮亚杰(Jean Piaget)提出了建构主义(Constructivism)学习理论,来阐述人们(特别是孩子)是如何学习的。

学少儿编程scratch好处 少儿编程Scratch的前世今生(3)

让·皮亚杰(1896~1980)

让·皮亚杰发现,人们会基于过往的经验和对世界的理解来构建知识(constructing knowledge),而不是获得知识(acquiring knowledge),即从简单结构到复杂结构的转变是一个不断建构的过程,任何认识都是不断建构的产物。

西摩尔·帕普特(Seymour Papert)在让·皮亚杰的基础上进一步创建和发展了教育建构主义,并且将其融入他所发明LOGO计算机编程语言中。

学少儿编程scratch好处 少儿编程Scratch的前世今生(4)

西摩尔·帕普特(1928~2016)

要彻底搞清楚Scratch的起源,我们就先要从LOGO语言说起。

LOGO语言

研发Scratch的灵感可以追溯到1967年。这一年,西摩尔·帕普特开发出了名为LOGO的编程语言,这也是全球第一款针对儿童教学使用的编程语言。

与一般的计算机语言不同的是,LOGO语言输出的表现结果是几何图形。由于绘图的光标一开始是一只小海龟,所以LOGO语言也被亲切地称为“小海龟画图”。在LOGO编程语言的世界中,孩子可以在键盘上写下指令,让小海龟在画面上走动,输入“forward 50”(向前50)、“right 90”(向右90)这样易于儿童理解的语言和指令后,小海龟将在画面上画出特定的几何图形。

学少儿编程scratch好处 少儿编程Scratch的前世今生(5)

学少儿编程scratch好处 少儿编程Scratch的前世今生(6)

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

在帕普特1980年的著作《头脑风暴》(MindStorms)中,他写道“通过编写计算机程序,孩子们既能尝试着理解和掌握最现代、最强大的技术工具,有机会触及科学和数学的最深处,还能体会到创建智能模型的美”。时至今日,这一观点也是非常具有前瞻性的。

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

可视化的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为儿童创造了一个低门槛的编程学习环境,也方便孩子将来学习其他的编程语言。

4P原则

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

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

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

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

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

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

低高宽的设计原理

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

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

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

学少儿编程scratch好处 少儿编程Scratch的前世今生(7)

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

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

婴儿围栏和游乐场

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

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

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

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

学少儿编程scratch好处 少儿编程Scratch的前世今生(8)

面向未来的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的前世今生(9)

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

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

文章摘自《Scratch3.0 少儿编程趣味课》,作者:李强 林子为 郝敬轩

推荐阅读:

学少儿编程scratch好处 少儿编程Scratch的前世今生(10)

Scratch少儿编程书三剑合璧!《Scratch 3.0少儿游戏趣味编程》和《Scratch 3.0少儿趣味编程课》适用于今年最新发布的Scratch 3.0,一本以能力进阶为专题,一本以功能实现为专题,合计50多个编程游戏项目示例,让孩子做中学,寓教于乐,可谓是家长亲子互动和孩子自学少儿编程的必备好书。再加上《Scratch魔法书 探索算法》讲解孩子也能轻松理解的算法,利用Scratch分步实现算法的核心内容,增添算法学习的趣味性,引导孩子独立思考并完成学习,培养孩子解决问题的能力。

,