数据解读 1

奥巴马“计算机从娃娃抓起”的倡议和人们对科学、技术、工程、数学
教育日渐增长的关注都说明了一个问题,那就是,为了教导孩子们学习计算机知识,我们需要建立一套标准,还要找到好的教学方案。
在工业界,人们普遍认为,要让孩子学会些什么,最好的方法就是使用可视化的编程语言,这样的话,即使是年纪很小的孩子也不必纠结于语法问题,而可以自由创
造,同时掌控着自己编写的软件。Logo 语言的更新换代在过去 50
年里,设计师们以 Seymour Papert 创造的 Logo
语言为基础,造出了一大堆编程工具,它们虽然在界面上稍有不同,但其目的都是为了引导孩子们对编程进行思考。同时,由于
MIT 设计的 Scratch 的流行,基于模块的编程方法便成为了教学的标准。 在
CSTA
为中小学生制定的计算机课程教学标准中,也明确地将“在基于模块的可视化编程语言上进行构建和测试的能力”用于评估小学
5
年级学生的编程水平。趋向幼龄化引入机器人技术看着自己写的代码变成现实是件很神奇的事。在本世纪初,乐高
和 MIT
合作了一个项目,致力于将基于模块的编程带入到现实世界中。学生可以在电脑上写程序,然后把代码下载到他们搭建的机器人上。早期的
RIS 和 Scratch 十分相似。2013
年推出的乐高机器人虽然变得更加复杂,但工作原理仍然不变。现在学生们能够给组件增加输入参数,用来指定距离、时间、输出和其它的一些特性。Martin
Exner 在 Logo 和更晚一些的 Scratch
的启发之下,发明了这种简单的信息图,它被用来描述可视化的编程工具。事实上,Logo
语言的大部分衍生产品都是为了特定的场景而被设计出来的:用于游戏、创建 3D
场景、画图、对机器人进行编程甚至是用来操纵一个虚拟的鱼缸。但即使这些东西能够吸引许多不同的孩子,很多小孩在之后学着编写语句时仍会觉得很难。超越
Logo
在现实世界里,计算机程序总是需要考虑一大堆的输入,以及一个逻辑条件是否成立。举一个例子,我们要决定今天需不需要早起。如果今天是星期六或者星
期天,那么我们就会出去外面玩。如果今天是星期一,我们就得去收拾运动服。如果是星期四,就得倒垃圾。另外除了周末之后的日子,都要上学。下面这幅图展示
了如何使用 Scratch
对这个问题进行解答。除了基于模块的编程方法之外,还有一种新的语言采用了不同的方法来教孩子编程。在
2015 年,Wonder Workshop 设计了一种流式的编程语言,叫做 Wonder。Wonder
让学生将注意力放在多个功能单元之间的连接,通过这种方法来创造一个状态机。这个状态机在任意时刻都只能处于一个状态,如果它正在处理某个任务,给定一个
输入就可以让它改变状态去做一些其它的事情。下面这幅图说明了如何使用流式的方法解决之前的起床问题。除了使学生们摆脱了线性的编程范式,Wonder
还让他们能以一种简单的方法来对现实世界的问题建立模型。学生们可以更容易地把一个问题分解成小的模块,然后用这些模块来解决一个复杂的问题。这样他们在解决一个复杂的问题的时候,就能把注意力放在在一个个子问题上。这个分解问题的过程,既是计算机科学的基础知识,也是
Wonder
语言的设计初衷。在我们日常生活里也有很多机器人和状态机的例子,并且它们正在变得越来越普遍。自动售货机会在你投入正确的金额时吐出商品。自动驾驶汽车能够根据周
围的障碍物决定如何前进。状态机还能对很多其他的问题进行建模,就像句法分析、人工智能、通信协议、游戏中的角色发展,甚至包括神经系统。随着机器人技术的应用和其影响力的扩大,教师们自己现在也需要学习模块化编程。但在这些方法被越来越多人采用的同时,我们应该思考的是:这是否就是正确的前进方向?又或者是不是还有其它更好的方法可以帮助孩子们学习计算机呢?本文由
伯乐在线 – chowchowT^T 翻译,sunshinebuel 校稿。英文出处:June。

相关文章

网站地图xml地图