1968年,人工智能理论的奠基人,儿童心理学宗师皮亚杰的得意弟子,MIT的派珀特教授开发第一个为儿童设计的LOGO编程语言以及LOGO机器人。他怀抱着三个目的:
  • 儿童学会编程
  • 儿童使用编程来学习其他学科,换句话说颠覆现有的教学模式
  •  建立一个万众创新的社会,就像他共同建立,创意无限的MIT多媒体实验室

 

他对儿童的热情,引发了很多人追随,最重要的有图灵奖得主艾伦凯,他为了创造适合儿童的程式语言,在物件导向编程做出重大的贡献,为了创造适合儿童使用的电脑,在图形化作业系统、滑鼠的发展上也做出重大贡献,这刚好是他得图灵奖两大理由。像是乐高CEO也主动拜访派珀特教授,促成了派珀特为乐高开发LEGO-LOGO机器人,最后为纪念此书,更名为Mindstorms机器人,成为人类历史上最畅销的机器人系列。他也督促了他的博士生瑞斯尼克,改良LEGO-LOGO的图形化编程系统,成为Scratch,是目前全世界最通用的儿童编程语言。

 

 

在取得如此辉煌的成绩之后,我们回过头来看待此书,惊奇的发现,原来他的理论大部分都还未被实现。我对这本书的形容是准确的狂想,随着时间线推移,实现的部份都很准确,还没实现的部份,经常给我一种感觉,居然还有人这样想!就如同前苹果总裁序上所言,如果过去短短几十年的资讯时代告诉我们了什么,那会是看似疯狂的想法,经常会是最正确的。所以不管是书的历史,或是时代的历史,都提醒了我们要对这本好像有点“旧”的书,要格外仔细研究。很有可能未来50年,这本书还会是教育改革浪潮中,最重要的定海神针。

 

相传古希腊阿波罗神庙上刻着三句箴言,而其中最有名的就是“认识你自己”,我想〈思维风暴〉对这个两千多年的哲学问题,给出了属于我们这个时代的答案。在二十世纪的时候,我们有佛洛伊德、荣格,他们提出,人有本我、自我、超我,有内向外向,有意识、潜意识、集体潜意识。而派珀特的作法不是这样,他让我们用编程的形式把想法写出来,或用程式实现自己的想法,透过这种形式,我们不但静态地认识了自己,还进入下一步,动态地修改自己的思考方式。在第七章的时候派珀特会解释,其实这就是人工智能的技术手段。人在了解自己如何运作的套路之后,既可以让电脑顺这个套路模拟、或是操纵人类,人类也可以反套路,让机器无法模拟、无法操纵、或许改善这个套路,让自己活得更好。

 

派珀特在数学、人工智能、心理学、或是儿童编程都有着很深的见解乃至于根本性的贡献,他并不仅仅同时是四个领域的专家,他真正让人难以超越的地方在于融会贯通这四个领域。这本书中派珀特提到了,这其实是跟皮亚杰学习的手法,他的老师皮亚杰把认知论的哲学问题,转化为儿童发展的心理学问题,所以在哲学上取得很大进展,又把儿童发展的心理学问题,转化为数学内部结构问题,所以在心理学上取得很大进展。派珀特同样把数学证明过程转化为心理学问题(结语),把心理学理论转化为人工智能理论(第七章),又把人工智能理论转化为儿童编程教育方法(第三章)。我念博士的时候,著名的数学家Gromov曾在上课的时候也曾提到代数拓扑里,分别理解代数、拓扑都很快而且很容易,但是真正重要以及困难的是要同时考虑代数、拓扑两件事。在这里也是类似的道理。

 

我一开始提到了派珀特的第三个目的是建立一个创新的社会,但其实这本书连创新(innovation)这个字都很少提,那这句话又从何而来呢?相对的本书出现最多的是管用的想法(powerful Idea),这两者会不会有什么关联呢?第六章派珀特解释了创新需要想法,那为什么派珀特不用创新的想法而是说管用的想法?这其实跟派珀特对知识结构发展的看法有关,他继承了皮亚杰、建构主义的看法:知识结构不会凭空出现的—凭空出现的东西人类根本无法理解—新的知识结构永远是建立在旧的知识结构上。如同贾伯斯所对创新的看法,就是把熟悉事物跟熟悉事物之间,补上看不见的那条平面几何辅助线,所谓管用的想法指的就是那条线,或是指实用的画线方法。

 

在建构主义的语境之下,知识结构一步一步地发展,管用的想法把原本没有关联的知识结构,整合在一起。管用的想法可能是个寓言故事、比喻、幽默、双关语。管用的想法甚至可以自我指射的,就比方说我们现在尝试找出管用的想法、创新的想法、创新之间的关联,最后找出的关联是在多个领域都适用的,因此自然也是个管用的想法。建构主义不一味追求创新,但其结果往往是非常创新的,这本书就是最好的例子。皮亚杰用来处理哲学问题的手法,在心理学并不新,但在哲学上是创新的,皮亚杰用来处理心理学问题的手法,在数学上并不新,但在心理学上是创新的。所以我们才能理解派珀特反复强调,要找出跨学科、跨领域中的相通之处,人文学科研究里面可能要用到数学演算法,数学证明推导过程中可能有心理潜意识结构,西方心理学跟东方哲学碰撞之后,也会产生新的火花。

 

创新的方法论固然重要,目前在现有教育上,真正面临的大问题是评量的问题,或者称之为大学入学考试问题,我们要如何衡量,无论是用那种方法培养出来的创新意识以及创新能力。这一直以来也是一个难点,因为用传统考试方法,只能测量出熟练度,一般认为创新意识以及创新能力是难以衡量的。本书其实也提供一个思路解决这难题。

 

与其让学生特地为“创新”来做一个象牙塔里的计划,不如让学生来解决实际问题,所以我们不衡量学生的“创新”程度,而是衡量解决问题的完整性、重要性。就如同现在的艺术科学生、会建立自己的作品集,以后所有人不管是求学或是就业,都会携带自己的一个数位作品集,这可能是一个虚拟空间,一份报告文档,或是一个程式库。随着数据采集不管在现实空间、数位空间逐渐无孔不入,以及公众数据流通性逐渐提高,等到学校背起研发的责任时,这件事逐渐成为可能。

 

另外一个家长、老师、甚至研究者可能会问的问题是,书中的LOGO语言是否过时,有什么替代品?一般来说学习电脑语言主要看周围的人会什么语言,初学者大部分的时间,还是需要人花时间指导,要等到进阶之后,才适合从网路上自学。现在大部分语言支持LOGO中的海龟画图,纯粹就语言而论,选项其实很多。我们这里简短的说明比较相关的编程语言选项。

 

LOGO语言其实是LISP语系的分支,这个语系还是非常活跃以及受专业人工智能研究员的欢迎。Scratch作为派珀特学生开发出来的图形化编程语言,是最容易取得的LOGO替代品,也支援完整的海龟画图,书中的很多图案都是透过Scratch画出的。Scratch更擅长于制造卡通动画,最近加入了物联网概念,一般是8岁左右开始学习。我设计的GOBOT(获得IF及红点设计奖),是无需荧幕的实体化编程,算是把海龟编程的一部分拿出来,可以看作是物联网桌游,老师学生可以灵活修改“桌游”这部分的规则。如果要验证派珀特理论是否超越皮亚杰,这个是最适合的:适用年龄层最低、操作最简单、3-4岁就能开始学了。值得一提的是GOBOT虽然功能少,但在数学教学的适用性,反而超越了Scratch、LOGO,大致上结合了小一到小六大部分的数学概念:算出代数、几何、应用数学、统计。

 

 

在我们这一两年使用GOBOT的测试之中,我们发现对于3-7岁儿童来说,学习编程流程描述语言并不困难,至少比解决代数问题、写作来说容易许多,这是也初步证实了派珀特最核心的主张,翻转皮亚杰儿童认知发展理论是可能的,我们可以打破形式运算阶段、具体运算阶段、甚至是前运算阶段之间的壁垒。派珀特在书中虽然没有明说,只说这对人类有重大意义,但是MIT人工智能实验室之所以花几十年的时间研究这件事,因为其暗示了大规模地培养天才的可行性。我们希望随着GOBOT的正式量产,我们可以开展关于这方面的规模试验,提出更多相关研究报告。

 

这本书的翻译出版也是历经波折,我要感谢台科大图书的范文豪总经理、台科大图书的庄孟融编辑,每个章节都仔细检查出上百处大小翻译问题,以及共同翻译的骆庄奇小姐,大大地减低我的负担。我也要感谢我的朋友、员工、合作伙伴,以及崔茂培老师。最后我要感谢我父母,无条件地完全支持我,让我得以专心完成此书翻译以及GOBOT机器人的开发。