Logo语言的更新换代
在过去50年里,设计师们以SeymourPapert创造的Logo语言为基础,造出了一大堆编程工具,它们虽然在界面上稍有不同,但其目的都是为了引导孩子们对编程进行思考。同时,由于MIT设计的Scratch的流行,基于模块的编程方法便成为了教学的标准。在CSTA为中学生制定的计算机课程教学标准中,也明确地将“在基于模块的可视化编程语言上进行构建和测试的能力”用于评估5年级学生的编程水平。
科普!少儿编程语言的进化史
趋向幼龄化引入机器人技术
看着自己写的代码变成现实是件很神奇的事。在本世纪初,乐高和MIT合作了一个项目,致力于将基于模块的编程带入到现实世界中。学生可以在电脑上写程序,然后把代码下载到他们搭建的机器人上。早期的RIS(机器人发明系统)和Scratch十分相似。
科普!少儿编程语言的进化史
2013年推出的乐高机器人虽然变得更加复杂,但工作原理仍然不变。现在学生们能够给组件增加输入参数,用来指定距离、时间、输出和其它的一些特性。
科普!少儿编程语言的进化史
MartinExner在Logo和更晚一些的Scratch的启发之下,发明了这种简单的信息图,它被用来描述可视化的编程工具。
事实上,Logo语言的大部分衍生产品都是为了特定的场景而被设计出来的:用于游戏、创建3D场景、画图、对机器人进行编程甚至是用来操纵一个虚拟的鱼缸。
但即使这些东西能够吸引许多不同的孩子,很多小孩在之后学着编写语句时仍会觉得很难。
超越Logo
在现实世界里,计算机程序总是需要考虑一大堆的输入,以及一个逻辑条件是否成立。举一个例子,我们要决定今天需不需要早起。如果今天是星期六或者星期天,那么我们就会出去外面玩。如果今天是星期一,我们就得去收拾运动服。如果是星期四,就得倒垃圾。另外除了周末之后的日子,都要上学。下面这幅图展示了如何使用Scratch对这个问题进行解答。
科普!少儿编程语言的进化史
除了基于模块的编程方法之外,还有一种新的语言采用了不同的方法来教孩子编程。在2015年,WonderWorkshop设计了一种流式的编程语言,叫做Wonder。Wonder让学生将注意力放在多个功能单元之间的连接,通过这种方法来创造一个状态机。这个状态机在任意时刻都只能处于一个状态,如果它正在处理某个任务,给定一个输入就可以让它改变状态去做一些其它的事情。