APP下载

编程学习与儿童认知发展关系的探讨*

2021-11-25耿凤基

应用心理学 2021年3期
关键词:编程创造力儿童

王 琳 耿凤基 李 艳

(浙江大学课程与学习科学系,杭州310058)

1 引 言

随着科学技术的飞速发展,计算机等电子设备与人们的关系日趋密切,与计算机紧密相关的编程能力正逐渐成为21世纪人们的重要素养。编程学习是培养学习者编程能力的主要途径,除此之外,它还能激发学习者今后从事与科学、技术、工程、数学相关职业的兴趣,为未来的劳动力市场提供所需的人才(K-12 Computer Science Framework Steering Committee,2016)。因此,编程学习成为了新时代背景下教育和心理领域的一个研究热点,受到研究者和各国教育部门的重视。

在国家政策的推动之下,编程学习日益普及,学习者群体逐渐从成人和青少年扩展到学前儿童。在英美等发达国家,政府积极鼓励学前儿童参与到编程学习中。例如美国计算机科学协会携手多个教育机构发布的《K-12计算机科学框架》(K-12ComputerScienceFramework),描述了学前计算机科学教育的主要框架(K-12 Computer Science Framework Steering Committee,2016;赵中建 & 周蕾,2017)。英国教育部宣布儿童从5岁起可接受计算机教育(Department for Education & Truss, 2013)。在亚洲,日本、新加坡等国家也启动了针对学前儿童、小学生的编程学习项目(Digital News Asia,2015;日本文部科学省,2019)。我国同样倡导从小培养信息意识和计算思维(中国教育报,2017)。政府建议在中小学阶段逐步推广编程教育,将编程学习作为综合实践活动的主要方式之一(中华人民共和国教育部,2017)。在国家信息化教学实验区,将编程课程作为课程改革的组成部分(中华人民共和国教育部,2020)。在国家政策的推动下,编程课程不仅进入了学校、幼儿园等正规教育体系,也受到校外培训机构的重视,在社会上形成了较为广泛的影响力(孙丹 & 李艳,2019;王叶,郭培才,陈炎辉,戴程,2018)。

开展早期编程学习对人才培养具有重要意义,已被纳入国家层面的战略规划(Bers,2018;孙丹 & 李艳,2019)。然而,早期编程教育作为数字时代的产物,在发展过程中也存在着值得思考的问题。例如,学前儿童的认知发展处于一个快速发展的时期,编程学习会对认知发展产生怎样的影响,需要进一步的探讨。本文旨在阐述学前编程学习的内涵与特点、儿童认知能力发展的特点,并揭示早期编程学习对儿童认知发展产生的影响,以期为未来学前编程教育的开展提供借鉴。

2 学前编程学习的内涵及特点

学前编程学习的内涵最早由Papert(1980)提出,他认为编程学习是一个促进儿童发展问题解决、团队合作、坚持性、逻辑数学思维、抽象思维和创造力等能力的过程。随着人们对学前编程学习研究的深入,其内涵也得到了丰富和发展。从计算机和机器语言等学习媒介的角度出发,编程学习是一种学习使用机器语言向计算机输入指令(Manches & Plowman,2017),并最终解决问题的过程(郁晓华,肖敏,王美玲,陈妍,2017)。从知识建构的角度分析,学前编程学习可视为获得编程概念和过程性知识的过程(Scherer,Siddiq,Viveros,2019)。概而言之,编程学习是一个借助电子媒介掌握编程概念和知识,最终解决问题,促进各方面能力发展的过程。

编程学习研究中常提及“计算思维”一词,参与编程学习与培养学习者计算思维之间有着密切的联系(Scherer et al.,2019)。为进一步解析编程学习的内涵,有必要对编程学习与计算思维的关系进行一个简单的梳理。计算思维是人们利用计算机科学的基本概念去解决问题或设计系统,理解人类自身行为的一种思维方式(Wing,2006)。编程学习不仅是培养和发展计算思维的重要途径,也是评估计算思维的重要方法(Bers,Flannery,Kazakoff,Sullivan,2014;Flórez et al.,2017;Grover & Pea,2013;陈鹏,黄荣怀,梁跃,张进宝,2018;陈育贤,2019;陈鹏,黄荣怀,梁跃,张进宝,2018;蒋小涵,2020)。总之,个体的计算思维水平在编程学习中可得到提高(Tang,Yin,Lin,Hadad,Zhai,2020)。

不同年龄的学习者具有不同的学习特点。根据低幼儿童的年龄特征,学前编程学习呈现出具象性、游戏性和迁移性三方面的特点。具象性是指学前期儿童在进行编程学习时,编程学习工具和内容是具体形象的。学前编程学习多使用机器人、指令块等实物编程(tangible user interfaces,TUIs)工具(Sapounidis & Demetriadis,2013)。内容的具象性主要体现在学前儿童通过刷牙等实例了解算法在日常生活中的应用(K-12 Computer Science Framework Steering Committee,2016)。其次,学前编程教育的迁移性体现在编程教育的效果具有迁移作用。元分析及其他实证研究的结果表明,编程学习不仅能发展儿童的编程能力,对认知控制、记忆、创造力、问题解决等能力也有迁移效应(Di Lieto et al.,2017;Fessakis,Gouli,&Mavroudi,2013;Scherer et al.,2019)。这些迁移效应的产生可能主要源于在编程学习过程中,认知控制和记忆等认知能力发挥着重要的作用。最后,游戏是儿童的基本活动形式,也是学前教育区别于中小学教育的显著标志(教育部基础教育司,2002;刘焱,2008)。因此,学前编程学习也体现出游戏性这一特点。具体地看,编程学习从角色定位到情境创设都以游戏的方式贯穿始终。儿童既是学习者,又是游戏中的角色,学习过程同游戏过程融为一体。

3 学前儿童认知能力的发展及其在编程学习中的作用

学前儿童的多种认知能力呈现出快速发展的特点。其中,认知控制和情景记忆能力的发展尤为显著(Erb & Marcovitch,2019;Geng,Canada,Riggins,2018)。认知控制是指运用计划、监测和控制等认知技能达成目标的能力(Akshoomoff,Brown,Bakeman,Hagler,2018;Erb & Marcovitch,2019),主要包括前摄性控制和反应性控制两种类型(Braver,Gray,Burgess,2007;Braver,Paxton,Locke,Barch,2009)。伴随大脑的快速发育,认知控制能力也得到发展。情景记忆是指儿童对事件及与其伴随的背景信息的记忆(Geng et al.,2018;Riggins,2014),其发展特点也与海马结构及功能上的不断成熟存在密切关系(Riggins et al.,2018)。

在进行编程学习时,认知控制和记忆会参与其中。例如,儿童需要根据具体编程任务想象和计划问题解决的方案,这一过程涉及情景记忆和认知控制能力(Kretschmer-Trendowicz,Schnitzspahn,Reuter,Altgassen,2017)。随后,儿童可能会持续使用认知控制能力监测和调整原有方案。监测表现为儿童根据指令检查机器人的行进路线;调整表现为机器人偏离路线时,儿童对错误指令的修正。在监测和调节过程中,记忆建立起了指令与路线之间的关联(Di Lieto et al.,2017)。因此,认知控制和情景记忆这两种重要的认知能力在编程学习活动中发挥着重要作用(D’Autume,Ruder,Kong,Yogatama,2019;Espy et al.,2004;Newcombe,Lloyd,Ratliff,2007;Senn,Espy,Kaufmann,2004;Zhang et al.,2020)。以下,我们将探讨学前编程学习对儿童认知控制、记忆及相关认知学习能力发展的影响。

4 学前编程学习对儿童认知发展的影响

早在1980年,Papert就将编程学习看作一种可能改变和提升人们学习、思考方式或能力的工具(Papert,1980)。这个领域多年的研究支持了Papert的观点,即发现编程学习对儿童认知发展确实有益(周进,安涛,韩雪婧,2018)。元分析结果表明,编程学习对认知发展存在中度的正向迁移效应(Scherer et al.,2019)。本文梳理了学前编程学习对儿童认知发展影响的研究。在检索到的19篇相关文献中,关注认知控制等基础认知加工过程的研究共4篇,约占16%;探讨问题解决、创造力等高阶认知能力的11篇,约占42%;聚焦数学和语言能力的11篇,约占42%。认知控制、记忆是个体的基本认知能力,支持人类各种复杂的认知加工活动(Blair,2002;Meltzer,2018)。例如,认知控制和记忆能力与个体在问题解决过程中体现出的创造力紧密相关(Ahrari,Gargari,Abdollahi,Porkar,Yousefi,2018)。这些基本和高阶认知能力会最终影响个体的学习能力及学业成就(D’Autume et al.,2019;Espy et al.,2004;Senn et al.,2004;Zhang et al.,2020)。因此,下文将从基础认知能力、高阶认知能力及认知学习成效三方面阐释编程学习对认知发展的影响。

4.1 编程学习对儿童基础认知能力的影响

编程学习对儿童的认知控制、工作记忆等基本认知加工过程有提升的作用。根据信息加工理论,认知加工过程涉及认知控制、反应抑制、工作记忆等。以往的研究表明,编程学习能促进上述能力的发展。例如,使用机器人进行6周的编程干预之后,儿童的视觉-空间工作记忆、抑制能力和编程能力能得到显著提升(Di Lieto et al.,2017)。通过Code.org平台进行4周的编程学习,不仅能提高一年级小学生的编程能力,还可促进执行功能的发展(Arfé,Vardanega,Ronconi,2020)。另一个针对小学生的研究表明,在基于硬件和软件的混合编程学习中,态度积极的儿童能够更好地加工自己在认知活动中的负载(Papavlasopoulou,Giannakos,Jaccheri,2019)。因此,编程学习能够对学前和小学低龄儿童的认知发展产生积极的影响。但是,这个领域的研究在学习效果评测、实验设计和被试筛选等方面还有待完善。另外,有待更多研究采用实证研究方法,从认知发展的不同层面来系统探究编程学习对儿童认知发展的影响。

4.2 编程学习对儿童高阶认知能力的影响

编程学习有助于提高儿童的问题解决能力和创造力等高阶认知能力(Di Lieto et al.,2017)。例如,在使用ScratchJr、Ladybug Leaf等进行编程学习时,儿童在解决问题这一维度的后测得分显著高于前测(Amanda,Melissa,Bers,2018;Arfé et al.,2020;Fessakis et al.,2013)。这一结果同样在LEGO和口袋乌龟这类不插电机器人编程学习研究中得到了重复。如果将研究聚焦到新问题情境的解决能力上,儿童在前后测中的得分也存在显著差异(Aranda,Roca,Martí,2019)。从学习动机的角度看,儿童不仅乐于表达自己在编程中遇到的问题,而且能通过交流积极寻求问题解决的思路、计划问题解决的策略(Fessakis et al.,2013)。

在编程学习对认知发展产生的迁移效应中,另一种强迁移效应发生在创造力这一维度上(Scherer et al.,2019),参与编程学习的实验组创造力成绩均优于控制组(Pardamean,Evelin,Honni,2011)。在理论层面,Bers等提出了“积极技术发展框架”(positive technological development,PTD)。在这一框架的指导下,儿童可以通过实物编程学习发展创造力(Bers,2010)。已有研究根据PTD框架中的标准对儿童的沟通、合作、社区建设、内容创建、创造力和行为选择进行了评估,结果显示编程学习在儿童创造力培养方面最为有效(Burleson et al.,2018;Sullivan & Bers,2018)。

解决问题能力的培养在编程学习研究中已经得到了广泛的讨论,编程学习中的创造力培养日益受到研究关注。但是,创造力已有成熟的测试方式,编程能力尚缺可靠的测量工具。若要科学地证明两者之间的关系,需要研究者设计、开发学前编程能力的测量工具。

4.3 编程学习对儿童认知学习绩效的影响

大量的研究表明,编程学习会积极影响儿童的数学和语言能力等认知学习绩效。元分析研究结果显示,编程学习的绩效可以迁移至数学能力,并具有较大的效应量(Scherer et al.,2019)。编程学习对数学能力的具体影响体现在排序等技能、数学概念掌握能力以及数学学习兴趣这几方面。其中,通过编程学习发展儿童排序技能的研究是最为普遍的(Bers et al.,2014;Kazakoff & Bers,2012;Kazakoff,Sullivan,Bers,2013;Nam,Kim,Lee,2019;Toh,Causo,Tzuo,Chen,Yeo,2016)。除了排序技能,编程学习还有助于提升儿童的计算、比较数字大小、认识形状等能力(Fessakis et al.,2013;Sullivan,Kazakoff,Bers,2013)。儿童对数学概念的掌握能力也可通过编程学习获得发展。如参与Blue-Bot机器人编程学习可提升儿童对复杂数学概念的掌握能力(Aranda et al.,2019)。最后,编程学习还可激发儿童学习数学的兴趣(Sullivan et al.,2013)。

已有研究证实编程学习可支持儿童语言能力的发展。在读写方面,编程机器人被视为一种可提高儿童读写能力的工具(Sullivan et al.,2013)。在口语表达方面,研究者认为编程学习或可促进儿童口头语言的表达能力。这可能与编程过程需要儿童不断与同伴、指导者交流有关(Aranda et al.,2019)。针对成年人的神经影像学证据显示,程序员在进行编程理解时,大脑中与语言处理相关的区域被明显激活(Siegmund et al.,2014)。

以上研究结果表明,参与编程学习可提升儿童数学、语言等认知学习绩效。关于成人的编程神经影像学研究已经起步,但针对儿童的还较为缺乏,需要更多的证据来解释编程学习是如何塑造大脑的。以上综述扩展至小学低段,其主要原因是聚焦学前的研究较少。这一事实也表明,开展学前编程学习的相关研究具有现实意义。

5 小结与展望

学前编程学习对儿童认知发展影响的研究主要聚焦于编程学习对基本认知加工过程、高阶认知能力、认知学习绩效等方面。纵览已有文献结果,研究从以下几个层面概述了编程学习现状及未来的发展方向。

5.1 未来研究需注重纵向研究设计

现有实验大多采用横断研究设计,这种设计易受干扰因素的影响,难以客观地反映年龄这一因素的影响。相对而言,纵向研究设计在干扰控制方面更具优势,有助于科学地体现年龄增长与编程学习效果之间的联系。另外,纵向研究更利于观测编程学习所产生的效应是否具有持续性。因此,采用纵向研究设计可弥补现有横向研究设计的不足,为开发各年龄段的编程课程提供科学依据。

5.2 开发可靠的测量工具

在已有编程学习研究中,尚缺能推广和应用的编程能力测量工具,未来研究需开发可靠的学前儿童编程能力测量工具。科学化是教育测评领域一直追求的目标(刘三女牙,杨宗凯,李卿,2020),这一测量工具在设计时首先需具有充分的信度和效度。其次,不受机器人或软件等载体(媒介)限制,在使用中应能避免因儿童计算机操作能力不足而影响结果的问题。规范的测量工具不仅可测得儿童真实的编程能力,还将推动编程学习实证研究的开展。已往的研究多以准实验研究为主(Bers et al.,2014;Nam et al.,2019;Sullivan & Bers,2018),真实验研究相对缺乏。借助有效的测量工具,通过脑电、fMRI、近红外等手段进行真实验研究,可帮助研究者揭示编程学习影响儿童认知发展的内在机制。

5.3 系统探究编程学习对儿童认知能力的影响

已有研究关注了编程学习对认知控制、创造力和问题解决等认知能力发展的作用。实际上,学前儿童诸多的认知能力都处于快速发展期,需通过系统研究来厘清编程学习对认知发展的影响。从研究深度上看,尚待阐明编程学习影响认知发展的内在机制。从研究广度上说,还需囊括更多的认知成分,来揭示编程学习可能对认知发展的哪些层面产生影响。

5.4 关注其他可能影响编程学习及认知发展的因素

在编程学习中,儿童的个体差异、机器人或软件的款式、教师等其他因素也会对学习迁移的效果产生影响。例如,个体差异中的年龄这一因素,小学生对高级编程能力的掌握明显优于幼儿园儿童(Amanda et al.,2018;Sullivan & Bers,2015)。对于同一年龄不同性别的儿童,男童使用机器人部件的表现优于女童(Sullivan & Bers,2013;Sullivan & Bers,2015)。除去个体差异,编程学习的机器人或软件款式的差异可能对认知发展存在影响。另外,教师、干预时长等均可能成为潜在的影响因素。在未来,这些因素有待学者们深入研究。

6 实践启示及结语

探讨编程学习对儿童认知发展的影响不仅能为研究者提供借鉴,也可为实践者带来启发。从教学实践角度出发,本研究提出了学习目标、学习内容、学习工具和学习效果测评四个维度的建议。在学习目标的制定上,要符合儿童年龄发展的水准。制定的目标不仅体现在对编程思维发展的影响上,也要注重对相关认知能力发展的积极作用。在学习内容上,应基于实证研究结果,选择符合学前儿童认知发展水平的内容和形式进行学习。在学习工具的选择上,建议优先考虑不插电机器人。在掌握相关概念之后,可以逐渐融入图形化编程以及混合编程工具。另外,还需加强学前儿童编程学习的评测,对编程思维和相关认知能力发展的影响等方面,综合评测学习效果。

综上所述,编程能力正成为未来学习者的重要技术素养,编程教育的对象在逐步走向低龄化。为了科学有效地开展学前编程学习,我们有必要了解编程学习会如何影响儿童认知能力的发展及其内在机制。本文通过对已有研究的梳理,概括出早期编程学习影响学前儿童基本认知加工过程、高级认知能力和认知学习绩效三个主要方面。从今后的研究发展趋势来说,该领域的研究还需从设计、方法和内容等层面进行变革,以深入了解编程学习对认知发展的影响机制,为有效开展儿童编程学习提供科学依据。

猜你喜欢

编程创造力儿童
创造力从哪里来? “捣蛋专家”告诉你
以生成性培养创造力
元征X-431实测:奔驰发动机编程
元征X-431 PADⅢ实测:斯巴鲁森林人(FORESTER)在线编程
纺织机上诞生的编程
激发你的创造力
激发你的创造力
学编程,先画画
留守儿童
六一儿童