提倡孩子从小学编程的芬兰,如何教编程?
在美国芬兰大使馆,庆祝芬兰教育成就时,一批外交官和教育专家,围绕“美国,要不要在每间教室放一台IPad”进行了深入的讨论。芬兰人对此非常迷惑:教育计算机科学,必须要孩子使用电脑才能开展吗?
芬兰教育专家认为:如果平板能够增强学习能力,那就用。如果不能,那就忽略,继续想办法增强孩子们的学习能力。总之,问题不在于要不要用平板电脑,而在于如何增强学习能力。那么,芬兰的教育者是如何理解计算机这门学科的?
目前编程是北欧国家教育大纲的一部分,他们希望孩子们从小学习编程。但他们的学习方法不同于美国一些地区,不是单独学习编程就是编程,将编程作为一门单独的技能。在芬兰,孩子们学习如何用编程的思想来探索或学习跨学科的内容。
芬兰的这种思维模式旨在实现以下目标:让编程和代码更容易激发孩子各方面的兴趣,让孩子们通过感受与科技相关的活动,体验到科技与生活息息相关。
Linda Liukas 是芬兰的一名程序员,同时也是作家和插画师,她曾和芬兰的教育机构合作,使教师和学生对科技不再感到神秘和高不可测。她出版了一套系列图书 Hello Ruby,创作了一个充满想象力的角色Ruby,Ruby引导学生在学校的环境中无形中学到编程的基本原理。比如,体育课上,孩子们在音乐声中,重复一系列舞步来感受“循环”这个计算机科学的概念:拍手,拍手,踏步,踏步,跳跃!然后,再重复这样的动作,来体验循环的概念。课程可以采用不同的组合,孩子们可以学习不同的循环类型。
在手工课上,孩子们可以通过编织来学习循环概念。有时保持同样的针脚,有时采用不同的针脚,于是形成了编织的花样。孩子们被故事情节所吸引,孩子们会明白,不同的结果是由于不同的指示而生成的。
对于教育孩子们理解计算机科学的本质,Liukas表达了自己的想法:孩子们对于如何使用技术已经非常精通,他们完全可以不用学习就使用iPhone进行导航。所以,在计算机科学教育上,Liukas 特别推崇美国计算机教授Mark Guzdial的一段话:
我们希望学生明白计算机能做什么,人类能做什么,并且明白这两者的区别是什么,为什么会有这样的区别。理解计算是一个有极强心智模型的概念机。
也就是说,理解如何使用某事物与理解某事物的工作原理是不同的。因此,可以通过多种方式去教育孩子们学习编程,Liukas提到,多种方式学习编程概念,可以为孩子们提供学习相关技能的机会,如合作能力,讲故事能力,和创造性思维的能力等。
当然,现实实施中会遇到师资的问题。Liukas也曾在演讲中提到:“很明显,这对老师的要求很高。需要所有学科的老师,从科学老师到手工老师,都理解编程的基础概念和知识。当然,这对有相当大教育自主权的芬兰来说,如何管理、评估教学成果依然是很大的挑战。”
尽管存在挑战,芬兰依然可以将此类方法实施到具体的教育中。因为,芬兰将教育看作是国家建设与经济发展的基础。在北欧,虽然挪威有石油,瑞典有矿产,丹麦有银行业,但芬兰有公民的大脑。更重要的是,芬兰高度重视教师,将教师看作能激发学生的指导者,而非舞台上的圣人。从1979年起,在芬兰,要成为一名教师需要硕士学位,教师属于薪水较高的群体。
计算机是一门相对较新的学科,目前尚无国际性测评,我们暂时无法衡量芬兰在这方面的教育成果。但Liukas认为,芬兰可以开发出Linux操作系统,研发出世界知名的诺基亚手机,可见科技是其经济发展的重要推动力。
Linux 的最初开发者 Linus Torvalds 是这样看待编程教育的:
程序像一种魔法,由你开发的程序,来告诉计算机要做什么。要理解编程的本质,这样的话,学校的编程教育将会是一件有趣的事,而不是因为大家都要学而被迫去学。
答案显而易见,如果认为计算机科学就是门单独的学科技能,那么学习计算机科学当然得有电脑才能学习。如果认为计算机科学重要的是理解计算的概念,理解计算与生活的关系,理解计算机与人的思维方式的区别,那么要先在生活中理解体会计算的本质,然后再去用像计算机这样的工具去实现计算目标,这样才算达到学习目标了。因此,可以根据不同年龄孩子的认知水平,需要电脑的时候再配备,而不必每间教室都安置电脑。
可见,对某门学科的概念与目标的理解不同,学习方法就会迥然不同,当然培养的人才也会有本质的区别。学习到底要学习什么?学习技能,学习思考方法,还是学习如何观察、认识世界的方法?教育要帮助孩子们理解世界的本质,理解第一性原理。
“世界上最大的问题也只是由一些小问题组合形成的。”