基于Code Combat游戏化学习平台编程学习的探究
2022-11-16朱宇敏钟秀萍刘彩萍
朱宇敏,钟秀萍,刘彩萍
(广州大学教育学院,广东 广州510006)
游戏化编程教学研究主要侧重于一些游戏化编程平台工具的应用、游戏化编程,以培养学生的计算思维等。本研究一从学生视角出发,通过访谈的方式收集研究参与者在游戏化学习平台中编程学习的数据并对其进行归纳总结,为初学者提供使用平台方面的借鉴;二结合平台的教学策略和教学过程为编程教学提供教学启示,初步探索游戏化教学策略在编程教学中的运用,启发他们对游戏化编程教学的思考,使编程教学过程更生动有趣。与此同时,初步探索Code Combat平台的教学特点,为游戏化编程教学研究提供更多借鉴。
1 研究背景
随着人工智能时代的到来,人工智能将涉及人们生活的方方面面,人工智能离不开基础的编程[1]。在编程学习中,大多数学习者认为编程专业、晦涩、枯燥等,导致其学习兴致不高。同时为改变传统课程过度强调学生接受学习、死记硬背和机械训练的教育现状,教育部倡导教师采用游戏化教学的教学方式,在教学过程中使用教育游戏及游戏化编程学习平台,以寓教于乐的方法提高学生的学习动机,从而激发学生的学习兴趣。
Code Combat于2013年成立于美国硅谷,是美国大学理事会权威认证的青少年编程学习平台,是全球公认的权威计算机编程能力学习平台之一。该平台将教育理念融合在游戏中可以让学生在游戏闯关过程中学到相应的知识点,并且在竞技场关卡中检测学生综合应用知识的能力以及解决问题能力。
2 研究现状
2.1 游戏化学习的研究现状
“游戏化”这一词首次明确使用是在2003年,英国的游戏开发人员Nick Pelling将“游戏化”定义为“把不是游戏的东西(或者工作)在过程中变成游戏”[2]。加拿大学者巴格利曾经分析了新媒体联盟(New Media Consortium)2004—2012年这8年期间发布的《地平线报告》的内容,他发现其中先后提出的37项新技术,但只有7项被后续的《地平线报告》所证实为正确的趋势和预测,其中“基于游戏的学习”排在第一位[3]。由此可见,游戏化学习方向已然被教育界及社会重视,其都主张在教学活动中使用游戏化学习方式、加入游戏元素和机制。
国内关于游戏化学习研究的起步相对较晚,但发展速度很快。以“游戏化学习”为主题在中国知网进行中文文献检索,结果显示自2003年后文献数量呈明显的增势,从2003年的9篇增长至2021年的490篇,且持续呈现为增长的势头。高红英等学者[4]通过系统聚类分析,认为当前关于游戏化学习的研究大致可以分为三类:基于游戏化学习的微观课堂应用和实践研究、基于信息素养教育的游戏化学习相关研究、基于教育游戏基础理论的游戏化学习设计相关研究。
2.2 游戏化教学的研究现状
李思瑶(2019)[5]以初中信息技术游戏化教学活动设计为研究课题,以“数据的排序和汇总”为例,依据游戏化教学原则进行游戏教学活动设计,提出了设计的环节包括“创设游戏情境(导入)—结合游戏机制设计教学活动(知识讲授、巩固强化)—评价与总结”。研究中也提出了游戏化教学活动实施时需平衡好教育性与娱乐性,切勿出现本末倒置的现象,不是教育为了游戏,而是游戏为了教育。
牟倩雯(2020)[6]研究了基于Matific平台培养小学生数感的游戏化教学模式构建,将整个教学模式分为自主学习阶段、体验学习阶段以及巩固知识阶段。在这三个阶段过程中,教师与学生围绕着游戏活动培养数感的教学模式展开。在构建游戏化教学模式的过程中,游戏竞赛成功的学生应进行奖励的教学环节应包含在其中,这有助于激发与鼓励学生的参与兴趣和继续进步的动力。
刘玉涛(2021)[7]以小学信息技术为例,提出课堂中采取游戏化教学策略具体为在教学准备策略中运用游戏任务、积分奖励等元素开展教学,则可以将课堂转化为游戏场所。由此可以预测,游戏化教学有望成为教育改革的关键抓手。游戏化教学在游戏活动过程中契合寓教于乐的教学方式、培养学生动手操作能力以及创新思维能力等的教育理念,因此游戏化教学将成为未来教育中的研究热点以及基础教育课程与游戏融合的实践方式。
2.3 游戏化编程教学的研究现状
吴苗(2019)[8]在研究游戏化编程平台在高中程序设计教学中的应用时分析了将游戏化编程教学平台Code Combat(以下称为“极客战记”)引入高中编程教学的可行性。其在调查中发现造成高中阶段学生对编程教学提不起兴趣的原因主要是在编程学习过程中没有成就感,从而对编程有畏惧心理。而极客战记将编程相关的知识融入到一个个的游戏关卡中,学生通过编写代码控制游戏角色完成任务的过程学习编程知识,使学生在类似于玩网络通关游戏的过程中学习编程,这能够吸引学生的学习兴趣,从而提高改善教学效果。马宗兵(2019)[9]认为可应用游戏化学习软件来优化儿童编程教学,提到Swift Playgrounds基于游戏化学习和可视化编程理念,将编程学习融入到3D游戏闯关中,应用效果较好。从已有相关研究来看,还缺乏对游戏化编程教学法的系统研究和应用游戏化教学方式是否能提升不同年龄阶段的编程学习者的成效实证的深入研究,同时现有关于游戏化教学研究当中,从学生视角进行研究的相对较少。
3 Code Combat平台编程学习的研究设计
3.1 研究对象与方法
研究采取目的性抽样方式选择了3位参与者,分别是七年级未学过编程语言、大二阶段未学过编程语言和大三阶段学过Python语言。为了更了解学习者基于Code Combat游戏化学习平台编程学习的体验,基于文献综述和研究问题设计了关于Code Combat平台学习过程体验、功能模块体验、支持服务体验等共计7个问题的开放式访谈提纲。并邀请笔者相关专业的老师进行模拟访谈,之后根据访谈中发现的问题继续对访谈提纲进行修改和调整。访谈采取一对一、网络在线的形式进行深度交流,为研究提供关于使用Code Combat平台进行编程学习的体验的信息。此外,还针对学习者使用Code Combat平台进行学习的过程所录制的视频进行观察,以印证和补充访谈内容。
3.2 数据分析
首先对3位学习者访谈转录文本的开放编码,研究者共引入80对个本土概念,分析后进一步发展更高层次的概念并归纳为范畴,通过不断“缩编”,共归纳出30多个范畴。在所有已发现的类属关系中经过系统地分析以后,选择一个核心类属。经过分析得到的核心编码为编程印象、传统方式、支持服务、总体感受、学习风格、学习活动、心得建议共7个。
视频数据显现了学习者在某时间段内的学习变化情况。3位学习者的视频数据显示:在一开始的小关卡因有提示框的帮助能迅速完成闯关,但在综合运用编程语法的关卡中,有编程语言学习经验比未有经验的学习者用时相对较少。
3.3 研究参与者体验总结
编程印象:学生认为编程语言符号晦涩难懂,并在综合知识解决实际问题时无从下手。
传统方式:传统编程教学方式过程是相对枯燥的。
支持服务:学生一认为提示功能及竞技场关卡模块值得借鉴。学习者在敲代码中只要有错误地方就会在代码区左边显示红叉,能够及时思考进行代码修改。同时,平台有竞技场模块,可以很好地考察学生通过小关卡闯关后学习到的知识点以及综合实践应用能力,在一定程度上解决了大多数学生在上机操作练习过程中无从下手的困境。学生二较喜欢场景化效果,整个平台界面分成角色动作区和代码控制区,使新手能清晰明了代码所表达的意义。学生三相对认可平台的多编程语言学习的功能模式,可根据自己的兴趣或在编程领域的劣势进行相应的选择学习。
学习风格:都认为游戏化教学方式能够激发编程学习者的学习兴趣。
学习活动:遇到不过的关卡,3位学生解决方式大致相同。若使用提示结合反复思考还是过关不了,则会使用搜索引擎,并在此基础上反思。实际上,在学生不断思考与反思的过程中可以锻炼学生的编程思维、计算思维、批判思维以及问题解决等能力。这些能力正是当下21世纪生存于社会所必备的,能够使学生在成长过程中更具有竞争力。
总体感受:在使用Code Combat中,3位学生都认为在中小学阶段以游戏化教学方式学习编程语言有助于改善目前中小学编程教育不被教师重视和学生难学的现状。
心得建议:学生一认为没学过编程的学生应该在游戏化学习平台中,对游戏涉及的知识进行回顾整理。学生二建议在游戏中要不断反思,利用提示功能不过分依赖他人。学生三建议可先构思游戏人物的活动任务,在这背景下思考编程算法和函数的使用及执行顺序。
4 Code Combat平台编程学习的启示
4.1 编程语言初学者的启示
4.1.1 完全通过游戏化学习平台学习的形式
重视关卡介绍。清楚了解这一游戏关卡将学到什么知识点,同时能够把关卡之间的知识点搭建起知识图谱,形成有意义学习。Code Combat平台具备代码检查机制、任务列表、提示功能等支持服务。学习者如若在游戏过程遇到解决不了的关卡,可以在平台的支持功能下,通过自身的思考与能力完成游戏关卡,并从中获取编程知识。
借助信息技术构建学习共同体。在虚拟社区中与小伙伴相互答疑解惑,在这个过程中能够培养合作意识及团队精神。Code Combat在教学风格上是属于游戏化学习方式,学生在闯关游戏关卡当中学会编程知识,贴合了当下倡导的“寓教于乐”的教学形式。且学习者可根据自身情况与条件,合理安排时间与场地进行学习,高度契合泛在学习的学习理念。
树立游戏是辅助学习的理念。该平台的功效在于帮助学生获取和理解编程语法知识点。Code Combat平台本质上就是自主学习平台,平台搭建起了网络学习环境,提供了学习资源以及学习工具。平台教师端与学生端于一体,给教师与学生提供了交流沟通与评价的渠道。配备了学习工具与教学视频。学生在平台环境中通过敲代码控制角色移动,从而完成编程语法知识点的学习。遇到问题时可借助提示功能或链接到相应的教学微课即可帮助自身攻破困难。同时还可以与线下班级教师进行面对面交流,培养正确的情感态度与价值观。
进行思考与反思。在游戏过程,思考哪些地方值得改进,需在闯关中结合复盘学习。
4.1.2 线下教师陪同下的形式
学生将遇到的问题及想法与线下教师沟通。虽有线上平台课程讲解,但与线下教师进行面对面交流,可以使教师与学生感受对方的面部表情与情绪感受,从而帮助学生获得更大的学习体验感与成就感。
4.2 编程语言教学者的启示
4.2.1 针对线下中小学信息技术课程开设编程语言教学的启示
针对线下中小学信息技术课程开设编程语言教学的启示有:①转变教育理念,积极倡导游戏化教学理念。根据新课标要求对教学进行改革,提升信息技术课程学科地位,将其从兴趣课变为必修课。②多方支持。社会、学校以及家庭都应重视信息技术课程乃至编程课程的设置情况。只有引起了各界的重视,学生才更加具备主动性去学习编程语言。③学校应具有教学培训机制。开展提升信息技术教师编程教学能力的学习,尤其重视游戏化编程教学能力的培养和提升。④教师开设教学活动时,应使学生具有学习成就感。消除对编程语言的惧怕心理和畏难情绪。教师可以在课堂当中多向学生介绍前沿科技应用,引导学生观看相关视频等拓展学生视野,从而吸引学生兴趣及帮助学生建立学习动机。⑤确定精准教学目标。从Code Combat世界学习平台教学目标的设置方式来看,应将大的教学目标拆分成具体的,教学行为才具有可观测性。⑥借鉴游戏化学习平台的提示功能。为保证学生遇到编程问题能够及时获得答疑,教师可通过网络平台搭建沟通渠道,与学生协定好一个固定时间段为答疑时间。学生之间可建立起编程学习社区,互相解答编程知识或讨论与计算机编程相关的热点方向。
4.2.2 游戏化教学策略在编程教学应用的启示
游戏化教学策略在编程教学应用的启示有:①借鉴游戏化学习平台的游戏奖励机制,线下信息技术教师在进行编程教学设计时,可设置游戏元素,包括玩家、游戏内容、游戏任务、相应的奖励机制等,使教学元素与游戏元素融合在一起构建游戏化教学模式,保持学生将注意力集中于课堂教学活动中。②在开展游戏化编程教学活动时,首先应创设游戏情境,使学生理解游戏规则,方便后续活动开展。其次,鼓励学生积极参与,使其在游戏过程中感受到知识的魅力,减少学生社交距离感,培养正确的合作与竞争意识。③教学评价中评价量表应着重于教师对游戏化教学策略的运用是否恰当与有效、学生参与游戏过程的表现和在游戏中获取知识的情况等方面。评价内容着重于游戏元素的设计、游戏化教学活动的开展情况以及学习者的游戏过程表现等等。
目前,中国编程教育领域在教学上还有需要完善的地方,相关的领域还值得进一步研究。作为编程教学者,可以借鉴游戏化学习平台的教学模式、教学策略等进行线下编程课程的教学设计,也可借助游戏化学习平台进行线下教学,将学习主动权归还给学生。游戏化教学方式是当下备受关注的教学方式,在此背景下,不管研究者还是信息技术教师都应转变教育理念,在教学改革背景和游戏化理念的交叉主导下进行相应的教学研究,对学生采取相应的教学活动。