编程学习培养大班幼儿计算思维能力的实验研究
2022-05-22颜玲金禹蕙杨卉陈翠
颜玲 金禹蕙 杨卉 陈翠
【摘要】计算思维渐渐成为数字化社会关注的重点,普及计算思维教育,让人们能够充分运用计算思维来认识世界和解决问题已成为共识。计算思维教育最好从儿童早期开始,编程是促进儿童计算思维发展的重要途径。本研究针对108名5~6岁儿童实施为期8周的编程课程,研究结果表明:编程学习可以有效促进儿童计算思维能力的提升,男孩计算思维能力显著高于女孩,低分组儿童计算思维能力的提升显著高于高分组儿童。建议要重视幼儿编程和计算思维的培养,实施有针对性的计算思维教育,尊重幼儿学习上的性别差异,对幼儿的学习进行合理的评估。
【关键词】编程学习;计算思维;大班幼儿
【中图分类号】G612 【文献标识码】A 【文章编号】1005-6017(2022)04-0031-07
【作者简介】颜玲(2000-),女,江苏扬州人,苏州科技大学教育学院本科生;金禹蕙(2000-),女,江苏南通人,苏州科技大学教育学院本科生;杨卉(2000-),女,浙江台州人,苏州科技大学教育学院本科生;陈翠(1983-),女,山东枣庄人,苏州科技大学教育学院讲师、硕士生导师,博士。
一、问题的提出
计算思维(Computational Thinking)是指通过利用计算机科学的基本概念来解决问题、设计系统和理解人類行为的过程[1]。计算思维正在影响着许多学科,包括算法医学、计算经济学、计算法律、计算社会科学和数字考古学[2]。除此之外,计算思维甚至被提升为生活技能,到21世纪中叶,计算思维将成为一种基本技能,就像阅读、写作和算术一样,人人都将使用[3]。
以计算思维教育为核心的各种举措正在全球兴起。许多国家都在重视学生计算思维能力的培养,为日新月异的数字化社会做好准备。美国教育部教育科技办公室(U.S. Department of Education Office of Educational Technology,OET)制定了国家教育科技政策,专注于提高学生技术素养,并将计算思维作为幼儿教育环境中的优先事项[4]。欧洲及其他地区的教育部正在加紧努力,将计算思维、编程、计算、算法思维、计算机科学融入正规教育。由34个欧洲国家教育部组成的非营利组织“欧洲学校网”(European Schoolnet)于2018年发布“北欧在义务教育中引入计算思维和编程的方法”(The Nordic approach to introducing Computational Thinking and programming in compulsory education)。目前,超过20个欧洲国家在其课程中整合了编程或计算思维[5]。由此可见,计算思维教育在多个国家得到了普及和重视,并且有低龄化趋势。
儿童生活在数字化的社会中,为了能有效地参与到现代数字世界中,也为未来工作做好充分准备,势必要掌握计算思维。如果要确保所有人都有理解和应用计算思维的共同和坚实的基础,那么这种学习最好在儿童早期进行。编程是促进儿童计算思维发展的重要途径。实证研究表明,年仅4岁的儿童就可以通过编程的学习掌握计算思维[6]。使用机器人等有形系统,可以积极地影响幼儿正确排序和调试、排除故障的能力;使用可视化编程工具,学生可以开发简单的算法[7]。当给予适合年龄的技术、课程和教学法时,幼儿可以积极参与计算机编程的学习,迈出发展计算思维的第一步[8]。但目前关于编程促进幼儿计算思维发展的研究还非常有限,仍需更多的实验数据来支撑这一观念,况且幼儿在认知能力、抽象思考和执行功能等方面还处于发展阶段,计算思维概念对于幼儿来说,哪些是容易掌握的、哪些是难以理解的,还需要进一步研究证实。因此,本研究基于美国塔夫茨大学(Tufts University) DevTech 研究小组专为幼儿开发的编程活动,在幼儿园实施为期8周的编程课程,以准实验研究法探讨编程学习对幼儿计算思维发展的促进作用。
二、研究方法
(一)研究对象
本研究为准实验研究,采用方便取样法,研究对象为苏州市两所普惠性幼儿园的大班幼儿。在两个幼儿园各随机抽取两个大班,并按班级随机分配为实验组和控制组。在研究开始之前,每位家长会收到研究者发送的知情同意书,充分尊重家长的知情权,据反馈,所有家长都同意参与此项研究。因此,两个园总计,实验组62人,控制组63人。由于课程期间有儿童请假、不愿意答题等因素,最后参与测量的幼儿分别为,实验组53人,控制组55人。
(二)课程实施
实施者为某高校学前教育专业的研究生,在校期间已通过幼儿教师资格证的考核,具备幼儿教师资格。面向大班幼儿,本次实验共进行8次课程,包括7节编程课程以及最后一次的高峰活动,课程总计时长为8~11小时之间。每周实施一节课程,共进行8周,单元课程时长维持在60~80分钟。在幼儿园每周三下午或周四下午的区角活动时实施我们的课程,减少对园内正常课程的干扰,并根据计算思维迁移能力测试,对实验对象进行前测和后测。
(三)课程设计
本研究采取的课程主要改编自美国塔夫茨大学(Tufts University)DevTech研究小组开发的“机器动物”(Robotic Animals)课程,该课程整合了基础生物学的主题和机器人编程的核心概念[9]。特别强调的是:(1)区分生物和非生物,能够根据它们的共同特征对生物和非生物进行分组;(2)认识到动物是利用它们的感官与周围环境产生互动的;(3)理解动物的栖息地是如何满足其基本需求的。
第一课:坚固的物体。了解、区分生物和非生物的特征。幼儿扮演工程设计师的角色,对自己知道或者感兴趣的一些生物或非生物个体进行模型创作,利用各种工艺和可回收材料修饰他们的机器人模型,并保证其坚固性,这对后续的学习至关重要。
第二课:机器人是什么?学习什么是机器人。了解KIBO机器人的零部件,对其进行描述,学会对机器人的程序块进行扫描,最终建构出一个可以移动且坚固的机器人动物。
第三课:编程是什么?掌握顺序的重要性。知道每个程序都必须以Begin开始,以End结束,其余所有程序块都必须放置在两者中间。不同的指令顺序会产生不同的效果,尝试调试自己设计的程序,从而使机器人像特定动物那样移动。
第四课:什么是传感器(1)?知道机器通过传感器感知周围的环境,而人类和动物则是通过感官感受。认识KIBO的声音传感器,使用“等待拍手模块”进行编程。
第五课:什么是重复循环?引导幼儿认识动物的迁徙现象,从而认识重复循环。幼儿能够识别需要循环程序的情况,从而设计一个循环的运行程序,并学习使用数字参数修改循环运行的次数。知道只有将重复指令置于Repeat和End repeat中间,机器人才能执行某种循环。
第六课:什么是传感器(2)?联系人类和动物的感官,学习距离和光传感器。能利用距离参数Until Near、Until far和光线参数Until Light、Until Dark编写KIBO的循环程序。分别设计两个程序,一个使用距离传感器,另一个使用光传感器,运行程序,让幼儿讨论机器人会怎么做。
第七课:什么是Ifs?引导幼儿思考不同类型动物睡眠的特点,学习条件程序的语法,知道机器人只执行放在If和End If之间的条件选择。激发幼儿想象KIBO为某种动物,学习使用距离参数Near、Far和光线参数Light、Dark为KIBO编写条件程序,使其在白天和晚上从事不同的活动。
第八课:高峰活动。最后一节课时,幼儿需要综合运用前面几节课的编程知识,以小组为单位,合作制作喜欢的机器人动物,模仿该动物的习性和行为特征,设计指令,运行程序。
(四)编程工具
本研究使用的工具是KIBO编程教具。KIBO是专为4~7岁儿童设计开发的机器人编程工具包,帮助儿童学习基础的编程技能[10]。该工具包中包含车轮、电动机、传感器等易于连接的建筑材料以及不同的有形编程块。设计者在编程块中可以引入许多复杂的编程概念,例如嵌套语句、重复循环、条件语句等。KIBO在机器人中嵌入了扫描仪,使用者根据需求,选择编程块进行排序,再将机器人从左往右依次扫描编程块上的条形码,机器人便能立即按照编程块上的指令和程序作出相应的反应。此外,KIBO工具包还提供能够促进个性发展的艺术平台,儿童可以使用各种工艺材料对机器人进行修饰,运用到日常生活中的各个场景。
(五)测量工具
测量工具修改自德兰(Tran)计算思维评量工具,Tran对小学三年级儿童进行了五个方面的评量,即排序、算法、重复循环、调试、条件[11]。考虑到本次实验对象为大班幼儿,研究者根据年龄适当降低难度,简化了当中的一些选项,合并排序和算法,并增加了两个非常重要的概念:抽象和分解。本评量工具共考察计算思维的六项能力:抽象、排序(算法)、重复循环、分解、调试、推理(条件分支)。测试时和幼儿一对一交流,将每道题目念给幼儿听,幼儿告诉评量者答案或者自行圈出答案,如果幼儿表现出对题目或选项的不理解,则重复念给幼儿听,但不提供任何答案线索。本测试尽最大能力保证所有题目和选项能够让幼儿理解,并且不对幼儿做时间限制。通常幼儿完成测试的时间在15~20分钟,个别幼儿会达到40分钟。
三、研究结果与分析
本研究测试儿童6项计算思维能力,每项由2个问题组成,分别考察抽象、排序、重复循环、分解、调试和推理,共12个题目,幼儿每答对一题计1分,计分范圍为0~12分。
在前测中,实验组和控制组平均分并无显著差异(t=0.348,p>0.05)。后测结果显示,实验组的平均分显著高于控制组(t=4.005,p<0.05)。为直观地了解两组幼儿在六项计算思维能力上的具体表现,对该两组六项测试的平均分进行检验分析,统计结果见表1。两组幼儿在抽象上都获得了最高分,在重复循环上都获得了最低分,且实验组幼儿在抽象(t=2.481,p=0.015,p<0.05)、分解(t=2.400,p=0.018,p<0.05)的测试结果上显著高于控制组,实验组幼儿在重复循环(t=2.727,p=0.008,p<0.01)的测试结果极其显著高于控制组。
为了解性别对编程学习的影响,将实验组数据按性别分成两组进行统计分析。前测中,男、女孩在计算思维能力的表现上没有显著差异(t=1.619,p=0.112,p>0.05)。但后测结果显示,男、女孩在计算思维能力上存在显著差异(t=2.174,p=0.034,p<0.05),并且男孩的平均分(M=7.71)要高于女孩(M=6.32)。这说明,接受编程学习后,男孩在计算思维能力上的表现要显著优于女孩。为进一步了解男、女孩在计算思维单项能力上是否存在显著差异,对六项内容进行t检验,统计结果见表2。在排序(t=3.097,p=0.003,p<0.01)和重复循环(t=3.005,p=0.004,p<0.01)两项计算思维上男孩的得分极其显著高于女孩。
为了解幼儿在计算思维能力上的提升情况,研究者依据心理学中对高低分组的规定,将前测分数的前27%设为高分组(N=14,M=7.57),后27%设为低分组(N=14,M=2.21),利用t检验对两组进行统计分析。在前测中,高分组的单项得分都显著高于低分组,而后测中高分组仅在重复循环和调试上的得分显著高于低分组,其他四项均无显著差异。为深入了解两组在各项能力上的提升,对高、低分组各项能力前后测分数的差异进行样本t检验,统计结果如表3,高分组在抽象(t=-2.868,p=0.012,p<0.05)和排序上的提升(t=-2.500,p=0.019,p<0.05)显著低于低分组。
四、讨论
(一)编程学习有助于提升幼儿的计算思维能力
经过8次课程的编程学习,实验组幼儿的计算思维能力显著优于没有经过任何编程学习的控制组幼儿,这说明编程学习有利于促进5~6岁幼儿计算思维的发展,也印证了弗兰纳里(Flannery)和伯斯(Bers)的结论,有效的教学设计,不仅可以教授幼儿特定技术,而且可以教授计算思维等高级思维技能[12]。也进一步说明,4岁以上的儿童就可以掌握计算思维的强大思想[13]。编程环境是一种功能强大的可重构计算媒体,促使儿童在解决问题的过程中,以清晰、简洁的方式分析、组织、表达和评价自己的思想,帮助儿童让自己的思考过程外显,通过外化的思考来检验自己的想法,反思自己的表现[14],这个过程不仅强化了计算思维能力,还帮助儿童形成了认知灵活性,进而做到知识的迁移。本研究的结果也为5~6岁的儿童能够理解表征和抽象的概念提供了实证研究证据。
(二)实验组幼儿在抽象、重复循环、分解上的表现均显著优于控制组
本研究发现,实验组幼儿在抽象上的得分显著高于控制组,说明经过编程学习,幼儿对生活化情景的判别更加清晰明确,能够更好地抽象出该情境中各项步骤的关系并进行运用。这项结果符合学界的一些观点,即幼儿学习编程有助于抽象能力的提升。重复循环对幼儿来说是较为复杂的概念,但实验组幼儿得分仍显著高于控制组,本实验观察到,大部分幼儿可以单独使用循环进行编程,甚至一些幼儿可以将循环和条件相互嵌入,设计出含有嵌套结构的复杂程序,这说明5~6岁的幼儿能够理解非线性的指令。分解是将复杂的任务分解为多个部分或一系列较简单的子任务的过程,经过编程学习,幼儿可以很好地掌握分解的概念。这与帕默(Palme r)的研究一致,即幼儿能够将编程结构分解成较小的部分,在有限的时间内完成任务[15]。证实幼儿能够理解分解的概念,这不仅是顺序逻辑思维的应用,也是解决问题的过程。
(三)男孩的计算思维能力显著高于女孩
本研究表明,幼儿的计算思维水平存在显著性别差异,男孩在排序和重复循环上的得分显著高于女孩,而在抽象、分解、调试、推理四项上无显著差异。这个结果与之前的研究不一致,科鲁库(Korucu)等人的研究表明计算思维水平并没有性别上的显著差异。虽然女性相比于男性需要投入更长的时间来学习相同的计算思维技能,但这并不意味着他们性别上的显著差异[16]。本研究证实幼儿的计算思维学习是存在性别差异的,特别在排序和重复循环这两项能力上。编程学习有效促进了男孩排序能力的增长,对机器人进行编程时,就必须对机器人的命令进行排序,按正确的顺序放置对象并进行操作,男孩在解决问题时,会联想到编程命令的排序,思考事物的逻辑顺序,女孩虽然排序能力也获得了进步,但在将其迁移到编程之外的应用上有一定困难。男、女孩在重复循环概念上的显著差异,说明重复循环对女孩可能是更具复杂性和挑战性的概念。女孩在编程过程中往往难以明确应该对哪个指令执行重复循环,又或者是她们容易混淆结束块和结束重复块。此外,重复循环还需要运用数值,女孩在抽象出执行命令所需的数值上会出现问题,可能跟她们需要比男孩付出更长的时间去转化有关[17]。
(四)低分组儿童计算思维能力的提升显著高于高分组儿童
实验表明,低分组计算思维的提升显著高于高分组,这与海基拉(Heikkil )等人的研究结果一致。实验中低分组的弱势可能来自自身生理条件、家庭经济条件、社会科技条件和整体教育缺失等多个方面[18],但本研究发现,事先没有接触过计算思维教育的孩子反而会表现得更加努力,这些颇具挑战性的内容使得在计算思维领域处于弱势的兒童取得更大的收获,不仅仅是计算思维能力的提升,更是幼儿社会性、个性、动作和语言的全面发展。因此在学前阶段,幼儿计算思维能力的高低,不能成为教师对幼儿形成观念定型和偏见的依据,教师应在计算思维培养的过程中理解幼儿差异,提供有区分度的教学。
五、教育建议
(一)重视幼儿编程和计算思维能力的培养
幼儿编程和计算思维的学习需要教师和家长的共同努力。一方面,教师自身计算思维能力的提高是为幼儿提供计算思维教育的重要前提。教师应当完善计算思维理论基础,深入理解计算思维内涵,将编程纳入幼儿教学课程,有的放矢地实施编程启蒙教育。另一方面,家园合作是促进幼儿编程教育良好发展的重要因素。计算思维课程更加适合小组教学,且在现实背景下,诸如平板或者不插电编程等的机器人教具也许会在家庭中得到更好的解决。
因此,幼儿园可以向家长宣传计算思维的重要性,同时介绍各类儿童编程工具,特别是一些幼儿编程网站和优质的玩教具。家长也应随时关注孩子的发展情况,对幼儿园编程教育的实施表示理解,共同为幼儿计算思维能力的发展做出努力。
(二)实施有针对性的编程和计算思维教育
编程学习是帮助幼儿掌握抽象、重复循环等计算思维能力的有效途径。因此,教育者应当充分发挥编程学习的价值和优势,有效挖掘编程课程中所蕴含的计算思维要素。在教学过程中,教师需了解幼儿已有的能力水平和生活经验,在此基础上着眼于幼儿的“最近发展区”。对于幼儿难以掌握的计算思维内容,例如重复循环,教师可以先以启蒙为主,将涉及该部分内容的编程课程拆解成更加细致的教学活动,放慢教学速度,逐步提高任务的难度,引导幼儿了解其存在的具体意义并运用到实际当中。此外,教师可以结合趣味性的编程教学,鼓励幼儿运用已掌握的计算思维能力去探索新的知识和领域,帮助幼儿取长补短,从而发挥潜能。
(三)尊重幼儿在计算思维学习上的性别差异
男、女孩在计算思维的学习上存在性别差异,教师应针对男、女孩采用不同的教学方法。对于男孩来说,尤其对于排序和重复循环的学习,教师可以提供难度稍大、更具挑战性的任务,促进其计算思维进一步的发展,满足有差别的认知需要。对于女孩来说,教师可以关注多样化的任务,面对同样的任务,可以给予女孩更多的时间去考虑,或者在同样的时间下,可以为女孩提供不同要求的任务。除此之外,性别上的差异也为教师促进孩子们的合作交流提供契机。在开展编程活动时,教师可以有选择地进行分组,积极促进同伴合作,发挥幼儿的主动性,大胆鼓励幼儿合作解决更多问题。
(四)對幼儿的计算思维学习进行合理的评估
幼儿对于计算思维的掌握程度存在差异,正是这种差异对我们的教育发出挑战并提出更高的要求。教师要及时对幼儿计算思维的学习与发展情况进行合理的评估,为下一阶段的教学提供方向和依据。同时,教师也要相信每一个幼儿都有学习计算思维的潜能,只是接受程度有快有慢,要精心发掘不同幼儿擅长的能力,力求使每一位幼儿都感受到成功的喜悦。让其在儿童早期具有与编程愉快邂逅的经历,这将为他们适应现代化社会,引领数字化潮流奠定坚实的基础。
六、研究反思
本研究对细分后的六项计算思维能力进行了比较,发现了不同维度下各项水平上的差异。但是幼儿在运用这六个不同方面的能力时,其加工处理的机制是否会不一样,背后的影响因素又有哪些,还需要更多深层次的研究来解释这些差异。本研究还分析了幼儿在计算思维方面的性别差异并肯定了这种差异的存在。但由于时间等其他条件的限制,无法再做进一步的追踪研究,没有能够调查性别差异的动态进展情况。如果持续一段时间的研究,或者使幼儿接触类似的编程学习,这种差异是否还会存在,它会怎样发展,未来研究可以更多关注这方面。
【参考文献】
[1] Wing, J. Computational thinking[J]. Communications of the ACM, 2006, 49(03): 33-36.
[2][8] Papadakis, S., Kalogiannakis, M., Zaranis, N. Developing fundamental programming concepts and computational thinking with ScratchJr in preschool education: A case study[J]. International Journal of Mobile Learning and Organisation, 2016, 10(03):187-202.
[3] Wing, J. Computational thinking and thinking about computing[J]. Philosophical transactions of the royal society of London A-mathematical. physical and engineering sciences, 2008(366): 3717-3725.
[4] U.S. Department of Education Office of Educational Technology. Transforming American education: Learning powered by technology [EB/OL]. https://www.ed.gov/sites/default/files/netp2010.pdf.2021-06-15.
[5] Bocconi, S., Chioccariello, A., & Earp, J. The Nordic approach to introducing Computational Thinking and programming in compulsory education [EB/OL]. https://doi.org/10.17471/54007.2021-03-12.
[6] Bers, M. U. The Seymour test: Powerful ideas in early childhood education[J]. International Journal of Child-Computer Interaction, 2017(14): 10-14.
[7] Chalmers, C. Robotics and computational thinking in primary school[J]. International Journal of Child-Computer Interaction, 2018(17): 93-100.
[9] DevTech Research Group. Robotic animals [EB/OL]. http://ase.tufts.edu/DevTech/tangiblek.2021-09-18.
[10] Sullivan, A., Bers, M. U. Dancing robots: Integrating art, music, and robotics in Singapore’s early childhood centers[J]. International Journal of Technology and Design Education, 2018, 28(02): 325-346.
[11] Tran, Y. Computational thinking equity in elementary classrooms: What third-grade students know and can do[J]. Journal of Educational Computing Research, 2019, 57(01): 3-31.
[12] Flannery, L. P., & Bers, M. U. Let’s Dance the “Robot Hokey-Pokey!”: Children’s programming approaches and achievement throughout early cognitive development[J]. Journal of Research on Technology in Education, 2013, 46(01): 81-101.
[13] Bers, M. U. Coding as a playground: Programming and computational thinking in the early childhood classroom[M]. New York, NY: Routledge press, 2018: 77-89.
[14] Fessakis, G., Gouli, E., Mavroudi, E. Problem solving by 5-6 years old kindergarten children in a computer programming environment: A case study[J]. Computers & Education, 2013(63): 87-97.
[15] Palme r, H. Programming in preschool: with a focus on learning mathematics[J]. International Research in Early Childhood Education, 2017, 8(01): 75-87.
[16] Korucu, T., Gencturk, A., Gundogdu, M. Examination of the computational thinking skills of students[J]. Journal of learning and teaching in digital age, 2017, 2(01): 11-19.
[17] Elkin, M., Sullivan, A., Bers, M. U. Programming with the KIBO robotics kit in preschool classrooms[J]. Computers in the Schools, 2016(03): 169-186.
[18] Heikkil , M., Mannila, L. Debugging in programming as a multimodal practice in early childhood education settings[J]. Multimodal Technologies Interact, 2018, 2(03): 42-49.
本文系江蘇省大学生创新创业训练计划项目“编程学习培养幼儿计算思维能力的实验研究”(项目编号:202010332067Y)、江苏省高校哲学社会科学一般项目“编程学习对3-6岁儿童计算思维的影响”(项目编号:2020SJA1384)的研究成果之一。
通讯作者:陈翠,ccyingying@163.com
(责任编辑 张付庆)