QQ登录

只需一步,快速开始

创客帮-青少年创客创意社区

快捷导航
开启左侧

Scratch:人人都会编程–从计算机俱乐部到终生幼儿园(第1期)

[复制链接]
教育百科 发表于 2015-1-6 16:59:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x

scratch-a3-small.png

作者:吴俊杰 陈磊 陈华

现代技术哲学的一个核心观点是技术的发展有时并不以人的意识为转移。

好像技术由人控制,但是技术有其自身发展的目的,就像计算机产生之初,人们怀着非常良好的愿望,希望每个人都学会程序,于是有了basic语言,但是,在那个时代,这仿佛只是一个美好的愿景,basic语言,对于普通学生掌握起来是有一定难度的,这样麻省理工学院开发了logo语言,希望这个语言能够让更多的普通学生掌握,这门语言也成为目前中国很多小学教授的计算机入门语言。

但是是否要让所有人都学习程序掌握程序,一直以来都是一个计算机教育当中,存在矛盾的问题,我们常常说学以致用,仿佛人们只需要学会使用计算机就可以了,而不需要真正地掌握计算机的编程,但是我们回到之前的观点,技术的发展有其自在的目的,这就意味着,如果技术的发展趋势是希望让每个人都学会使用程序来表达自己、完成任务,进行科学研究、进行艺术呈现,那么技术的发展就一定有办法让人人做到这一点。

于是,经过了三十余年的发展,人人都学会编程这一个美好的目标,终于从梦想趋向现实,而且这个过程是如此的美好,学生学习的过程是如此的快乐,大大超出了人们的预期,学习程序仿佛就像是幼儿园里的孩子在看到一个新的事物,她非常开心的把这个事告诉了老师,迫不及待的把这个新发现的东西跟小伙伴们分享,在分享的过程当中大家一块儿探究新的现象,发现更多的有趣的东西,在这个空间里的时光过得是如此的缓慢,仿佛希望每天都生活在这里,本专题要介绍的核心是Scratch编程语言,其开发团队的名字是终生幼儿园项目(Lifelong Kindergarten)团队。

1. Scratch软件起源

终生幼儿园项目最早来自于20年前1993年启动的计算机俱乐部(Computer Clubhourse)。

openbook9-scratchone1.PNG

也许是巧合,这恰好和中国全面开展计算机教育的时间相吻合,我们希望能够从这个项目的缘起,去探寻其中的思想脉络,并为我们的教育软件的开发、我们教育未来的各种假设提供有益的借鉴信息。

计算机俱乐部这个项目的宗旨是,希望建立一些客户的计算机学习中心,让10到18岁的小孩子来学习如何用计算机表达自己,并且创造性地使用新的技术,而他们当中的很多人都来自低收入的群体。计算机俱乐部的成员,根据他们的兴趣来选择工作的项目,在成年人志愿者的帮助下,以基于项目的学习方式,来学习新的知识。

在这个过程当中他们创造自己的动画、互动故事、音乐以及机器人作品。在此期间,机器人俱乐部的成员,会变得更有能力,更加自信,和更富于创造性。

作为一项开始于20年前的项目,它始终把建构主义模式下改造学生的学习方式作为核心议题。建构主义的发展与麻省理工学院有着密切的联系,这就不难理解为什么基于项目的学习会成为计算机俱乐部这个项目的核心学习方式,随着新千年网络时代的大幕的拉开,计算机俱乐部项目已经通过网络覆盖了超过两万名青少年,而这个过程也使得终生幼儿园项目成为终将研发的新技术,并且开发这些新技术的教育应用,在全球范围内开设专门的计算机工作坊来完成重要的任务。终生幼儿园团队团队,坚持了二十余年,期望让所有人都掌握程序,终于他们研发出了Scratch软件。

openbook9-scratchone2.PNG

Scratch软件,是一款具有图形化编程界面的软件,其基本部分分成左边的功能区,中间的代码区,以及右边的舞台区。功能区的代码就像乐高积木一样,把他们选取,制成合适的组合,拼装在中间的代码区域里,双击执行,旁边的角色小猫就会按照代码的设定,一边走一边发出敲鼓的声音。而程序的执行效果即使是没有任何编程经验的人都可以通过,阅读文字,来做出假设,并且通过执行代码,查看小猫的反应,做出验证,这就大大降低了学习程序的难度,使得Scratch软件适合各个年龄段儿童,甚至还能够作为成年人学习编程的工具。

除此之外,Scratch软件还可以感受外界环境变化,并且作出反应,就像人一样能够对外界刺激做出反应一样,这个过程是通过传感器板完成的。例如,它会感受滑杆传感器当前的数值,并且把这个数值,转变为自己的旋转角度,除了可以控制自己的旋转,还可以控制一个真实的马达旋转的时间,这就使得该软件不仅是一个虚拟世界的软件,而且变成了虚拟世界和真实世界沟通的最简单最直观的工具。

这也就能够理解,Scratch软件在很短的6、7年时间,成为世界上最知名的程序设计软件之一,而现在它不仅仅是一个软件,更像一个社区,一个平台,一个针对所有人并不只有小孩子的庞大的学校——终生幼儿园。当你走进下面的这扇大门,或许能够从门上的文字了解到什么是终生幼儿园:乐高学习实验室、物联网中心、智慧城市、计算文化、终生幼儿园。

openbook9-scratchone3.PNG

终生幼儿园这个项目隶属于麻省理工学院媒体实验室,是由一群非常具有创造力的人组成的一个项目组,招收硕士生和博士生。这个团队只有二十余人,在麻省理工媒体实验室(Media Lab)中这一群学生和老师有时在设计新的音乐装置,然后学生有时忙着设计新的局域网络软件,忙得整天不亦乐乎。这些活动使得媒体实验室不仅是一个非常好的研究型实验室,而且还是一个非常有趣的学习空间,因为学生在这里是设计、创造和发明新的东西,而并不仅仅是学到知识。这是他们2011年,他们刚刚搬进了新的实验室的一次讨论活动,仿佛他们真的是在幼儿园当中一样,舒服惬意而且平等自由。

openbook9-scratchone4.PNG

终生幼儿园项目的一个重要方向是教育。在它的实验室精神中写到:不幸的是,大部分的学生在学校里并不能够从事一些创造性的活动,而只是学习一些特殊领域的知识或者技能,很少去涉及新的东西,并且很少去学习设计过程中的隐性的知识。在学校之外,他们被各种各样的电子玩具和游戏包围着,却不知道如何发明一个自己的玩具或者游戏,我们终生幼儿园项目就是希望能够改变这一点,因为这对于所有学生而言都是非常重要的。我们希望来自不同背景的学生,在成长的过程中,学会设计、创造和表达他们自己。

我们受到学生在幼儿园年代的有趣的学习方式的感染在哪里?我们可能醉心于用手指头绘制别人可能看不懂自己却喜欢的不行的图画;也许在学习如何把颜色混在一起,之后又发生了怎样的奇妙的变化;抑或是学学如何用小木片来盖房子,进而学习结构和稳定性的知识……这个过程潜移默化的影响着我们的一生,但对绝大部分人都只是回忆。但是,终生幼儿园团队希望这种幼儿园时代的学习方式能够维持到未来每一个学习者的一生当中,不断用这种方式学习,在设计、创造、表达和探索当中成就自己。

他们的终极目标是,建立一个充满了欢乐的,富于创造性的游乐场的世界,这个世界不断的提供给每个人新的机会,给每个社群提供新的精彩。了解了终生幼儿园这个项目的背景之后,我们就不难理解,为什么这个团队的核心人物Mitchel Resnick将“把学生培养成创造性的思想者”作为毕生的研究目标,因为他希望,当每个人都成为创造性的思想者的时候,我们的社会将有一个不同的面貌。

openbook9-scratchone5.PNG

openbook9-scratchone6.PNG

让这位“大胡子叔叔”牵手这只乐高积木拼成的橙色小猫,走入终生幼儿园的奇妙旅程。

1.1 LOGO语言

非常有趣的是,终生幼儿园团队更多的成员是工程师而非教育者,他们的硕士生,大多是研究技术,而博士生,则更多地研究教育,这可能是麻省理工学院作为一个传统的技术学院在这个团队当中留下的烙印,也可以说追求技术和教育的最优学习方案,一直以来都是这个团队的追求目标。 这只小海龟就是著名的Logo语言,小海龟按照下面的代码,依次执行前进120步,右转90度的指令,当执行四次以后,小海龟回到原点。

openbook9-scratchone7.PNG

从Logo语言的发明之初就不仅仅是作为一个学习计算机编程的简单语言,而是希望颠覆学生学习数学的方式,可惜这一切都没有发生,但是留下来一个学习模型,这个模型贯穿着整个终生幼儿园团队开发的所有项目。在该模型当中,学习的步骤是从一个设想开始,之后依次是创造、实验、分享、反思,最后还会回到一个新的设想。

openbook9-scratchone8.PNG

在这个模型当中并没有提到编程,而编程则是所有环节都会使用到的工具,它是终生幼儿园团队开发新的软件和硬件期待的学习方式,这种学习方式类似于在软件工程中反复迭代的过程。这也就很自然地理解为什么学习科学领域有那么多专家都是计算机科学背景,因为计算机科学中编写程序独有的过程和方式,给了人们如何创造一个事物在方法论层面上的启迪。

1.2 LEGO MINDSTORM

程序是人的思维的体现。很简单的程序就像是之前控制小海龟的程序一样,四个积木块一样的程序单元,连接在一起构成一个顺序结构来实现一个特定的效果。

积木块一直都是终生幼儿园团队研发各种软件和硬件的灵感源泉,事实上最初的乐高积木就是麻省理工学院终生幼儿园团队的前身和乐高公司联合开发的,之后他们研发了Mindstorm机器人,作为世界上最成功的教育机器人,他的名字仿佛是要说明机器人是人头脑当中思维的一种映射,所以叫做头脑风暴。

openbook9-scratchone9.PNG

这对于很多中国的学生并不陌生,最初的头脑风暴机器人(MINDSTORM)的编程环境也是像积木块一样的,但是不能够完成比较复杂的程序,更不能和电脑互动。Scratch软件衍生出另外一个版本Enchanting之后,我们就可以用Scratch的形式给它编写程序了。值得注意的是Scratch的1.4版本是一个开放源代码的项目,它允许许多人在基础上进行修改,于是,就有了各种各样的重新改写(Remix),增添了各种奇妙的功能,开源使得知识流动起来,聚集了人气,使得20人的团队可以影响成百上千人的团队,共同协作。

openbook9-scratchone10.PNG

在Enchanting当中,支持所有头脑风暴机器人的输入和输出设备,并且还有自动识别语言的功能,使得各个国家的使用者都能够非常自然、容易地使用类似Scratch软件的语法,给头脑风暴机器人编程。由于开放了源代码,而且这种类似于乐高积木的程序编写方式非常容易被任何人掌握,Scratch软件渐渐地成为一种编程入门的规范,对其支持的各种硬件也越来越多。

1.3 Picocricket

在头脑风暴机器人开发之后,终生幼儿园团队继续开发了一款能够放在迷你头脑风暴机器人中的名叫PicoCricket的硬件。它更加小巧,编程环境和现在的Scratch软件非常类似,而事实上这个环境就是Scratch软件的前身。PicoCricket的设计想法,除了影响了Scratch软件的编程环境的样貌,更重要的是它提供了一种新的机器人的应用领域,机器人不再是一个像人一样的,能够对外界环境作出反应的小车,而是而是孩子的生活伙伴。

openbook9-scratchone11.PNG

就像上图中,2007年,一位来自中国香港的孩子,用PicoCricket软件和硬件,制作了一个天亮之后会自动叫他起床的智能设备。PicoCricket软件的出现影响了之后终生幼儿园团队设计软件和硬件的核心思想:第一用不同的颜色区分不同功能的模块,第二采取类似积木拼插的形式建立模块之间的相互联系,第三在硬件的设计上,尽可能的小巧,不追求功能多丰富,而只追求每个普通人都能掌握,都可以自然地理解和使用,并且把硬件当做生活中的日常物品。而这种物品是可以变换出不同的功能的,甚至可以称作是一种可重复使用的家用电器。

1.4 Scratch1.4

PicoCricket兼容普通乐高积木的尺寸,制作出来的作品相比于MindStorm更加小巧,使用也更加灵活,但是很可惜,之后乐高公司由于一些商业上的原因不得不停止生产PicoCricket硬件,但是这个项目的思想成果保持了下来,于是2006年最早的Scratch软件发布了,之后的2007年5月,Scratch软件的网站也建立了起来。

openbook9-scratchone12.PNG

目前,在各种学术文献上出现最多的Scratch软件网站的环境还是2007年到2012年的版本,这个版本提供了软件的上传和分享功能,任何的注册用户,你都可以把运行在电脑上的程序,上传到统一的平台上。

openbook9-scratchone13.PNG

在平台之上,大家可以一同讨论编程的技巧,并激发出新的设想。在Scratch软件的网站上,对其之前的学习流程的关键词做了精简和概括,分别是设想(Image)、编程(program)和分享(Share),这也是Scratch软件的核心价值,和期待学习者完成的过程。随着软件的改进,硬件也做了相应的提升。Scratch软件的1.4版本,支持一款叫做PicoBoard的传感器,似乎是在怀念已经停产的PicoCricket硬件,他们最开始的字母是相同的。

openbook9-scratchone14.PNG

终生幼儿园项目会支持一款乐高的硬件,最终他们选择了Wedo。这款硬件有两个简单的输入,分别是方向和距离,只有一个马达输出,但是可以和很多乐高积木做接口。除此之外,由于Scratch软件可以脱离硬件使用,而最常见的信息输入是鼠标和键盘的输入,麻省理工团队还研发了一款能够将任何设备改装成为鼠标和键盘输入的有趣的传感器板,这款板叫做制作者。

openbook9-scratchone15.PNG

如图所示,彩色的积木受到控制啦!程序当中,游戏的动作方向,就像上下左右键控制游戏一样,这款传感器板延续了之前,“任何人都能够使用”的思路,因此在全球最大的创意产品销售平台上面获得了超过50万美金的订购,一时之间成为创客群体中的流行符号。我们能够看到,终生幼儿园团队在不停地降低软件的编程门槛,也在不停地降低硬件的编程难度,让普通人成为创意产品的发明人,让产生的新的设想成为一个创意作品。而最重要的因素,是不像之前那样,完成某个作品需要很长的时间学习许多专业的知识。很快地完成一个产品的原型,这对于孩子而言是一个正向的反馈,这个反馈会促使她不断的有新的想法,而这个模式,正是之前学习、迭代的过程。

1.5 BYOB

openbook9-scratchone16.PNG

Scratch软件是一款开放源代码的软件,制作这个软件的所有代码都是公开的,上图就是根据个人的需要更改Scratch软件的一个过程。这说明Scratch软件只是一个结果,而过程的核心指导思想,是用图形化和颜色来让任何人都能够学习和理解程序,而这个过程,是通过最后的结果呈现出来的。由于Scratch软件是一款开放源代码的软件,因此就有各种各样的改进版本,比如,由约翰霍普金斯大学两位软件工程师共同研发BYOB这个版本,将Scratch软件的应用范围从中小学提升到大学生,同样的一个代码,结构却更加简洁。事实上,在哈佛大学等美国顶尖大学,很多学校都将Scratch软件作为大学生入门程序设计的初始软件,现在程序设计的核心概念在其中均有涉及,并且加上硬件的输入和输出设备,能够让成年人在学习程序最开始的时候,就能够对程序的应用领域有一个立体的概念。因此,终生幼儿园项目,并不仅仅是针对青少年的,而且由于所有的软件都是通过程序编写,因此程序就有可能成为不同软件之间沟通信息的桥梁,一个软件的输出信息,可以成为另外一个软件的输入信息。比如,添加了一个插件的Scratch软件,能够成为著名的仿真游戏——第二人生的输入信息设备,并且控制其中角色的行为。

openbook9-scratchone17.PNG

如上图中的白兔,当距离主人一定距离后就会蹦蹦跳跳回到主人身边,而这个程序是通过,第二人生软件环境之外的Scratch软件实现的。在这个过程当中,Scratch软件和第二人生软件之间的信息是相互连通的,由于Scratch软件是一款开放源代码的软件,因此许多团队为其增添新的功能,实现更好的互动效果,许多之前普通人遥不可及的控制效果,比如通过互联网控制一盏台灯,都可以通过Scratch软件的接口软件完成,这样物联网进入小学课程将不再是遥不可及。

1.6 Scratch2.0

在公开程序的原始代码之后,终生幼儿园团队就像是一个非常自信的武林高手,他们在传播新的技术的时候,又不断地改进自己。

openbook9-scratchone18.PNG

在网络时代,每款软件都有对应的网站,上图是最早的2006年的软件的网站,可以看到那时的网站,只是一个一般的介绍型网站,还没有对应的社区服务。但是,从一开始,Scratch软件就有对应的传感器板,可以说,软件和硬件的综合使用一直都是Scratch软件的设计灵魂,在此之后,Scratch软件网站增加了社区功能,从本地计算机的程序上传到网络社区分享。

openbook9-scratchone19.PNG

2012年Scratch软件2.0版本的编程环境由计算机端,转向了服务器端,成为了一款基于网页的程序设计软件,我们看到基本的功能区,改变不大,在传感器方面,增添了摄像头的识别功能,摄像头可以识别背景上的人像的移动的剧烈程度和移动的大致方向。

openbook9-scratchone20.PNG

这样,背景中的人,像做打气球的动作时就能够引起程序的反应,气球就自动爆炸了。这种虚实结合的程序效果,以往一般都是在科技馆或者游乐场中才能够体验的,但是现在学生自己就可以构建这个编程环境,制作属于自己的摄像头互动效果游戏,将各种各样奇妙的技术引入到儿童的编程世界当中。这首先是提高了程序教学的趣味性,让学生有更大的投入到程序的设计学习当中,其次也是技术走向平民化,走向每个人的生活,成为一项基本技能趋势的体现。技术仿佛总是在不断进步中,把一个个曾经辉煌的技术前沿应用拉下神坛,事实上,这只是很普遍的一种现象,比如手机从财富的标志到日常的用品。

技术的自然需求,是希望更多的人使用它,但是这就像读和写的能力一样,大部分的人会使用软件,但是只有极少数的人会编写软件,就像我们只会读而不会写。但是Scratch软件,给我们指向了另外一个未来,人人都是程序的贡献者,每个人根据个人的需要来设计,或者从别人那里分享软件,而软件的所有的功能,是可以被阅读和修改的。这样,想法变成了现实,现实变成了声望,声望产生了价值。


该会员没有填写今日想说内容.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

客服热线
400-1234-888 周一至周日:09:00 - 21:00
公司地址:襄阳市樊城区长虹路现代城5号楼188

创客帮MAKER.BAND青少年创客创意社区是一个融教育、科技、体育资讯为一体的综合服务平台,专注于教育创新、专注于科技体育、专注于教育资讯。

Powered by Discuz! X3.4 © 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表