从战胜最顶尖的国际象棋选手到驾驶飞机,再到进行股票市场的交易,计算机在现代生活的各个领域无孔不入。自从AlphaGo战胜李世乭以来,有人开始惊呼:“为机器主子服务做准备,现在开始学编程!”当然,也有人选了另外的一条路:我是不学了,还是让我的孩子学吧……
不过专家表示,尽管计算机无处不在,孩子们尚未对这项技术的理解和使用做足准备。为了不让孩子输在起跑线上,很多家长开始给孩子使用“学习编程”的应用程序和玩具。这些玩具按照适用年龄分类,从机器海龟到专为儿童设计的可视化编程语言,涵盖了多种类别。不过“可编程机器人”或《雪人游戏》,能把一个孩子培养成下一个艾伦·图灵或者斯蒂夫·乔布斯么?
华盛顿大学西雅图分校的计算机教育研究者安德鲁·柯(Andrew Ko)说,目前我们还没法确定这一点——这是因为针对这一主题的研究少得可怜,甚至少于对传统课堂外的研究。“我们对于计算机教学方法的认识还很不成熟”,柯说道。研究人员认为,编程app和玩具不应取代用于传统童年活动的时间,无论是玩泥巴还是学习阅读。但另一方面,较早接触这些产品能培养孩子们的热情,这可能成为他们在未来从事计算机科学的动机。
对大多数幼儿来说,他们需在掌握读、写能力后才能使用编程app和玩具。但这并不妨碍他们通过玩具学习编程最基础的结构单元,例如通过简单的按键就能对小海龟的运动进行编程。到目前为止,我们还不清楚较早接触编程应用程序或玩具是否可以使这些孩子更聪慧,我们甚至不确定这能否帮助他们成为更优秀的编程者。
“很多家长存在这样一个误区:如果我把所有的编程玩具交给孩子,他们就能成为编程天才,”舍娜·瓦迪亚纳谭(Sheena Vaidyanathan)说道,“但我并不认同这样的方法。对儿童来说,在泥巴地里玩耍与玩益智游戏同等重要。
”同样的,柯介绍道,一些研究认为将计算机科学带入课堂有利于培养学生将来的计算机技能,但目前没有证据表明在课外时间开小灶玩编程游戏能起到同样的效果,也没有某种编程玩具及app能保证使孩子成长为下一个本贾尼·斯特劳斯特卢普(Bjarne Stroustrup,C++的设计者)。
“一些人认为这些玩具能促进孩子们学习编程。这种观点并不错,不过它们能起到的帮助可能只是编程学习中最初的1%。”柯说道。
“这些编程玩具教给孩子们的并不是多么高深难懂的东西。通过这些玩具,孩子们意识到计算机科学并不可怕,他们能从学习中收获信心,”斯坦格拉斯解释到。尽管这些游戏和玩具能提升孩子们的学习动力,但柯强调,目前的研究无法为这种动力的持续性提供证据,因而这样的动力是否能延续到真正的计算机编程也就不得而知。
Code.org是一家旨在帮助更多人接触计算机科学的非盈利组织,其产品与市场部的副总艾丽丝·斯坦格拉斯(Alice Steinglass)介绍说,有很多以图像为主的编程游戏及app适合五岁及以上的儿童使用,例如可以让孩子们编写自己的故事和游戏的ScratchJr,用可视化语言教编程概念的The Foos,以及能在计算机游戏中学习编程的Lightbot。
斯坦格拉斯补充到,“7岁及以上的儿童就可以使用简化的可视化编程语言,如Scratch、Tynker。”
柯介绍到,进入初中以后,孩子们的思维更加复杂,因而他们能够对其他人可能的行为建立预测模型。同样在这个年纪,他们能对较长段落编程的运行结果进行预估,这意味着他们有能力应对真正的编程语言。“这个年纪的孩子已经具备了制作机器人的能力,比如制作一个警报器来检测淘气的弟弟有没有偷偷溜进自己的房间。
”计算机科学教师,加州硅谷洛斯阿尔托斯学区小学及初中阶段的课程设计师舍娜·瓦迪亚纳谭(Sheena Vaidyanathan)说道。“孩子们也可以利用Arduino这样公开的免费程序,或是Raspberry Pi之类的袖珍计算机来制造自己的机器人和其它小型装置。他们甚至可能在这个阶段具备了应对真正的编程语言(例如Python和C语言)中基本原理的能力。”
较早地接触计算机科学对于女孩以及传统观念上的少数族裔尤其重要。根据国家科学基金会的数据,在2012年只有14%的计算机科学学士学位归属于女性,而这一数值在少数族裔中也不到20%。一些研究表明,较早地接触编程可以帮助缩小性别与族裔之间的差距。例如,一项由谷歌开展的研究发现,较早地接触计算机成为促使女生在大学专业选择时坚持学计算机的因素之一。
斯坦格拉斯描述了这样一个场景:在编程基础课上,当第一次接触计算机科学的学生发现他们的同学已经有数年做黑客入侵学校网络或是编写python语言的经验时,他们会感到十分恐慌。“这就像你参加一门汉语入门课程时,发现班里其他同学都是说汉语长大的,这会让你感觉很失落。”斯坦格拉斯说。还有一个隐藏的问题是,编程课会成为新的“钢琴课”、“奥数课”吗?
大多数玩具的目的是让孩子们解决“开放性趣味问题”,并能够享受这种感觉。这些玩具的另一项作用在于,让孩子们在克服与机器人交流过程“挫败感”的过程里,收获勇气与毅力。柯与他的同事发现,勇气、坚持、逐渐成长的思维模式,或是对“通过练习就可以取得进步”的信仰,可能是成长为编程高手的关键素养。在今年五月的人机交互特别兴趣组会议上,这一成果将予以展示。“从我们的研究中很容易看出,每个人都可以学习编程。
编程并不是与生俱来的,也没有哪个基因会导致你成为geek。”柯总结到。更为重要的是,这些技能对孩子们的帮助不仅局限于计算机本身。“无论你学什么,无论是不是编程,你在学编程时的收获都能助你一臂之力。”舍娜说。