在中等教育中评估使用游戏开发方法教授编程入门概念的有效性
1 引言
对熟练计算机专业人员的需求持续增长,因此计算机学科需要吸引优秀学生,并培养他们成为21世纪有能力且负责任的专业人才(佩特里和冯·旺格纳姆,2017)。能够成为技术的创造者而不仅仅是消费者,正日益被视为充分参与数字社会的基本技能(卡洛吉安纳基斯和帕帕达基斯,2018a;2018b,SáezLópez 等,2016)。因此,编程学习与计算思维在教育研究中正受到越来越多的关注。与此同时,学习编程是一项具有挑战性的活动,需要坚持不懈和动机(奥尔斯普和艾辛‐杜恩,2016),因为编程需要复杂的抽象能力、全局观和数学洞察力(米斯菲尔特和艾辛‐杜恩,2015)。
学生常常因为认为计算机科学令人困惑且困难而放弃学习。因此,许多编程课程在第一门入门课程中注册人数众多,但继续留在该专业并修读后续课程的学生数量却急剧下降(库尔科夫斯基,2013)。除了上述困难外,许多初学者还因感觉课程内容与现实世界脱节而不愿继续学习(奥尔法纳基斯和帕帕达基斯,2016)。正如库尔科夫斯基(2013)所指出的,学生通常觉得入门课程中解决的问题过于人为设计,与现实生活毫无关联。
为了扭转这一趋势,许多学者和教育工作者正在探索多种可能的解决方案,包括在教育情境中设置以主动学习为重点的技术工具(萨埃斯‐洛佩兹等,2016)。在这种以学习者为中心的教学模式中,人们更加关注学习者在学习过程中所采用的策略(阿尔·阿布里等,2017)。近年来,随着信息技术的重要进展,技术增强型学习日益受到关注,例如移动学习、泛在学习和基于游戏的学习(Johnson 等,2016)。向学生引入移动应用程序和游戏开发,可能有助于他们更好地理解课程内容,并将其与日常所见所用的真实世界应用和设备建立更紧密的联系(库尔科夫斯基,2013),因为将移动游戏开发纳入计算机科学课程往往比传统游戏开发更容易实现(帕帕达基斯和卡洛吉安纳基斯,2017a;2017b)。
麻省理工学院应用发明者(MIT App Inventor)是一个开源的基于网页的编程环境,用户可通过该环境创建可在安卓操作系统(OS)上运行的移动应用程序(Orfanakis 和帕帕达基斯,2014;帕帕达基斯和奥尔法纳基斯,2017)。上述环境旨在吸引年轻学习者,为那些编程基础有限或完全没有编程背景的学习者提供一个易于入门的学习起点。此外,它允许学生以多种类型的移动应用程序形式创建和开发程序,从而拓展对计算概念和计算实践的理解。该平台提供图形、照片、音频以及其他形式的交互功能,例如谷歌地图。App Inventor 与 Scratch 类似,主要通过其类似拼图的界面支持无编码错误的程序编写,以促进计算思维的发展。这种可视化环境提供了直观的拖放式编程方法,使用户能够在中学各个教育阶段的教学环境中进行探索和创作。由于初学者可以通过摆弄色彩丰富的代码块来编写脚本,因此在此界面中编程比使用传统编程语言更加容易(萨埃斯‐洛佩兹等人,2016)。在这一
Java 和 (b) C++)
情境中,每个模块都是编程语言的一个元素:控制结构、操作符、变量或函数等。该环境提供官方的在线编辑器和多种非官方的离线编辑器,以及一个不断壮大的在线社区,拥有数千名用户分享各种项目。
然而,与此同时,关于在正式和非正式环境(校内外)中使用移动游戏开发来提高学生对编程入门课程的参与度和兴趣的教育者报告却非常少(Papadakis, 2018a;2018b)。正如库尔科夫斯基(2013)所指出的,这一点令人惊讶,因为由于移动游戏规模较小、图形更简单以及其他一些因素,移动游戏编程远比传统游戏开发复杂度低。
因此,我们希望探究可视化编程环境和游戏开发方法是否有助于初学者——中学生——理解那些在各种环境中被证明具有挑战性的概念,即变量、表达式、逻辑和循环。本项目有意选择麻省理工学院应用发明者作为开发平台,原因有多个。本文提出了一种基于游戏开发的方法,用于评估学生的编程知识和动机。所述结果表明,在知识和动机层面,该方法带来了显著提升。
2 理论框架
2.1 游戏开发方法
近年来,教育过程从教育学领域的科学知识中得到加强,涵盖了教育研究中的不同模型和方法论方法。过去几十年见证了教育从以教师为中心向以学习者为中心的教学法的巨大转变,在这一过程中,学生的自主学习责任被最大化。当今的教育工作者正在利用技术工具,在教育情境中设置以主动学习为重点的挑战(萨埃斯‐洛佩兹等,2016)。在这种以学习者为中心的教学模式中,人们更加关注学习者在学习过程中所采用的策略(阿尔·阿布里等,2017)。
在数字时代成长并玩着数字游戏的21世纪学习者,其学习方式也有所不同(张,2010)。教育游戏或游戏开发方法有望通过让学生从自身经验中学习,促进更深入和更主动的学习。将游戏用于教育目的一直是学术界持续关注的话题。自20世纪70年代以来,数字游戏已被应用于课堂,其中一些最成功的教育游戏包括《俄勒冈小道》、《柠檬水摊》、《迷宫的诱惑》、《轨道》和《亚特兰蒂斯任务》(施蒂勒‐亨特和琼斯,2017)。尽管目前大多数计算机教育课程仍采用传统方式进行教学,可能无法充分应对现代需求,也无法有效支持必要的学习(佩特里和冯·旺根海姆,2017),但多项调查显示,大多数学生更喜欢以某种方式涉及电脑游戏的编程项目和作业(库尔科夫斯基,2013)。
将游戏制作作为一种支持学习过程的策略,是一个可追溯到20世纪80年代和90年代建构主义运动的研究课题(厄普,2015)。游戏创作被认为比游戏玩法更能提高学生参与度和学习效果,有助于采用建构主义方法,使学生学会如何
Scratch 和 (b) AIA)
综合信息并在创作原创游戏的过程中表达出来(陈和黄,2017)。制作游戏是建构主义学习的典型范例,尤其是在数字游戏时代(卡法伊,2018)。建构主义在理论上基于皮亚杰关于学生作为自身知识构建者的思想(拜塔克等,2011)。在这种教学设计中,学生互动并创建与课程领域相关的内容,具有多种优势,如动机、乐趣、投入和热情,并在计算思维和计算实践方面表现出提升。通过实践学习能够激发学生的动机,并使其发展出有针对性的问题解决策略。做中学和创造中学习的方法意味着一种以教育过程为中心的知识与技能获取的教学方法(萨埃斯‐洛佩兹等,2016)。包括爱丽丝和Scratch在内的多个大型项目的成功已证明,将计算机游戏开发作为学习框架在教育环境中是有效的(库尔科夫斯基,2013)。
2.2 初学者程序员和App Inventor
人们越来越普遍认为,计算思维是每个人在我们复杂且技术化的文化中取得成功所必需的基本技能。计算机编程是培养计算思维技能的绝佳途径(帕帕达基斯等,2017)。编程不仅是计算科学的一项基本技能,也是支持计算思维中认知任务的关键工具,同时还是计算能力的一种体现(萨埃斯‐洛佩兹等,2016)。
欧盟委员会估计,到2020年将有超过72.5万个高科技岗位无人填补。尽管数字能力正迅速成为就业最重要的先决条件之一,但选择学习计算机相关专业的学生仍然太少,而这些知识正是他们在21世纪取得成功所必需的。其中一个原因是,尽管编程语言的学习在科学技术教育中至关重要,但对一些学生尤其是初学者而言可能具有较大难度。一个可能的原因是,编程语言对学生来说是一种过于复杂的认知活动,且具有高度抽象性,难以理解。计算机科学教育研究领域已有大量文献关注初学者程序员在初次接触算法结构以及编程中复杂的问题解决过程时所面临的各种挑战(格罗弗和巴苏,2017)。例如,设计者在编程时常使用的一些基本计算概念包括(引自萨埃斯‐洛佩兹等,2016,原文出自布伦南和雷斯尼克,2012):
- 顺序
- 迭代(循环)
- 条件语句
- 线程(并行执行)
- 事件处理
- 用户界面设计
- 键盘输入
抽象编程概念理解的困难,以及缺乏互动性的传统教学方式,降低了
学生的动机以及他们对学习编程的兴趣(Piteira 和 Haddad,2011 年,引用于吉安娜库拉斯和克西诺加洛斯,2018 年,第 2 页)。大多数计算机教育课程仍然采用传统方式进行教学,这种方式可能不足以应对现代需求,也无法支持必要的学习(佩特里和冯·旺根海姆,2017)。根据克西诺加洛斯和萨特拉泽米的观点,传统的编程教学方法基于:
- 一种过于庞大且过于特异的通用编程语言,
- 该编程语言的专业编程环境,以及
- 一组来自数字与符号处理领域的问题(克西诺加洛斯和萨特拉泽米,2004,第60页),这些问题对他们而言是陌生且难以接受的。
因此,学生认为编程的教学与学习是一个艰难、痛苦且枯燥的过程也就不足为奇了(罗宾斯等人,2003)。因此,一些学生常常放弃计算机科学,因为他们认为这门学科乏味、令人困惑且难以掌握(威尔逊和莫法特,2010)。出于上述原因,教育工作者和研究人员一直在努力应对编程教学中的挑战,试图找到最高效和有效的教学方法与教学策略(帕帕达基斯和奥尔法纳基斯,2018)。为此,他们仍在探索使用各种编程语言和编程环境、工具和技术,结合恰当且真实示例以及课程内容的调整等教学模型(凯勒赫尔和鲍施,2005)。向初学者教授编程最成功的尝试之一,便是开发和使用面向初学者的专用环境(古齐亚尔,2004)。面向初学者的编程环境或“初学者学习环境”(ILE)(芬彻等人,2010)是一类教育性开发环境,具有可视化特点,旨在促进学习者快速投入到一项吸引人的活动中,并使初学者程序员(无论年龄、性别和教育背景如何)能够创建具有优雅图形用户界面(GUIs)的交互式应用程序、项目和应用程序。这些环境为初学者程序员提供了一套工具包,使其仅用少量代码就能快速搭建出相对复杂的程序流程。
因此,基于积木的编程环境正变得越来越受欢迎,并在正式的编程入门教学情境中得到日益广泛的应用(温特罗普,2015)。
这些基于积木的编程环境采用图形化积木代替文本命令。这种新的格式支持图形用户界面系统,不再要求初学者程序员输入文本命令,而是允许初学者使用鼠标指针选择命令,并像拼图一样将它们组合起来。正如温特罗普和威尔ensky(2015,第200页)所指出的,在此类环境中,学习者只需使用鼠标,通过拼接指令并接收视觉(有时是听觉)反馈,即可组装出可运行的程序,从而告知用户某个结构是否有效。这提高了学生对这一科学过程的兴趣,并成功降低了初学者程序员面临的学习障碍。其中一些最成功的编程环境包括Scratch、Kodu、Logo、Greenfoot和爱丽丝(马洛尼等人,2010)。初学者学习环境领域最新的加入者是一款名为麻省理工学院安卓应用发明者(AIA)的免费软件。AIA利用智能手机设备日益普及以及各年龄段用户对这类设备的使用趋势,动态地渗透到家庭、学校和户外等多种正式、非正式及非正规学习环境中(帕帕达基斯等人,2014)。移动应用程序通常很容易引起学生的共鸣,因为移动技术在当今学生的生活中正扮演着越来越重要的角色。
对许多学生而言,他们的手机正在取代台式计算机成为其主要的计算设备(库尔科夫斯基,2013)。
麻省理工学院安卓应用发明者(AIA)(http://appinventor.mit.edu/explore/)是一个免费的可视化编程环境,专为没有编程背景和经验的人群设计,帮助他们轻松创建适用于运行安卓操作系统的智能移动设备的应用程序(Papadakis,2019)。它最初由哈尔·阿贝尔森教授与谷歌教育的一小群开发者在谷歌实验室作为研究项目创建,随后被麻省理工学院移动学习中心采纳为一个开源软件包(http://appinventor.mit.edu/appinventor‐sources/)。尽管存在时间相对较短,但它在某些用户群体中已相当受欢迎。本文撰写时(2018年7月),已有来自195个国家的近680万注册用户(MIT App Inventor,2018)。已创建的手机应用程序数量达到2400万。
在AIA的最新版本中,移动应用程序(app)的创建可以通过浏览器完成。这一功能免除了初学者用户下载/安装任何软件、任务和配置的需求,例如第一版AIA所要求的安装和定制JAVA。
3 研究
3.1 研究问题
在我们的研究中,旨在检验以下假设:初学者学生通过使用适合初学者的编程环境开发简单移动游戏,可以提高高一学生对编程的动机和知识。基于这一目标,本研究探讨了以下研究问题:
- 采用游戏开发方法学习的学生在编程方面的学习动机是否高于采用传统学习方法学习的学生?
- 采用游戏开发方法学习的学生在编程方面的学习成就是否高于采用传统学习方法学习的学生?
3.2 研究设计
本研究采用准实验研究设计,其中一组接受干预措施并测试结果,而对照组不接受干预措施,并进行类似的测试,以比较干预的效果(坎贝尔和斯坦利,1963)。对照组采用传统教学指导,实验组则采用基于App Inventor的游戏开发教学指导。
图3展示了本研究的实验程序。该干预措施应用于课程中名为“用于创建应用程序的编程环境”的特殊章节(教学时长为16小时)。
3.3 样本
本研究在2017–2018学年的第二学期进行。研究样本通过随机抽样选取,由希腊一所公立高中的一年级学生组成。该程序确保了受试者特征与其所属组别之间不存在系统性关联。两个组的学生人数相等,在年龄和性别方面相似。参与研究的30名一年级学生被分为两组,每组均包含男生和女生(M年龄 = 15.95年,SD年龄 = 1.14 年)。
3.4 游戏开发方法
如果一名教育工作者想要教授编程,他/她需要做出若干决定。正如布朗(2017)所指出的,教育工作者需要选择:
- 一种编程语言,例如JAVA、Python等,
- 一个编程环境,可能是像记事本+命令行这样的工具,或一个完整的集成开发环境,
- 一种情境,例如制作游戏、媒体计算、网站创建、机器人技术,以及
- 一种教学方法,例如将教授什么内容、以何种顺序教授以及使用哪些活动。
正如范·艾克(2006)指出,教育工作者在将游戏融入学习过程时采用了三种方法:让学生从零开始制作游戏;教师从零开始开发教育游戏来教授学生;以及将现成的商业游戏(COTS)整合到课堂中。在第一种方法中,学生扮演游戏设计师的角色;通过构建游戏来学习知识内容。传统上,这意味着学生在学习编程语言的同时发展解决问题的能力。此外,普伦斯基(2008)指出,优秀的复杂游戏需要数年时间进行创建、测试和迭代,耗费大量资金,通常还需要大型专业化团队参与。因此,即使是热情的学生也需要很长时间才能接受培训并融入游戏创作团队。因此,在中等教育阶段,学生创作的方法不应专注于复杂的课程相关游戏。游戏在构想上可能很简单,但每款教育游戏都必须经过精心设计才能取得成功。此外,将与游戏相关的课程作业纳入计算机科学课程的一个挑战在于,需通过选择恰当的内容组合来平衡教育性和激励因素——既要包含学生感兴趣的内容,也要包含有助于他们学术成长的内容(库尔科夫斯基,2013)。正如普伦斯基(2008)所建议的,学生游戏设计与开发过程应组织为一系列步骤,引导初学者程序员从一个阶段顺利过渡到下一个阶段:
- 可以鼓励学生为他们最近在课堂上学习的内容制作游戏。可以制定并发布这些游戏的结构与设计指导方针,并提供示例。
- 由于学校有学科特定课程,复杂计算机游戏可能会受到冷落。
- 与课堂中的大多数数字技术一样,游戏开发方法与传统的“教师讲授”模式不太相容。
在考虑了各种方法和工具后,做出了以下决定:
- 学生扮演游戏设计师‐创作者的角色
- 在游戏设计中,考虑到学生的现有知识水平,旨在使游戏既不太复杂也不过于简单,以激发他们的好奇心和动机。
- 避免了游戏传统的缺点,即暴力和性别偏见。
- 决定使用App Inventor平台来实施该干预措施。
实验组的教学干预由四个模块组成,每个模块持续2周,改编自陈和黄(2017)的一项研究。参与者在每个模块中需投入4小时的努力(见图4)。
- 模块1:问题识别分析。通过将先前经验与知识和新概念进行互动关联。
- 模块2:算法与游戏设计。参与者通过设计行动计划(见图4)对主题进行共情、定义和构思。
- 模块3:使用App Inventor进行实现。参与者学习了构建应用程序的基本组件,并制作了练习应用程序。在此过程中,讲师提供了建议,并引导讨论积木编程。讲师使用了可免费获取的数字资源,可在以下地址找到:http://codeweek.eu/resources/greece/Mole_Mash.pdf(希腊语)(见图A1和图A2)。
- 模块4:使用App Inventor进行设计。参与者制作了一个练习应用程序(见图A3和图A4)。
如前所述,对照组的课程未接受干预措施。所有课程均由同一位计算机科学教师讲授。学生可以在课堂上使用移动设备,包括笔记本电脑、平板电脑和手机,且课堂内无线网络可用。
4 评估
4.1 学习成就
研究人员使用成就测试来测量一年级学生在基础编程概念方面的成就。问卷的编制参考了克莱因施马格和哈嫩贝格的研究(Kleinschmager and Hanenberg, 2011年)。该测试最终包含二十道(20)选择题,涵盖了与计算概念和计算实践相关的方面。前测用于确保对照组在先前的基础编程技能方面与实验组相似。
4.2 学习动机
研究人员使用问卷来测量一年级学生对编程的态度。该问卷基于计算机态度量表(CAS)(洛伊德和格雷萨德,1984年)编制。所有方面均采用四点李克特量表(完全不真实到非常真实)进行测量。
两份问卷的改编工作由两位多年讲授科学课程的经验丰富的教师完成。这是开发成就测试的常见方法。所有问卷在主要研究之前都进行了试点测试,以确定其可靠性、效度和可行性。问卷被分发给10名未参与本研究的学生,以尽量减少与学生对问卷的理解、从英语翻译成希腊语、调查实施过程等相关的问题。试点研究期间未发现任何问题。前测和后测问卷的克朗巴哈α系数分别为0.82和0.84,显示出良好的内部一致性信度。全部数据在社会科学统计软件包SPSS应用程序(第23版)中进行分析。
5 结果
5.1 组间等效性
在教学干预之前,对实验组和对照组之间的差异进行了统计分析。应用适当的统计检验后的结果显示,两组在性别(X²(2)=.43,p>.05)、行为方式(F(1,28)=.62,p>.05)以及编程知识(F(1,28)=.74,p>.05)等特征上均无显著差异。综上所述,结果表明,两组在被认为影响行为与编程知识差异的因素方面具有等效性(贝尔杜西斯和科达基,2015;陈等人,2000年)。
5.2 学习成就
对两组学生前测成绩的分析结果表明,他们在基础编程概念的先验知识上没有显著差异。因此,可以采用协方差分析(ANCOVA)在排除前测成绩影响的情况下,以学习成就前问卷作为协变量,比较他们的后测成绩。教学干预后,实验组与对照组的学习成就差异显著(F = 3.58,p<.05)。实验组的表现优于对照组,表明游戏开发方法能有效提高学生对基础编程概念的理解。
5.3 学习动机
同样,采用协方差分析(ANCOVA),以学习动机的前测问卷作为协变量。在不同的学习活动后,实验组与对照组的学习动机存在显著差异(F = 5.57,p<.05)。实验组的表现优于对照组,表明游戏开发方法能有效提高学生的学习动机。
6 讨论
本研究旨在调查传统教学指导与游戏开发方法对一年级学生编程学习成就和动机的影响差异。在实施干预之前,进行了前测以收集数据,验证对照组和实验组的等效性。数据进行了统计检验。以下假设在.05显著性水平上进行检验:
- 使用传统教学指导的对照组与使用游戏开发方法的实验组在学生成就测试上存在显著差异。
- 使用传统教学指导的对照组与使用游戏开发方法的实验组在学生动机测试上存在显著差异。
研究的结果是:
- 在关于基础编程概念成就的后测成绩中,实验组和对照组的平均分之间存在显著差异。
- 在关于学习动机的后测成绩中,实验组和对照组的平均分之间存在显著差异。
因此,我们可以得出结论:在此小样本中,第一个和第二个假设均在统计上得到证实。研究获得的数据表明,在此教育阶段,学习动机和计算概念理解方面均具有统计学意义上的显著提升,这表明建议教育主管部门在入门编程课程中实施游戏开发方法。
7 研究局限性
本研究存在多种局限性:
- 这是一项小样本量的试点研究。该研究仅限于2017–2018学年第二学期某公立学校的一年级学生。对于更大样本量的影响,还需进一步研究。
- 这是一项短期研究。需要进行更多的长期评估,以调查对学生学习和动机的影响,并检验其与本研究结果的一致性。
- 本研究的结果受限于所使用工具的准确性和适用范围。
8 结论
人们越来越普遍地认为,计算思维是每个人在我们复杂且技术化的文化中取得成功所必需的一项基本技能(温,2006)。对熟练计算机专业人员的需求持续增长,因此计算机学科需要吸引优秀的学生,并将他们培养成为21世纪有能力且负责任的专业人才。尽管计算机编程是培养计算思维技能的一种极佳方式,但它被认为是一种复杂的认知活动。学生常常因为认为计算机科学令人困惑且困难而放弃学习。在计算机科学教育研究领域已有大量文献致力于探讨初学者程序员在初次接触算法结构以及编程中涉及的复杂问题解决过程时所面临的各种挑战(格罗弗和巴苏,2017)。
面向初学者的编程环境,例如 Scratch、爱丽丝,以及近期的麻省理工学院应用发明者(MIT App Inventor),已被证明在教育环境中具有显著效果。
为了使我们的学校能够最大限度地利用游戏和其他技术,必须进行重大变革(普伦斯基,2008)。为了在更高层次上实现更有效的学习,我们需要以学生为中心的教学策略,让他们通过实践来学习。许多研究人员将年轻学习者描述为期待即时反馈、积极参与学习过程、通过实践学习、强调互动性、所学知识与其情境相关,以及拥有有趣且富有娱乐性的学习环境的一代人(阿里芬等人,2017)。
研究人员已充分认识到基于游戏的教育学习方法在激励各个年龄阶段学习者方面的巨大潜力。例如,帕帕斯特吉乌(2009)指出,数字化游戏化学习能够激励学生在计算机科学课程中进行学习(宋等人,2017)。这种游戏创作不仅能够增强游戏体验,还能通过遵循故事情节的不同类型游戏任务,促进学习情境中理解的深度和广度(宋等人,2017)。
总之,大量研究表明数字游戏在学习中的优势,不仅体现在沟通、协作、精细动作技能等跨领域技能上,也体现在特定知识领域的具体技能上(Moreno 和门德斯,2015)。因此,该领域还需要进一步的研究,因为这将有助于深入理解基于游戏开发的方法作为提升学生对基础编程概念的学习动机和知识掌握的工具的潜力。
3506

被折叠的 条评论
为什么被折叠?



