基于“游戏驱动”的C语言教学模式探索与实践
2022-01-17李娟高丽平夏敏捷
李娟 高丽平 夏敏捷
(中原工学院计算机学院,河南郑州 450007)
0.引言
目前,C语言程序设计课程大部分时间是老师单向传授知识,学生缺少思维训练,导致学生缺乏学习兴趣、不主动思考等现象。而如今的大学生是随着网络长大的一代,游戏玩得好的学生,除了手脑协调能力较强外,对于计算机思维方式也较容易把握,比没有游戏体验经历的同学在逻辑思维和创新能力方面表现得更加显著[1]。因此在C语言程序设计课程中将教学知识点与恰当的游戏案例相结合,不仅能将知识点融会贯通,而且结合了挑战、合作和发现等游戏元素,使学生在学习中娱乐,在娱乐中学习,达到事半功倍的效果。本文结合笔者的实际教学经验,以“游戏驱动→理论知识”的模式重新组织教学模式,并运用智慧化的教学平台,切实提高了学生的编程兴趣,培养了学生自主学习的能力,从课程中享受学习的过程变被动为主动。
1.C语言课程教学现状
在目前的教学模式中,教师往往以独白的方式进行单向授课,一般都是按照教材的章节顺序来讲解知识点,主要精力会花费在基础语法和结构的介绍上,弱化了学生独立思考和逻辑分析的能力。即使在现在流行的翻转课堂中,教师仍习惯于传统的教学模式,按照教材内容顺序,先理论后实践,仅将精力放在理论方面的课堂翻转,而课程的实践过程在翻转过程中是很难实现的。因此,无论传统的教学方式还是翻转课堂,都会出现的大量琐碎的语法句法规则,难以对学生的学习积极性带来比较明显的正向刺激。
另外,课程的实践案例往往所依托的知识点比较单一,且与真实案例脱离,使学生产生迷茫的感觉,不知道学习这个知识点的目的是什么,到底可以解决什么样的问题,导致学生看问题不会太透彻、太深入,无法发现蕴含在知识点背后的关联性及解决问题的思维方式。
学生在学习过程中往往是单打独斗,老师布置任务,学生独立解决,若运行结果与答案一致即可。因此学生很少能提出发散和联想的问题,也很难体会到团队协作的精要。
2.教学环节与游戏的结合点分析
“游戏驱动”的教学方法,其目的是以激发学生内在的潜能为动机,需要将教学内容进行重新整合并制定知识点,将各个知识点与相应“游戏”所需的关键技术相结合。如:以选择结构为例,可选择较简单的“石头-剪刀-布”这类的小游戏展开单分支、多分支的介绍[2];如选择“猜数字”游戏进行循环的介绍,再如数组这部分内容,可采用“五子棋”等游戏,阐述数组在游戏中的作用,从而理解数组的功能与用法。当然,在“文件”这部分的知识点还可以将综合游戏案例的分数统计等信息以文件形式存储,从而可以完善游戏排名等功能。C语言知识架构如图1所示。
图1 C语言知识架构
这些小游戏对于学生来说都非常熟悉游戏规则,且游戏本身的编程工作量也不大,将它们引入课堂教学,相比经典的数学问题或算法,更能贴近学生生活,提升学生的学习兴趣。
3.基于“游戏驱动”的教学模式探索
3.1 教学方式的设计
课前教师首先推送即将学习的内容及游戏内容,由学生自主学习,预习新知识,巩固旧知识,将自己的知识结构融会贯通,方式可以通过查阅资料、学习mooc或自行练习、小组讨论来进行。
在课堂中,运用“逆向思维”思维[3]方式,先带领学生玩一个猜数字游戏,通过教师的不断启迪和引导,构建游戏设计流程。为解决设计流程中的技术难点,引入本节知识点:循环嵌套和转向语句。随后在通过编写游戏代码过程中,通过不断地出现问题、解决问题,让学生跟随思路,提出他们的疑问,帮助教师找出各种解决问题的方法,将学习模式从“受教”转为“发现和探索”,将督促学习转为主动求知,通过具体问题不断解决和完善中,逐渐产生对计算语言的兴趣,逐步加强自我能力认知,从而树立强有力的自信心。
课堂中也要融入思政教育,不断挖掘思政内容在专业课中的具体体现,使其成为思想与瞬间相结合的教育实践活动。例如:通过讲解游戏的流程图,阐明计算语言中的逻辑性关系,引导学生从日常生活中出发,将具体事情按照规划,分清主次,合理安排;再如讲解函数时,引入去年武汉疫情快速建成的火神山方舱医院,以模块化的思维方式解决问题。
课后,利用智慧化的在线教学平台Canvas推送作业或小测试、开展生生之间与师生之间的答疑活动,教师还应及时收集Canvas的学情数据,根据反馈掌握学生动态,持续改进教学活动,优化教学设计。
3.2 采用团队协作形式
利用Canvas教学平台,在课程开始时,可将一个行政班级进行分组,以自愿结合为原则每组成员约5~6人。每次的游戏开发任务以小组形式布置,每个小组发挥小组成员各自优势,共同协作完成游戏开发的任务。同时小组成员需要讨论并解决游戏中存在的问题,如:游戏任务需要哪些模块、界面如何设计、实现的先后顺序,关键问题和解决方法等,基于这些任务再进行分工,任务完成后团队成员还应讨论逻辑是否全面、功能是否完整,尽量改进不足。通过团队协作形式培养他们的合作能力,重视学生的参与,激发他们的竞争力和创造力。
3.3 引入竞争机制
上一阶段完成的小组作品要进行分享和交流,教师对游戏的实用性、创新性、及测试结果做出合理的评分,并提出反馈意见,进而完善作品。同时,利用Canvas进行小组间的互相评分,使学生充分参与,最后由教师进行归纳总结,引出新的任务和问题,启发学生思考。
3.4 考核方式的多元安排
目前,我校增加了学生过程性考核评价,课程考核方式以60%的平时成绩与40%末考成绩进行统计。对平时成绩的分配可结合以下几方面进行综合评分:第一,学生“课堂上”的学习情况。这部分数据来源于Canvas的全过程检测、精准的学情分析。第二,团队协作制作完成的游戏作品的评价分数,该部分数据由教师评分与小组评分综合计算。第三,授课期间安排一至两次的阶段性测试,作为平时成绩的一部分。
4.总结
“游戏驱动”化的教学模式,能够展现具体情境,通过教师发挥引导、监控、启发的教学主导作用,使学生自主学习能力得以强化,使他们具备解决实际问题的能力。通过小组协作方式,引入竞争机制,对小组之间进行评比,设置多元的考核方式等教学方法,目的就是为了改进程序设计类课程的教学,真正将打造“金课”[4]落地该类课程。