于 延,李英梅,于 龙
(哈尔滨师范大学 计算机科学与信息工程学院,黑龙江 哈尔滨 150025)
高级语言程序设计课程是计算机相关专业基础课程,也是很多其他专业的必修课,更是让学生了解计算机工作原理,用计算机解决数学、物理、工程、管理等问题的最好工具。目前国际许多著名高校都非常重视学生程序设计能力的培养,甚至在中小学阶段开展程序设计教学已成为国际通行惯例。
作为培养学生计算思维、逻辑推理、解决问题能力的课程,传统教学模式的缺点越来越明显。教师的教学过程枯燥而缺乏活力,学生的学习方法僵化而效果甚微。为了切实提高程序设计课程的教学效果,笔者及团队一直积极探索教学方法改革。通过多年的努力和实践,笔者引入了游戏化教学模式,取得了良好的教学反馈。
20 世纪80 年代,国际上出现关于教育游戏的研究。国内关于游戏化学习的研究在近十几年成为热门。北京大学教育学院尚俊杰教授于2011年提出“游戏化探究学习模式”,采用计算机游戏为主要学习环境进行科学探究[1]。游戏化学习就是在教学设计过程中就培养目标与发展、评价手段、学习者心理特征与教学策略等方面借鉴游戏,设计、选择适当的发展工具、评价方法、教学策略[2]。游戏化学习主要包括数字化游戏和游戏活动两类,教师将游戏作为与学习者沟通的平台,培养学生的多元智力素质[3]。
本文提出的游戏化教学模式与上述学者观点不同,主要指将程序设计课程日常教学、管理、评价等所有教学活动以游戏形式开展,让学生在现实世界真实游戏中完成学习任务。游戏化教学模式强调在真实世界中,将真实教学活动以游戏关卡和任务的形式进行分解和实施,学生在现实世界通过做任务和通关完成课程学习。
将C 语言程序设计课程真实教学活动以游戏形式开展,教师应该通过学前测试和专业介绍等形式让学生深入了解以下背景。
(1)2016 年全国高校计算机教育大会以“计算机系统能力”为主题。以哈尔滨师范大学为例,近年来开展计算机系统能力课程群建设,程序设计作为课程群基础课程,地位十分重要。多年来各高校积极探索程序设计课程教学改革,翻转课堂、研究性学习、任务驱动、编程游戏等概念不断应用到教学改革实践中。
(2)TIBOE 编程语言社区公布的2016 年7月最新一期的编程语言排行榜,C 和C++排名第2、第3 位,仅次于Java 语言。多年来C 语言在行业中一直处于第2 名的领先位置。
(3)随着物联网技术的发展,C/C++技术在3G 网络通信(移动网络、互联网、Zigbee 等专用网络)、多媒体处理、智能识别等领域得到了进一步的推动和发展。
(4)所有开课学生的地域来源、高考成绩、个人学习愿望、性格、智商、情商和学校环境等因素,也是游戏(学习活动)背景的重要组成部分。
教师在实施游戏的过程中,游戏策略、数值设置、评价机制要根据以上背景因素灵活变化,以适应游戏玩家,取得最佳的学习效果。
课程内所有学习者被定义为玩家,根据历年学生的学习情况,将所有玩家进行分类,见表1,在游戏过程中可以为不同类型的玩家采取不同的游戏策略以及设计不同的学习任务。玩家在游戏过程中通过自己的努力可以改变玩家类型标志。
表1 玩家分类
为配合教学改革,笔者以“章—节—知识单元”三级目录结构出版了《C 语言程序设计与实践》一书。全书重新整合C 语言教学内容,“知识单元”努力做到相对独立和规模适中,其下又分为几个小的知识点。笔者还出版了与此教材配合使用的《C 语言程序实验与课程设计》一书,书中对主教材知识单元进行科学详细的知识点任务分解,并对每一个知识点任务提出“认识、理解、领会、运用、创新”5 级能力要求,并对不同能力要求给出了学习步骤和方法。
主教材全书分为16 章,每1 章对应1 个主关卡,章内每1 节对应1 个子关卡,节内每个知识单元对应1 个任务;知识单元下设1 至多个子任务。表2 为教材部分章节的任务分解示例。
游戏玩家是整个游戏过程中的主角,作为学习者在不同类型的游戏活动中可以扮演表3 提示的各种角色,来达到学习的目的。
表2 配套教材与关卡任务的对应关系
建构主义教学理论强调以学生为中心的教学设计,笔者设计的游戏中以学生作为唯一玩家角色。对于某一特定玩家来说,其他玩家和角色都被定义为NPC 角色,在游戏中主要起到引导、教学、辅助、合作、答疑的作用(表4)。
游戏场景是游戏玩家的基本平台,所有的游戏任务都要在某个场景中完成。不同的场景适合进行不同的游戏任务,对玩家的能力培养有不同的侧重点,丰富的场景会让玩家感到强烈的带入感和新鲜感。表5 是笔者对游戏场景的定义和设计。
表3 玩家角色
表4 NPC 角色
表5 游戏场景
玩家在游戏过程中,要借助道具来完成任务。不同的道具有不同的作用,笔者对游戏中可能使用的道具及其作用分析见表6。
C 语言教学内容被分解成若干不同的游戏关卡和任务,对于不同类型的任务,玩家可以选择不同的方式完成。不同的任务完成方式有不同的特点,可以锻炼玩家的不同能力(表7)。
表6 游戏道具及作用
表7 任务类型及能力目标
为了保障游戏的顺利实施,课程组在学院内选拔若干学生助教辅助教师完成整个游戏(教学活动)的实施、管理、评价等工作。学生助教负责对玩家所有关卡和任务完成情况的检查、评价和记录,负责周测、月考的组织和实施。学生助教的全程管控保证了游戏的实施和对学生有效的过程性评价,这些措施有效地弥补了授课教师不能全程参与学生学习过程的缺憾。
为了提高教学活动的游戏性,让玩家在游戏过程中能有较高的融入感、体验感和成就感,笔者对游戏进行了以下设计。
(1)随机任务。在游戏过程中,教师会不定期公布随机任务,可设计为简单任务、普通任务、高难任务,或者设计为必做任务和可选任务,玩家对随机任务的期待和关注提高学生的学习兴趣。
(2)点数和级别。玩家完成规定任务,按照完成时间和质量可以得到一定点数,不同点数的玩家可以获得不同的级别,可分为打酱油(消极玩家)、小学生(普通玩家)、大学生(核心玩家)、学霸(超级玩家)。点数和级别可以激励玩家不断努力进取。
(3)考试和竞赛。通过周测、月考、期中考试、期末考试和竞赛等方式,提供玩家之间竞技的机会,考试和竞赛排名可以为玩家带来一定的点数和奖励。
(4)排行和徽章。在点数设计的基础上,对全体玩家适当公布排行,可以选择按周、按月排行,玩家通过排行可以清楚地了解自己所处的位置和努力方向。根据点数绝对值、点数变化、考试竞赛中的特殊成就或者对游戏建设的贡献等因素,给玩家发放不同类型徽章,此项举措是评价玩家的重要指标,可极大满足玩家的成就感。
游戏化学习被广泛应用于学科教学改革,本文提出的游戏化教学模式与流行的游戏化学习有所不同。游戏化教学模式是在现实世界中将真实教学活动分解为规模适当的教学任务,并设计游戏元素、玩家角色、任务类型、游戏场景、评价与激励,使学习者以游戏玩家身份,通过做任务完成课程学习。实践证明,游戏化教学模式颠覆式地改革了传统教学模式,创新性地丰富了游戏化学习理论和实践,利用游戏理论和方法,激发学生的学习兴趣,提高了学生的学习效果。相信游戏化教学模式会对教育改革起到积极的影响。