图形化编程与实体编程学习经验迁移的实证研究
2023-01-30王欧郭婷婷张新立胡来林通讯作者温州大学STEM教育研究中心
王欧 郭婷婷 张新立 胡来林(通讯作者) 温州大学STEM教育研究中心
● 问题的提出
幼儿编程技术根据界面不同可以分成两类:一类是图形化编程技术,图形化编程技术通过对各种图形进行拖动拼接完成编程,提供直观的编程界面,无需编写程序代码;另一类是实体编程技术,实体编程技术采用无屏幕编程,将代码封装在实物块中,这些实物块代表实际编程指令,学生可以进行直接的物理操作。在编程技术学习中会涉及陈述性知识和自动化基本技能。[1]陈述性知识是指编程的一些概念和专有名词,如在图形化编程和实体编程中所包含的程序、运行、场景、角色、开始、运行、指令、参数、顺序、循环等编程术语和概念;自动化基本技能是指能按照语法规则写出代码,并根据提示调试程序的操作性技能,如在图形化编程和实体编程中根据任务情境以及语法规则编写代码,并通过调试,不断对程序进行修正。图形化编程技术和实体编程技术尽管编程界面不同,存着明显的差异,但二者所包含的编程知识以及所需要的自动化技能存在诸多相似之处,为学习迁移提供了条件。
在学前教师编程学习过程中,如果分别讲解每一种编程技术,势必造成学习效率低下和实效性不够等问题。因此,为充分运用迁移理论提升幼儿教师学习两种编程技术的效果与效率,有必要研究两种界面编程技术的学习迁移效果以及不同界面编程技术的学习顺序对学习迁移的影响。
● 图形化编程与实体编程主要内容
图形化编程技术与实体编程技术主要包含陈述性知识和自动化基本技能两大类(如下页表1)。两种编程技术中所包含的方位知识、编程知识等陈述性知识,以及自动化基本技能都具有极大的相似性,在数学知识和其他知识方面,二者也都涉及了角度、加减法、背景、背景编辑、角色、角色编辑等陈述性知识。除此之外,二者都按照功能的不同将编程模块划分为不同颜色的积木块,都采取拼接的形式进行指令之间的连接从而完成编程。
表1 图形化编程和实体编程技术主要内容
● 研究设计
为研究不同界面编程技术的学习顺序对学习迁移的影响,笔者采用了单因素准实验研究法,自变量为两种界面编程学习顺序,包括两个水平:一是先进行图形化编程后进行实体编程的学习方式;另一个是先进行实体编程后进行图形化编程的学习方式。具体实验内容如下。
1.研究对象
研究对象来自A地和B地参加培训的100余名幼儿教师,其中部分教师因带班教学或其他原因未能坚持完成培训,这在一定程度上造成样本数量的流失,最终参与测试的教师样本为71人。其中,来自A地的48名幼儿教师为实验组,先学习实体编程技术,后学习图形化编程技术;来自B地的23名教师为对照组,先学习图形化编程技术,后学习实体编程技术。所有参与培训的教师在本研究之前都未学习过任何编程知识,学习起点一致。
2.编程工具
本研究使用的编程工具为幼儿图形化编程软件和幼儿实体编程套件玛塔机器人。
图形化编程软件Scratch Jr是由美国麻省理工学院(MIT)媒体实验室的终身幼儿园团队(Lifelong Kindergarten)和塔夫茨大学(Tufts University)儿童研究与发展部的发展技术研究团队(DevTech)共同设计开发的专门针对5~7岁幼儿的入门级编程语言。玛塔机器人套件是由玛塔创想科技有限公司开发研制的,面向3~9岁的儿童,采用无屏幕的实物编程设计,包含开始、运行、顺序、循环等重要的编程概念。
3.教学流程
实验组和对照组均采用游戏化编程教学,即把教学目的、内容、方法有机地融入到编程游戏活动中,包含游戏目的、玩法、规则、结果等要素,设计开发编程游戏的过程就是学习编程的过程。本研究采用游戏化编程教学。首先,教师呈现编程游戏学习目标,即通过本次编程游戏活动学习者应当掌握的编程知识和技能;其次,师生共同商讨确定本次编程游戏的玩法和规则;再次,开展编程游戏教学活动,教师将游戏程序必需的积木块知识传授给学生,学生基于制订的编程游戏规则,进行程序的设计,编写、调试等,完成编程游戏程序,进行成果展示与评价;最后,师生集思广益,共同拓展出新的编程游戏。实验组通过5个编程游戏活动案例来学习实体编程技术,如海盗营救、火山寻宝历险、神笔玛塔等。对照组通过5个编程活动案例来学习图形化编程技术,如汽车驶过城市、龟兔赛跑、小猫走迷宫等,无论采用何种技术,具体的教学流程都是大致相似的。
4.实验实施
参与本实验研究的人员包括一位教授和两位研究生助理。教授为主讲教师,研究生助理完成学习迁移测试问卷的发放、回收以及评分工作。实验组和对照组的整个教学由一位教授作为主讲教师来完成。
为验证前文提出的研究问题,本研究设计了如下图所示的实验流程。在开始正式实验前,对参加教师专业发展编程培训的教师进行访谈调研,选择编程零基础的教师作为研究对象。在正式实验中,首先完成编程教学干预,然后进行学习迁移测试。在进行学习迁移测试前,指导实验组的教师安装图形化编程软件,对照组的教师发放玛塔机器人套件,在进行学习迁移测试时,要求幼儿教师分散坐在教室独立的座位上,在学习迁移测试完成后统一由两位研究生助理进行回收。实验组在学习完实体编程技术后,采用图形化编程技术的题目进行测试,对照组在学习完图形化编程技术后,采用实体编程技术的题目进行测试。
5.测量工具
根据图形化编程技术、实体编程技术中相同或相似的编程知识和概念,自编学习迁移测试问卷,进行三轮修改,幼儿编程领域专家、学习科学研究领域教授参与讨论。实验组和对照组的学习迁移测试题均从两个维度进行编写,具体包括:①陈述性知识,主要考查的是学习者对开始、运行、角色、背景、距离、参数、顺序、循环等概念的理解,题目形式为选择题和填空题。②自动化基本技能,主要考查的是学习者根据语法规则和任务要求编写程序的能力,题目形式为程序设计题,根据场景与任务要求编写程序代码。从测试题目的得分情况能够看出幼儿教师编程学习迁移效果。
6.评分方法
学习迁移测试题目中的选择题、填空题为客观题,按照正确答案标准给分,程序设计题的评分准则参考了塔夫茨大学DevTech研究小组开发的两段式评分系统[2][3],即积木选择正确和积木排序正确各占题目总分的50%。为避免评分结果受评分人主观影响,让两位研究生助理按照两段式评分系统对同一份测试题目进行评分,在信度大于0.9的情况下,确定主评判人,然后用主评判人评分结果作为最终成绩[4],测试题目评分采用百分制,测试题目最终得分反映学前教师编程学习经验迁移效果。
● 研究结果与分析
1.数据对照
关于两种编程技术学习迁移得分情况,实验组和对照组幼儿教师学习迁移测试成绩的整体得分情况为:实验组学习迁移测试的及格率为100%,对照组学习迁移测试的及格率为69.6%。在时间有限、学习迁移测试内容陌生没有任何提示的情况下,实验组和对照组的学习迁移测试及格率均达到69%以上,这说明无论先学习哪种编程技术,教师的编程学习经验迁移效果良好,编程的基本知识、技能掌握扎实,能够将其迁移到新的编程技术中。
2.两种编程技术学习顺序对学习迁移成绩的影响
为进一步探讨先学习哪种编程技术更有利于教师的学习迁移,采用独立样本T检验对实验组和对照组学习迁移成绩进行对比,结果如下页表2所示。
表2 学习迁移成绩的独立样本T检验结果
由表2可知,两组教师的学习迁移成绩存在显著性差异(p<0.05),且实验组的学习迁移成绩要优于对照组,这说明先学习图形化编程技术后学习实体编程技术比,先学习实体编程技术后学习图形化编程技术对学习迁移成绩的影响更大,更有利于教师编程学习经验的迁移。实体编程技术是将代码实物化,教师能够进行直接的物理操作,有较强的现实互动性,这更契合杜威的“做中学”理论。
3.两种编程技术学习顺序对编程知识迁移的影响
为探究在编程技术学习顺序一定的情况下,两类编程知识类型的迁移效果,采用独立样本T检验,对两组的陈述性知识成绩以及自动化基本技能成绩进行对比,结果如表3、表4所示。为方便比较,陈述性知识成绩和自动化基本技能成绩采用百分制,满分均为100分。
由表3和表4可知,在编程技术学习顺序一定的情况下,陈述性知识成绩和自动化基本技能成绩存在显著性差异,且陈述性知识成绩高于自动化基本技能成绩,这说明,无论采用哪种编程技术学习顺序,陈述性知识的迁移效果要优于自动化基本技能的迁移效果。
表3 实验组编程知识类型的独立样本T检验结果
表4 对照组编程知识类型的独立样本T检验结果
●讨论
1.两种编程技术学习迁移情况
现有的研究证实,大部分初学者认为编程是复杂且具有挑战性的。[5]这是因为编程作为一种逻辑和问题解决活动,需要复杂的思维能力。对于编程零基础的成人来讲,尽管幼儿所学的实体编程和图形化编程相较于更高阶的文本编程更为简单直观,学习动机更高[6],但是能在时间有限、不提供任何指导的情况下独立完成学习迁移测试题目,且及格率超过69%,这表明参加培训的幼儿教师编程学习经验迁移效果良好。
新的编程技术情境与原有的编程技术情境具有相似性,迁移才能够发生。图形化编程技术和实体编程技术的相似性成为迁移得以发生的必要条件。除此之外,主讲教师应综合使用各种促进迁移学习发生的教学策略,将复杂项目分解,使参加培训的学前教师能系统地掌握成分技能,注重编程任务难度的递增,遵循从易到难的教学顺序,注重利用生活知识迁移编程知识,注重学习原理、规则和模型等方面内容的重要性[7],“为迁移而教”无疑对教师顺利完成迁移起着重要作用。
2.两种编程技术学习顺序对学习迁移成绩的影响
先学习实体编程技术更有利于学前教师迁移到图形化编程的学习当中,可能是因为:①对于初学者来说,实体编程技术相较于图形化编程技术更有利于学习者对抽象概念的理解[8],因此学前教师先学习实体编程技术时,更有可能达到对知识概念的深层次理解,而初始学习的学习效果将直接影响迁移效果,因此先学习实体编程技术更有利于学前教师迁移到图形化编程中。②实体编程技术将代码实物化,封装在实体编程实物块中,更有利于学习者进行直接的物理操作,在“做中学”“玩中学”,在和实体编程的交互中,建构起对编程知识和概念的深层次理解。
3.两种编程技术学习顺序对编程知识迁移的影响
本研究发现,编程学习中不同知识类型的转化和迁移是有区别的。依靠识记理解的概念和名词等陈述性知识迁移效果较好,而编程中大量用到的自动化基本技能却难以顺利迁移。根据布鲁姆认知领域的学习水平分类[9],编程中的陈述性知识处于识记、了解的层面,而将概念、原理、法则运用到新的情境中的自动化基本技能是处于应用和分析层面,因此如果自动化基本技能达到比较高的水平,那么必定花费更多的时间和精力。从人类思维的隐喻特点来看。学习者在学习和理解概念时往往需要用个体熟悉的事物作为比喻体。[10]编程的陈述性知识中涉及的相关概念,幼儿教师更容易从日常的生活、工作和学习中捕捉到合适的比喻体,以促进编程陈述性知识的理解。
● 研究结论
本研究认为,无论先学习哪种编程技术,教师的编程基本知识、技能掌握扎实,编程学习经验迁移效果良好。此外,先学习实体编程技术,更利于教师将已习得编程知识迁移到图形化编程中,因此,在今后教师专业发展编程培训中,建议先进行实体编程技术的教学,以期事半功倍提高培训效率。研究还发现,陈述性知识的迁移效果要优于自动化基本技能的迁移效果。本研究结论可以为幼儿编程教育的教师专业发展培训提供理论上的支持和方法上的参考。