admin 管理员组

文章数量: 1184232


2024年4月30日发(作者:shellshocklive安卓手机版)

专 题

Feature Story

影响世界的编程小海龟

文_刘 欣 陈 染/科技学堂

如果我们把各种编程语言的标志放一起,

可以凑出一个动物园,如Python的大蟒蛇、

PHP的大象、Go语言的地鼠,而对于中小学

教师而言,最熟悉的“动物”应该是Scratch

的小黄猫和LOGO语言的小海龟。你可能不知

道的是,LOGO小海龟几乎定义了现今编程教

育方法的基本框架,甚至对儿童教育和计算机

发展都产生了巨大影响。在本文中,我们将一

同回顾“小海龟”的成长历程,以及它如何影

响了世界。

“小海龟”诞生

我们今天提到的“小海龟”,是指美国麻

省理工学院教授西摩尔·派普特的LOGO语言

10

China Science & Technology Education

和其中的绘图小海龟。派普特在威特沃特斯兰

德大学和剑桥大学获得了2个数学博士学位。

在攻读第2个数学博士期间,派普特结识了影

响他一生的人物让·皮亚杰。皮亚杰被公认为

是仅次于弗洛伊德的心理学“巨人”,他创建

的认知发展理论颠覆了人们原本对儿童发展的

理解。在此之前,儿童的玩耍一直被认为是无

关紧要的行为,皮亚杰则认为玩耍对儿童的知

识建构起到了重要的作用。在皮亚杰的影响下,

派普特来到日内瓦大学,花了4年时间,与皮

亚杰共同开展数学与儿童教育的研究工作。

派普特认为:“当代文化中常见的数学恐

惧症让很多人看不到数学知识的真面。一方面,

他们对自己所认为的‘数学’敬而远之;另一

方面,尽管他们在数学知识上没有什么困难,

但却不认为那就是数学。”

[1]

吸收了皮亚杰的

认知发展理论,派普特希望找到一种学习方法,

既能与数学知识相关联,又能让儿童以他们的

认知方式理解。海龟型机器人是派普特最先找

到的一个入手点。

1963年,派普特加入麻省理工学院,与著

名人工智能科学家马文·明斯基共同研究人工智

能。同时,派普特也在研究如何借助计算机辅助

LOGO语言中的“小海龟”

儿童学习。在派普特的带领下,LOGO语言和

绘图小海龟机器人先后诞生。在20世纪40年代,

神经生理学家沃尔特设计了一批机器人,以《爱

丽丝漫游仙境》中的海龟老师命名,通过让这

些机器人模拟动物行为进行大脑运行模式的研

究。麻省理工学院的小海龟机器人增加了一支

笔,儿童可以通过计算机上的LOGO编程控制

小海龟机器人行走和绘图。而后,LOGO语言

里实现了可以直接在显示器上绘制数字图形的

数字小海龟。派普特把通过控制小海龟绘图的

学习方法称为“小龟几何”。这是一种易于学

习的几何,它有效承载了很多普遍性的数学概

念。打开LOGO语言,孩子们就能看到屏幕上

呈现的小海龟,输入“FD 50”,小海龟就会

向前行进50个距离单位,再输入“LT 90”,

小海龟就会向左转90°,如此重复4次,小海

龟回到原点,画出了1个正方形。小海龟的朝

向、行走、转弯的概念,让孩子们得到了一种

可以把自身代入到数学中的方式,并且让他们

更敢于探索和尝试解决问题。派普特在他后来

出版的《因计算机而强大:计算机如何改变我

们的思考与学习》(Mindstorms: Children,

Computer and Powerful Ideas)里详细阐述了

他的计算机辅助学习和小龟几何的理论。

“小海龟”对儿童教育和计算机行

业的影响

在今天的各种编程教育工具和机器人产

品中,小海龟带来的朝向、旋转、步数已经

成为最基本的命令规范。除了在LOGO语言

中发挥作用外,这只小海龟还启发了很多影

响世界的发明。这其中我们最熟知的是乐高

Mindstorms机器人和麻省理工学院媒体实验

室的Scratch。

1984年,乐高第3代掌门人克伊尔德·柯

克·克里斯蒂安森在一期电视节目中,看到派

普特介绍LOGO与小海龟的学习思想。克伊尔

德立刻安排公司与派普特联系。收到乐高公司

合作邀请的派普特也很兴奋,他与他的博士生

米切尔·雷斯尼克当时已经在思考如何把乐高

积木与计算机教育结合。派普特和雷斯尼克希

望让电子器件与积木兼容,更轻、更小、更便

宜,并且能脱离计算机使用。1990年,派普特

Feature Story

团队研发出了乐高与LOGO融合的新产品原

型,乐高公司很快转化为正式产品推出。这套

产品以上文提到的派普特著作命名,也就是乐

高Mindstorms机器人。如今乐高机器人竞赛

已经成为每年有来自超过100个国家(地区)

的60余万青少年参加的赛事。

可以说,秉承了派普特教育思想的

Mindstorms机器人是更强大的小海龟,学生

可以给机器人设计出更多的功能,通过编程让

机器人完成更复杂的行为。后来,雷斯尼克又

创造了一条完全不同的方向。同样基于“做中

学、玩中学”的思想,雷斯尼克希望挑战更大

的目标。派普特认为,编程语言应该有“低门槛”

(容易上手学习)、“高天花板”(随着学习

深入可以开发越来越复杂的项目)和“宽阔空

间”(能支持不同类型的项目以吸引有不同兴

趣的人)

[2]

。以此为目标,雷斯尼克带领麻省

理工媒体实验室推出了Scratch。Scratch的“低

门槛”的实现主要受儿童玩乐高积木方式的启

发,儿童可以从随意摆放积木块开始,把它们

按不同顺序和组合搭在一起,看会有什么结果

产生。像传统编程语言中的晦涩的语法和符号

都不复存在,Scratch实现了真正的“低门槛”

并充满好玩有趣的体验。

“小海龟”不仅在教育领域产生了影响。

1968年,计算机科学家艾伦·凯来到麻省理工

学院人工智能实验室参观,孩子们使用LOGO

语言学习编程的情景让他感到十分兴奋。在进

一步了解了派普特和皮亚杰的学习理论后,艾

伦提出了Dynabook的设计概念。Dynabook

仅重2磅,采用电池供电,儿童可以轻便携

带,随意在任何地方使用。Dynabook使用图

形化界面(GUI),让儿童能轻松地学会操作

方法。但是很遗憾,受到当时科技水平的限制,

Dynabook没能实际生产出来。艾伦在加入施

乐帕克研究中心后,基于Dynabook的设想开

发出了展示原型。1979年12月,艾伦的研究

成果让来访施乐帕克研究中心的一位年轻人和

他的同事们感到惊讶无比。之后这位年轻人的

公司迅速推出了几乎是定义了个人电脑的新产

品——Macintosh电脑。这位年轻人就是史蒂

夫·乔布斯。2010年,乔布斯执掌的另一个创

新产品iPad发布,计算机业界纷纷感慨:“42

2019.06

/

中国科技教育

11

专 题

Feature Story

年后,艾伦·凯的Dynabook终于到来了。”

除了设计Dynabook,艾伦还希望能创造

一种基于面向对象设计,更利于“人与计算机

共生关系”的编程语言。在施乐帕克研究中心,

艾伦带领研发了Smalltalk语言。在早期研发

工作中,面向对象设计、小海龟(LOGO)和

图形化界面构成了Smalltalk最早的蓝图。艾

伦尤其提到:“FLEX,PLANNER,LOGO,

META II,以及我个人基于它们的衍生思想对

Smalltalk的设计产生了很大的影响。”

[3]

2003

年,艾伦因面向对象编程语言的原创思想,对

Smalltalk的研究工作,以及对个人计算机发展

的基础性贡献而获得图灵奖。Smalltalk被称为

“面向对象编程语言之母”,几乎所有后来的

面向对象编程语言都是源于Smalltalk的设计

思想,比如我们熟知的Java、Objective-C、

PHP、Perl,当然也包括今天在编程教育领域

备受关注的Python。

“小海龟”在今天

随着计算机行业的蓬勃发展,“小海龟”

已经不仅存在于LOGO语言和海龟机器人。“小

海龟”的绘图方式已经成为一种设计思想,“海

龟图形学”在多种编程语言和科学研究中都得

以应用。

Lindenmayer系统,简称L系统,是由荷

兰乌特勒支大学的生物学和植物学家,匈牙利裔

的林登麦伊尔于1968年提出的有关生长发展中

的细胞交互作用的数学模型,尤其被广泛应用于

植物生长过程的研究。基于L系统的分形图形

的绘制就使用了小海龟绘图法,通过更高级的

编程语言,能够绘制出三维的植物生长模拟图。

12

China Science & Technology Education

一些编程语言专门创建了“小海龟”的类

库,便于初学者上手学习,如Small Basic、

Go语言、Java、Python等。伴随着人工智能

产业和编程教育的发展,Python近几年受到了

更广泛的关注。Python是吉多·范·罗苏姆于

1991年开发的一种解释型、高级编程、通用型

编程语言。与其他语言相比,Python的语法

更加优雅、简单,可读性更高,因此全球各国

都把Python视为更适合教育使用的编程语言。

Scratch是编程教育启蒙阶段的优秀工具,

Python则承担了帮助学生学习编码效率更高、

功能更复杂的代码式编程的重任。同样为了实

现“低门槛”,很多高中和大学都选择使用

Python的Turtle类库作为起始学习内容。即使

要使用抽象的代码和语法编码,Python Turtle

依然为学生提供了直观的共鸣式学习环境。学

生可以很容易地预测和理解程序的结果,并且

主动探究新代码的应用和复杂逻辑的实现。

2019年,由中国科协青少年科技中心和

中国青少年科技辅导员协会主办的全国青少

年创意编程与智能设计大赛中新增了Python

比赛项目。大赛的Python赛项面向初高中学

生,赛项分为科学探索、实用工具、数字艺术

和互动游戏4个类别招收作品。具体要求可以

访问大赛官网(aotong.

org)。

回顾“小海龟”40多年的发展,我们不禁

感叹,这只“小海龟”几乎影响了今天所有编

程教育产品与教育机器人产品,甚至间接影响

了个人计算机和编程语言的基础性设计。派普

特与皮亚杰2位教育巨匠塑造了“小海龟”的

灵魂,后来的人们与“小海龟”相遇,不断激

发出新的火花。在人工智能备受重视的时代背

景下,我相信小海龟背后的思想宝库还有源源

不断的惊喜等待我们挖掘。

参考文献

[1] 西摩尔·派普特著,梁栋译.因计算机而强大.新星出版社,

2019:26-27

[2] Mitchel Resnick, John Maloney, Andrés Monroy-

Hernández, et al. Scratch: Programming For All.

Communications of the ACM, 2009, 52 (11):60-67

[3] Alan C. Kay. The early history of Smalltalk. ACM

SIGPLAN Notices, 1993, 28(3): 69-95


本文标签: 学习 编程 机器人 教育 编程语言