2023/8/8 10:08:15 阅读:313 发布者:
作者:刘俊杰 东南大学脑与学习科学系,儿童发展教育研究所
研究生导师:柏毅 夏小俊
【摘要】:教授编程的严肃游戏或教育游戏被认为对编程学习有积极影响。本研究比较了严肃游戏CodeCombat和传统教学方法对初中低年级学生编程学习的效果。有59名学生参与了本研究,并划分为实验组与对照组。实验组使用CodeCombat教授编程;而对照组则是通过传统的讲课和解决问题来教授Python编程。本研究旨在调查基于真实的文本编程语言CodeCombat能否提高学生在基本编程概念方面的表现;与传统教学方法相比,能否带来更好的学习效果,激发学生的兴趣。结果表明,实验组的表现优于对照组,但这一差异在统计学上并不显著。
1
引言
近年来,新技术在儿童生活中占有重要地位。儿童从小就开始使用电脑玩游戏,并习惯于与具有吸引人的图形用户界面的环境互动。这些事实要求我们必须变革教学方法,例如采用基于游戏的方法来提高学生学习成绩。具有教育意义的严肃游戏成为了一种常用的方式,它能够让学生产生幸福感,对学习产生积极的影响,帮助学生的认知发展。编程教学提高了学生解决问题的能力,以及计划和组织能力。然而,学习计算机编程是一个困难的过程,新手程序员在理解复杂的编程概念时会面临困难。教授编程概念与技能的严肃游戏则能够解决这些问题,它能够帮助学生避免语法错误,从而集中精力理解编程概念。然而调查严肃游戏对编程课程影响的研究很少。
因此,为了调查上述问题,本研究设计了一个基于严肃游戏CodeCombat的教学干预,用于教授初中生基本的Python编程概念。尤其是,设置了一个使用严肃游戏CodeCombat的实验组和一个使用传统Python编程教学的对照组。并提出以下研究问题:
研究问题1:基于文本的严肃游戏CodeCombat是否能提高初中低年级学生在基本编程概念方面的表现?
研究问题2:基于文本的严肃游戏CodeCombat是否比传统的Python教学方法让学生在编程方面表现更好?
2
研究设计
2.1 研究设计
为了调查本研究的问题,设计了一种教学干预措施,并将其应用于希腊初中的信息学课程中。本研究的教学干预旨在教授学生Python的基本编程概念。该研究中实验组的参与者学习使用CodeCombat进行编程,而对照组学习使用IDLE Python编程环境进行编程。这两个小组都由他们的常规信息学老师教授。教材是根据希腊初中教育信息学课程的官方课程标准编制的。
2.2 教学干预
使用CodeCombat的教学干预活动包括三部分完整的课程计划,对应着游戏的各个部分。每个课程计划都附有一份评估工作表。这些工作表包括课程介绍、Python编程评估,以及每次课程的详细活动安排,这些活动也相互关联,并参考了以前课程中教授的材料。干预持续了三个课时(1个课时为45分钟)。表1列出了每个课时使用的课程单元、编程概念和游戏关卡。
表1:课程设计
对照组使用了传统教学方式,主要依赖于教科书中的基本原理与练习。由教师介绍预期的编程概念和使用IDLE解决问题组成,IDLE是Python的典型集成开发环境(IDE)。与实验组一样,干预持续了三个课时,教学内容涵盖了与实验组相同的编程概念。
2.3 实验对象
参与教学干预的是一所初中一年级的59名学生(12-13岁)。如前所述,参与者被分为实验组和对照组,实验组使用CodeCombat教授基本编程概念,对照组使用传统教学方法教授。在一年级的三个班中,随机选择一个作为对照组,另外两个组成实验组。参与者的人口统计数据如表2所示
表2:实验参与者
2.4 数据收集
表3总结了用于数据收集的工具信息。简要介绍了每种工具的作用、参与测试的学习和主要设计。
表3 数据收集工具
关于预测试我们必须注意,在一些问题中,使用了Scratch的代码,因为这是学生过去学习时的环境。关于事后测试,该问卷来自一项针对小学生的类似研究,该研究使用了基于块的严肃游戏Run Marco。该问卷采用了技术接受模型(TAM),该模型专门用于调查学生对使用新技术的可用性、易用性、态度和意图的看法。最后,使用SPSS对收集的数据进行分析。对于调查前后使用的问卷,还计算了Cronbach α系数。调查前问卷的Cronbachα值为0.881,调查后问卷为0.811,显示出良好的内部一致性和可靠性。最后,使用独立样本T检验来分析实验组和对照组在测试前后的表现是否存在显著差异。
3
研究结果
3.1 前测结果分析
对照组和实验组关于学生对变量知识的调查结果如表4所示。这两组学生中的大多数人对变量的语义知识了解不足(T7.1)。具体而言,大多数学生回答说,变量的值在程序执行过程中不会改变。然而,更多的学生正确回答了涉及变量名称(T7.3)和变量储存值(T7.2)的问题。对前测结果的分析表明,对照组(M=2.2,SD=1.935)和实验组(M=2.12,SD=1.763)在“变量”概念上的总体表现没有显示出统计学上的显著差异(t=-0.139,df=46,p>0.05)。
表4 “变量”概念的统计结果
在表5中,给出了关于“已经定义迭代次数的循环”和“未定义迭代次数的循环”的问题结果。“未定义迭代次数的循环”(T8.2)对学生来说似乎比“已经定义迭代次数的循环” (T8.1)难度更小。关于“循环”概念的前测结果分析表明,对照组(M=0.53,SD=0.834)和实验组(M=0.61,SD=0.827)之间的差异无统计学意义(t=0.282,df=46,p>0.05)。
表5 “循环”概念的统计结果
3.2 后测结果分析
表6给出了对照组和实验组关于变量概念的统计结果。采用传统教学方法进行教学干预后,变量问题的正确答案率在68.4%(T9.4)至89.5%(T9.3)之间。实验组变量问题的正确答案百分比从77.5%(T9.4)到95%(T9.1)不等。使用CodeCombat完成教学干预后,学生的表现得到了改善。例如,在关于改变变量值的问题(T9.1)中,实验组中回答正确的学生比例从干预前的36.4%(T7.1)增加到干预后的95%(T9.1)。对于对照组,相同问题的百分比从干预前的46.7%(T7.1)增加到干预后的73.7%(T9.1)。然而,实验组虽然在教学干预后对“变量”概念的总体表现(M=3.5,SD=1.109)高于对照组(M=3.21,SD=1.357),但差异无统计学意义(t=0.871,df=57,p>0.05)。
表6 “变量”概念的统计结果
表7显示了循环概念的后测结果。虽然“迭代次数不确定的循环”在干预前对对照组的学生来说似乎非常困难(T8.2:只有33.3%的学生回答正确),但他们的表现在干预后有所改善(T10.1:57.9%的学生反应准确)。实验组的改善更大,因为干预后回答正确率从39.4%(T8.2)增加到77.5%(T10.1)。并且,实验组“循环”概念的总体得分(M=1.43,SD=0.844)比对照组(M=1.11,SD= =0.994),两组间无统计学显著差异(t=1.210,df=30.768,p>0.05)。
表7 “循环”概念的统计结果
4
结论
本研究是在真实的课堂环境下进行的,旨在比较传统编程教学环境与基于文本的严肃游戏教学有效性,弥补当前的教学空白。更具体地说,本研究旨在调查以Python为编程语言的游戏CodeCombat的教育效果,以及初中生对它的接受程度。虽然这项研究还有一些局限性,即参与者人数少(59名初中生),持续时间有限(3小时),但还是得到了一些有趣的结果。研究表明,CodeCombat可以成功地用于课堂编程教学,前测与后测的结果表明,学生们提高了基本编程概念的知识,如变量和循环。此外,将严肃游戏作为教学工具很容易被大多数学生接受。特别是,学生们发现在课堂上玩游戏学习编程是一个好主意,即使是在使用Pyhton编程语言的游戏中也是如此。在一个充满吸引力和趣味性的环境中进行编程有助于学生更好地理解编程的基本概念,以及编程的一般价值。
显然,为了评估严肃游戏作为教学和学习编程工具的真正价值,还需要更多的研究。同样重要的是,根据教育水平,研究什么类型的严肃游戏(基于块或基于文本),甚至基于游戏的学习方法应该更好地应用于编程领域。
查阅原文:Chrysoula Kroustalli、Stelios Xinogalos Education and Information Technologies
DOI:10.1007/s10639-021-10596-y
转自:“百研工坊”微信公众号
如有侵权,请联系本站删除!