面向培养高校学生编程能力的游戏化学习应用模型构建
2022-03-18杨文阳孟青青
杨文阳 孟青青
摘 要:当前,高校以学习者为中心大力推进教育教学改革,传统的教学方法难以满足学习者对编程课程学习的个性化需求。传统课程实践环节中的编程练习较为单调乏味,很难激发学习者学习编程的兴趣,学习者甚至会对编程学习产生负面的情绪。本研究面向培养计算机编程能力提出一个基于计算机游戏的学习模型,该游戏模型以“面向对象程序设计”课程为例面向在校本科生创设游戏化学习环境,强调游戏级别、故事情境和玩家体验。本研究提出的游戏重点关注玩家体验,即玩家可以在游戏中学习计算机编程类课程,而不需要专门的编程练习。基于计算机的游戏化学习关注学习者需求和玩家体验,通过游戏化学习完成学习目标,提升学习者的学习注意力和计算思维力,也可以潜移默化地使学生从游戏故事中升华思想和精神。
关键词:故事情境;编程能力;学习注意力;游戏体验
中图分类号:G4 文献标志码:A 文章编号:2096-0069(2022)01-0040-08
一、研究背景
当前计算机游戏已作为一种教学和学习工具应用于教育和培训领域。计算机教育游戏作为教学工具,为学习者创设学习情境,充分利用游戏中的各类元素激发学习者的学习兴趣,提高学习参与度,可以极大激发其学习动机和学习兴趣,学习者更容易接受应该掌握的学习技能和知识,最终促进个体的发展。因此,计算机游戏在教育领域中具有巨大的发展潜力,它可以以一种新颖而具有挑战性的方式来吸引学习者深度学习。计算机游戏非常受青少年欢迎,许多相关研究人员正在帮助游戏开发者探索使用游戏作为学习和教学工具的可能性[1]。教育游戏中最常见的游戏类型是模拟和角色扮演游戏,模拟游戏适合在教学情境中使用,因为游戏参与者或学习者可以完全控制游戏玩法,并且根据自身的兴趣自由选择成为游戏中的英雄角色,学习者在模拟环境中练习特定的技能或技巧。目前教育游戏设计与开发研究从个性化学习过渡到实践应用,教育游戏在学习过程中被作为主要认知工具[2]。
二、研究现状分析
(一)计算机教育游戏
所有计算机游戏都必须向游戏玩家提供必要的互动和交流,为了将计算机游戏用作学习和教学工具,在游戏设计中应让游戏玩家回答一些问题,例如游戏界面如何给学习者提供导航、游戏故事情境和游戏规则等。游戏化学习环境能够为学习者提供真实的学习情境,使学习者在探究学习过程中获得更多的隐性知识和认知体验[3]。但由于没有易于理解的用户界面,学习者在游戏环境中易感觉无聊和沮丧,最终会导致用户离开游戏。朱鹏等将信息系统期望价值理论与游戏化学习相结合构建了在线课程期望确认模型,认为游戏化学习情境需要不断为用户设置挑战性情境,让用户在学习过程的愉悦体验持续增强[4]。但目前教育游戏的应用模式研究不够成熟,若要实现计算机游戏与课堂教学深度融合,还需要针对不同课程和学习对象的特点设计教育游戏[5]。
(二)学习者学习程序设计的主要影响因素
有一些因素会影响学习者在学习程序设计时的认知参与度,这些影响因素既包括学习者自身的内在因素,也包括学习环境和教师等外在因素。具体来说,影响学习者程序设计认知参与度的因素可分为个人、环境和学习任务[6]。对于学习者个人来说,学习者在学习程序设计时需要拥有较高的学习动机和学习能力。有经验的教师会激发学习者的学习动机并引导学习者认真思考所学内容,学习者对学习材料会有更深刻的理解。但学习者会将自身的学习特征带入具体的学习情境中,这会影响自身的认知参与度,这包括学习技能、知识、性格、理想、期望、看法、需求、价值和目标等。许多学习者在程序设计入门课程结束时不知道如何编程,难以读懂程序并进行简单的開发实践。本研究侧重于设计一种无须进行计算机编程练习的计算机游戏,供学习者自主学习面向对象的程序设计。在这种情况下,学习者的自我动机非常重要。学习者需要建立自己对程序设计课程的学习兴趣并消除学习程序设计的障碍,以便掌握必要的程序设计概念。
(三)学习者在程序设计课程学习过程中存在的主要问题
学习者在数字化学习环境的驱动下呈现多样化的学习风格,虽然高校教师已经采取了各种教学方法来满足学习者的个性化学习需求,努力减轻学习者的学习压力,但是收效甚微。传统的教学方法并不能产生与玩计算机游戏相同的学习效果,因为游戏化学习环境可以提高学习者的思维能力、注意力和想象力[7]。目前国内游戏教育创设的情境都比较初级和简单,难以调动和激发学习者的学习热情[8]。计算机游戏在虚拟世界中给用户一种引人入胜的沉浸式体验,在虚拟世界中,大多数游戏参与者愿意花数小时沉浸在游戏情境中,享受游戏带来的无限乐趣。这种行为是游戏玩家积极参与游戏过程和与虚拟情境互动的结果,这些动机会不断激励游戏玩家参与游戏世界中的活动。开发教育类益智游戏需要体现识别挑战、幻想和好奇心等基本特征。益智类教育游戏设计的六个步骤是确定教学方法、在虚拟世界中定位学习任务、游戏详细说明、游戏学习支持、将学习活动映射到游戏界面以及将学习概念映射到界面对象等[9]。
当前,我国高校很多计算机相关专业本科生在进入学位课程学习之前缺少计算机编程经验。这种状况容易使学习者形成比较消极的计算机编程学习习惯,一定程度上会影响学习者进一步积极学习其他高级编程语言。因此,部分在校本科生会认为计算机编程课程较难学习和深入应用,对自己的计算机编程能力缺乏信心。本科生在学习编程课程中面临的主要困难是自主设计一个程序来解决某些社会生活实际问题。计算机编程课程学习过程主要包括理解程序设计的基本概念、程序语言语法基础、编写程序、执行程序、测试并发现错误以及修改错误等。现行的计算机程序设计课程在教学方法上较为单一,以课堂讲授为主,授课内容没有及时关注社会热点和职业精神。而案例学习、练习和交互式可视化是计算机程序设计课程最有效的教学方法,在当前的高校编程课程学习中需要大力推广。为了解决上述问题,本研究提出一个基于游戏化学习的方法模型,该模型可以开发出适合学生在游戏化学习环境下有效学习“面向对象程序设计”课程。
三、研究框架与模型构建
(一)研究框架
本研究采用行动研究法构建游戏化学习模型,具体来说,针对“面向对象程序设计”课程学习中的特定问题(学习者对编程课程学习兴趣不高以及编程能力不强等)进行研究设计,在实验中选取6个班的大一本科生共180人,这3个班的学习者同步使用与课程同步的游戏软件学习“面向对象程序设计”课程,在实验中积极解决这些问题并对课程学习环境的干预和改进情况进行仔细的跟踪记录和监控,保证实验研究的信度和效度。基于游戏化学习理论提出“面向对象程序设计”课程游戏化学习框架,如表1所示。
该研究框架提供了详细的教学设计方案,并对游戏化学习模型进行设计,基于课程学习内容构建游戏主题、游戏交互、游戏世界、正向故事情节及游戏机制等,基于布鲁姆学习目标分类法、思维型教学理论、马斯洛需要层次理论、建构主义学习理论及信息加工学习理论设计课程游戏化学习。
为了验证所提出的框架是否适用于“面向对象程序设计”课程游戏化学习,本研究采用结构化访谈法对具有开发教育游戏经验的学科专家和游戏设计者进行调查。本次访谈由10个问题组成,1~4题为游戏学习目标相关的问题,5~7题为游戏玩法设计相关的问题,8~10题为游戏情境创设相关的问题。被试者在接受正式访谈前都建议了解与体验计算机编程类课程学习游戏,调查结果如图1、图2所示。
(二) 游戏化学习流程
该研究提出的“面向对象程序设计”课程游戏化学习流程基于游戏化学习理论进行设计与开发,如图3(见下页)所示。该方法重点关注教学设计风格,在游戏化学习开始阶段,游戏介绍应激发学习者的兴趣并吸引学习者的关注,除此之外,还应提供游戏教程帮助玩家熟悉游戏玩法。在游戏指导阶段,需要向游戏玩家呈现刺激性材料(人物及场景)并提供必要的指导,游戏场景可以包括抽象化概念、主动探索性实验、反思性观察和具体经验,以形成一个包括情境创设、认知冲突和反馈的游戏挑战周期。游戏玩家的下一阶段是挑战高一级别的游戏以进一步进行学习,这种挑战性游戏设计方法适用于开发教育类游戏。但要设计与开发适合本科生学习“面向对象程序设计”课程的计算机游戏,需要结合一些相关的教与学的理论。
(三)游戏化学习理论基础与模型构建
游戏化学习相关教与学的理论包括布鲁姆学习目标分类法理论、思维型教学理论、马斯洛需要层次理论、建构主义学习理论及信息加工学习理论,基于本研究框架、游戏化学习设计流程和学习理论,本研究提出了“面向对象程序设计”课程基于故事情境的游戏化学习模型,如图4(见下页)所示。
布鲁姆学习目标分类法理论提出了认知领域内学习目标分类的六个层次:知识、理解、应用、分析、综合和评价,从最低认知层次的简单回忆或认识事物,到越来越复杂和抽象的精神层次,这个层次被归类为学习目标评价的最高层次[10]。这六个层次充分考虑了学习过程以及从简单到困难的学习目标,可以将游戏级别与相关学习目标进行搭配,因此本研究模型在构建过程中体现了该理论。而游戏级别在保持学习者学习兴趣方面起着重要作用,因此,在设计游戏学习环境时需要充分考虑这个要素。学习“面向对象程序设计”课程需要从基础知识点的学习过渡到全面系统的学习,游戏化学习设计框架要求游戏设计者在设计关卡时充分考虑不同难度的学习路径,要保证每一个游戏级别都与不同难度级别的连续学习路径相关联,这就可以构建一个帮助学习者从游戏中有效学习的数字化学习环境。
思维型教学理论认为,思维是学习的核心,学习具有训练思维模式的功能,思维的发生是学习者对学习环境中发生的某些事件做出个体反应的结果[11]。“面向对象程序设计”课程主要培养学习者的计算思维能力,这一理论将用于提高学习者计算思维能力。学习者学习动机的激发主要依赖于引入问题和创设情境,学习动机和兴趣在计算思维中发挥着重要作用,因为计算思维需要努力,没有主动积极的动机和兴趣驱动,难以获取有效的计算思维,而提出问题和创设情境就是动机激发的关键。因此,在设计游戏世界环境时,需要游戏设计者充分考虑这一理论的价值,游戏世界应在游戏情境创设中提供适当的变化,以持续获得玩家的关注,并刷新玩家思维以继续有效学习后续的学习内容,该游戏化学习设计框架提出为每个游戏级别创设不同的游戏情境,帮助学习者在课程游戏学习中逐渐养成良好的计算思维习惯。
马斯洛需要层次理论认为,当人类满足基本需求时,他们将继续寻找更高的需求来满足自己[12]。这一理论提出人类有五个层次的需要:生理、安全、爱或归属、地位和自我实现。四个较低层次的需要被归类为与生理需求相关的缺陷性需求,而最高层次的需要被称为与心理需求相关的生长需求。该理论认为,当较低层次的需求得到满足时,就会出现较高层次的需求。在设计与开发计算机游戏时有必要应用该理论进行指导:当需求成为游戏玩家责任的一部分时,它可以使模拟感觉变得更加逼真;当利用人工智能表现出这些需求时,就会使这种感觉更加人性化;当大量的低层次需求受到威胁时,游戏玩家在心理层面会感到更加恐惧;当游戏玩家面对需求和紧张之间的关系时,他们必须恰当处理复杂的认知冲突并选择合适的学习情境。此外,该理论在游戏角色开发中也发挥着重要作用。为了激发学习者学习课程的积极性,有必要使学习者具有自主学习和完成游戏任务的愿望,从而获得游戏角色的所有权。因此,可以根据学习者的实际学习需求进行游戏级别设计,以帮助学习者完成相应的学习目标。如果学习者通过游戏化学习能够达到一定的目标水平,将会极大增强他们的自信心,促使他们主动对自己提出更高的学习需求,并激发他们主动学习更复杂的技能。因此,每个学习任务都应该根据游戏角色的不同需求水平进行设计。
建构主义学习理论认为学习是一个积极建构的过程,在该过程中学习者基于他们当前或过去的知识构建新的想法或概念。学习者可以选择和转换信息,提出假设并根据认知结构做出决策。认知结构是一种学习心理模型,旨在为学习者产生有意义的学习经验和共同体,并允许学习者获取未来信息。基于该理论设计与开发计算机游戏,可以使学习者能够自由地思考从游戏世界中获取的信息,这将帮助学习者轻松获得知识或技能。如游戏环境中的信息对话确保学习者在阅读充足的信息知识之后继续玩游戏。该理论还指出,教学过程应主要包含四个方面:学习倾向性、知识体系的构造方式、最有效呈现学习材料的顺序以及奖惩机制。學习者通过游戏英雄和非玩家角色之间的对话学习“面向对象程序设计”课程的基本概念,在整个对话过程中,游戏情境将建议的学习内容呈现给学习者,学习者之间的对话信息和学习内容可以共享。
有学者提出信息加工学习理论,认为不同类型的学习需要不同类型的教学[13]。他认为学习有五大类:语言信息、智力技能、认知策略、运动技能和态度,智力技能的学习任务可以根据刺激识别、反应生成、过程跟踪、专业名词使用、概念形成、规则应用和问题解决等几个方面的复杂性进行分层组织。在“面向对象程序设计”课程游戏设计中,可以基于课程学习任务的复杂性设计游戏级别,如专业名词使用(1级:关键字识别)、刺激识别(2级:关系与表达式识别)、概念形成(3级:循环结构)、过程跟踪(4级:选择结构)、响应生成(5级:数组操作)和问题解决(6级:方法)。
四、“面向对象程序设计”课程游戏开发过程分析
基于情境故事的游戏化模型可以基于学习目标适当加入多个体验元素,让学习者可以决定情境故事中角色的行动和结局,增加其沉浸感[14]。本研究提出的游戏化学习设计开发模型是基于“面向对象程序设计”课程游戏化学习框架进行构建的。该模型在开发过程中基于马斯洛需要层次理论设计游戏级别,因此,有必要对游戏用户和学习任务进行分析,了解游戏用户的学习需求是游戏开发的重要任务。为了及时获取游戏用户的学习需求,本研究采用在线问卷调查的方法进行搜集数据,参与在线问卷调查的被试者是本校180名计算机科学与技术本科专业的大一学生。在线调查获取游戏用户的学习需求之后,接下来的任务是基于“面向对象程序设计”课程教学大纲中的学习内容定义每个游戏级别相应的游戏目标任务,最后阶段是开发游戏人物角色及场景,并测试游戏以评估游戏的整体功能。如果在测试过程中发现任何问题,运用迭代方法对前一阶段的游戏开发工作进行修订直到解决问题为止。“面向对象程序设计”课程游戏开发模型重点关注故事情节在游戏开发过程中的应用,该开发模型包括游戏目标模块、角色塑造模块以及游戏成绩模块,见图5。
游戏目标模块是帮助游戏设计者定义游戏学习目标和故事情节所需的游戏组件。目标和组件的正确识别会促进游戏设计进程,尤其是整个游戏设计架构。同时,角色塑造模块有助于游戏设计者塑造游戏中的人物以及在游戏故事中所扮演的角色。游戏角色的选择过程对教育游戏非常重要,因为游戏角色会直接与游戏玩家或学习者进行互动的虚拟对象,因此,课程学习期望和学习要求对游戏设计者来说至关重要。本研究选取学科专家和计算机科学与技术专业的本科在校学生作为参与者,课程游戏根据参与者的输入和反馈信息来相应地进行设计。游戏成绩模块是该游戏设计模型架构的最后一层,该模块定义了游戏界面和故事情节。游戏故事情节在游戏情境创设中非常重要,因为它可以吸引游戏玩家或学习者在游戏学习中持续玩下去,也就是说,让游戏玩家或学习者的注意力聚焦于下一步的学习任务。一个好的故事情节或背景故事能够帮助设计者快速识别游戏学习中涉及的角色。游戏故事情节中的角色需要解决所有不同游戏级别中的难题,并收集所需的组件完成游戏学习任务。
(一)角色扮演类游戏设计
角色扮演类游戏允许游戏玩家或学习者自由选择自己感兴趣的游戏角色和情境,这有助于其快速适应游戏世界。因此,在“面向对象程序设计”课程游戏设计中很有必要嵌入角色扮演类游戏。游戏玩家或学习者将在课程游戏情境中扮演游戏中的机器人工程师,这个角色是该游戏中IT行业代表性人物的核心角色,机器人工程师的任务是构建一个功能齐全的三维模型机器人,该机器人可以对游戏世界的不同环境做出及时反应。
(二)故事情节
“面向对象程序设计”课程游戏是一款引导游戏玩家或学习者在轻松自由的环境中学习面向对象编程的计算机游戏,游戏玩家或学习者将随着游戏程序的指引逐步学习如何成功完成他们的角色任务。优秀的教育游戏可以通过剧情和奖励机制激发人的自我意识,让学习者自主设定学习目标和学习计划,结合游戏的反馈不断进行自我反思,从而顺利达成目标[15]。该游戏在故事情节上设计引入计算机发展历程中的代表性人物或里程碑事件的介绍,音效和角色设计符合学习任务的表达需求,在提升学生学习兴趣的同时,潜移默化地使学生从故事中升华思想。当游戏开始时,角色将具有允许其在游戏地图上旅行的导航系统,为了使自己的能量变得更强大,它必须与游戏场景中的敌人进行战斗消灭敌人以增强自己的实力,有些游戏场景会通过提供具体的挑战任务来帮助角色获取能量。当角色完成任务后,可以通过增加经验或获得新装备来提高可玩能力而获得奖励。当游戏玩家或学习者在游戏中获得愉悦时,他们实际上是在学习“面向对象程序设计”课程的相关知识。该课程游戏是一个独立运行的APP游戏,每个游戏玩家或学习者都可以在自己的应用程序中进行自主游戏和学习。游戏平台在正式进入游戏界面前会给游戏玩家或学习者理解面向对象编程基本概念提供可视化帮助,如封装、继承和多态性等,游戏情境旨在提高和培养游戏玩家或学习者学习计算机编程的兴趣。此外,该游戏还为游戏玩家和学习者提供基本的程序设计思想与实施流程,这有助于提升游戏玩家或学习者利用程序设计解决实际问题的能力。
该课程游戏还包括迷你型益智游戏,这些游戏通过五个级别的快速挑战来强化游戏玩家或学习者的碎片化编程知识。首先,将“面向对象程序设计”的基础知识介绍给游戏玩家或学习者,游戏玩家或学习者通过对象和类测试之后即第一级游戏过关。在第二级游戏挑战中,引导游戏玩家或学习者学习控制语句,如if else、switch case以及方法声明的结构。在第三级游戏挑战中,引导游戏玩家学习数组和三种循环语句类型,具体学习任务被分配给游戏玩家或学习者,以确保他们真正理解知识背后相关的概念。游戏玩家或学习者通关完成学习任务后可以进入下一级别的游戏。在第四级游戏中,游戏玩家或学习者开始学习“面向对象程序设计”的主要原理,主要是学习封装和继承原理,游戏情境会提供相关示例以帮助游戏玩家或学习者深入理解和应用这些原理。在最后一级游戏中,游戏情境主要引导游戏玩家或学习者学习多态原则。当玩家或学习者消灭最后一个称为病毒的敵人时,该游戏结束。游戏玩家或学习者会因其持续参与游戏学习的热情得到及时奖励,在这种正向学习动机的促使下,课程游戏会鼓励游戏玩家或学习者继续学习新的编程知识和技能。
五、結论
“面向对象程序设计”课程游戏依据课程教学大纲规定的教学目标和核心内容设计游戏模型,参与游戏体验与测试实验的对象为计算机专业本科生。对于选定的课程内容和参与对象来说,比较适合于基于编程能力培养的计算机游戏化学习研究,因为该游戏涉及的内容和主题涵盖了面向对象编程的基础知识,如变量声明、内存分配、对象、类、封装、继承和多态性等。基于计算机游戏的学习设计方法模型可以作为开发计算机编程类课程游戏的指南,以提供给学习者学习计算机编程知识的有效学习资源。该课程游戏基于课程教学大纲将学习内容分为不同的游戏级别和游戏任务,在学习过程中要求学习者与非游戏玩家角色进行互动交流,完成当前游戏任务后可以选择升入下一级别的游戏任务。在游戏化学习中应关注学习者认知过程的每个认知环节,并且给予学习者差异化引导,以确保其顺利完成学习任务[16]。因此,游戏化学习是学习者获取课程所需知识的最有效的学习方法之一,计算机游戏可以成为教学过程中一种极具吸引力的学习媒体,教师可以根据学习者的学习技能差异和个性偏好逐步引导其完成课程学习目标。计算机游戏在提升学习者计算机编程能力的学习行为追踪、效果评价以及有效支持课程学习的策略,将会是今后值得深入研究的课题。
参考文献
[1]OBLINGER D G.The Next Generation of Educational Engagement[J].Journal of Interactive Media in Education,2004(8):1-18.
[2]曾嘉灵,尚俊杰.2013年至2017年国际教育游戏实证研究综述:基于WOS数据库文献[J].中国远程教育,2019(5):1-10.
[3][15]张露,尚俊杰.基于学习体验视角的游戏化学习理论研究[J].电化教育研究,2018,39(6):11-20,26.
[4]朱鹏,朱星圳,丁晟春.游戏化对MOOC用户持续使用意愿的影响研究[J].中国电化教育,2019(4):85-91.
[5]李玉斌,宋金玉,姚巧红.游戏化学习方式对学生学习效果的影响研究:基于35项实验和准实验研究的元分析[J].电化教育研究,2019,40(11):56-62.
[6]HELME S,CLARKE D.Identifying Cognitive Engagement in Mathematics Classroom[J].Mathematics Education Research Journal,2001(13):133-153.
[7]祝士明,王田.游戏化学习环境下的教与学[J].现代教育技术,2017,27(6):25-30.
[8]卞地诗,陈飞扬,韩天舒.游戏教育的中外实践比较及启示[J].数字教育,2021,7(5):86-92.
[9]PIVEC M,DZIABENCO O,SCHINNERL I.Aspects of Game-based Learning[J].Proceedings of I-Know,2013,3(7):216-225.
[10]FOREHAND M.Emerging Perspectives on Learning,Teaching,and Technology[J].Ptimary Teaching Assistants:Curriculum in Context,2014(5):93-95.
[11]林崇德,胡卫平.思维型课堂学习的理论与实践[J].北京师范大学学报(社会科学版),2010(1):29-36.
[12]RICHARDSON V.Constructivist Teacher Education:Building a World of New Understandings[M].London:Famlmer Press,1997.
[13]GAGNE R M.The Conditions of Learning and Theory of Instruction[M].New York:Holt,Rinehart and Winston,1985.
[14]曲茜美,曾嘉灵,尚俊杰.情境故事视角下的MOOC游戏化设计模型研究[J].中国远程教育,2019,40(12):24-33.
[16]张露,胡明玉,尚俊杰.游戏化学习体验的质性分析研究[J].中国远程教育,2020(3):35-41.
(责任编辑 孙兴丽)
The Construction of Game Learning Application Model for Cultivating College Students’ Programming Capability
YANG Wenyang,MENG Qingqing
(School of Computer,Xi’an Shiyou University,Xi’an,Shaanxi,China 710065)
Abstract: At present,colleges,centered on learners,promote vigorously the education and teaching reform, and traditional teaching methods cannot satisfy learners’ personalized needs of programming course learning.The programming exercises in the traditional course practice are relatively tedious,which is hard to motivate learners’ interest in learning programming and even produces negative mood to programming learning.This research,facing the cultivation of computational programming capability,has put forward a learning model based on computational games.This game model,taking the course of “Object-oriented Programming” as an example,creates game learning environment facing undergraduate students in school,and emphasizes game level,story situations,and player experience.The game focuses this research puts forward pays close attention to player experience,namely,player can learn the course of computational programming in the game without specialized programming exercises.The game learning based on computer focuses on learners’ needs and player experience,completes learning objectives and improves learners’ learning attention and computational thinking through game learning,makes students sublimate the thought and spirit from game stories unconsciously.
Key words: story situation;programming capability;learning attention;game experience
1205501186334