基于EIP-CDIO的游戏闯关式教学探索
2021-07-19纪亚芳张凯丽赵红梅王大为
纪亚芳 张凯丽 赵红梅 王大为
(山西师范大学物理与信息工程学院,山西 临汾 041000)
1 引言
随着科学技术的高速发展,电子产品的集成化要求也越来越高。在此背景下,硬件软件化是电子工业技术的未来发展趋势。C语言是目前国际广泛流行的通用程序设计语言,也是理工科学习程序设计首选的一门专业基础课,为达到培养应用型本科人才的目标,培养学生综合运用所学专业知识解决问题、完成设计任务的能力,有必要对C 语言程序设计教学进行改革研究与探索。
2 现行教学方式的问题
根据目前教学情况,尽管老师们在各个层面的教学过程中努力探索,积极实践,也取得了一定的成效,但在具体实践教学过程中仍存在一些问题。
2.1 具体设计的实现问题
在面对具体设计时,很多学生会表现得不知所措,无从下手。C 语言程序设计是电子信息工程专业学生进入大学后接触到的第一门计算机编程类课程,而大部分学生此前并未接触过此类课程,使用计算机解决问题的思维方式尚未形成,面对具体设计题目时往往无法顺畅地将自己的构思和设计通过程序的方式表达与实现。
2.2 编程过程的心理问题
学生之间的基本知识扎实程度和自身素质具有一定差距,随着学习难度的增加,部分学生学习到一定阶段会产生畏惧心理,尤其在多次编译均无法找到错误缘由时,很容易产生挫败感。如果无法正确对待失败,并且忽略了团队合作的重要性,学生就会产生“这门课很难,自己无法学会”的心理现象,从而轻言放弃。
2.3 程序设计的逻辑问题
在进行程序设计时,学生需要有较强的逻辑思维能力,思路要保持清晰流畅,考虑充分。然而,部分学生做不到对问题的深入思考、举一反三,并且存在对编程思想理解不透、构思和设计不明朗的现象,因此在实现和运作时往往感到力不从心。
3 EIP-CDIO思想
EIP(Ethics-Integrity-Professionalism)是指讲道德、讲诚信和专业化,CDIO(Conceive-Design-Implement-Operate)表示构思-设计-实现-运行。EIP-CDIO就是注重职业道德与诚信并与构思-设计-实现-运作进行有机结合的新模式。本文基于EIP-CDIO 理念对C 程序设计这门课程进行教学模式探索,设计了游戏闯关式教学方式,在各个关卡充分体现EIPCDIO思想,合理设置各个章节关卡的梯度和广度,将灵活多样的教学方法充分运用于教学过程中,在教学过程中注重学生逻辑思维能力的培养,使学生在面对设计题目时能通过团队协作完成构思-设计-实现-运作过程,为后续相关课程的学习奠定坚实的基础,同时在培养过程中注重人文精神的熏陶,使培养出来的学生具备优秀的职业道德、诚实正直、富有责任感[1],毕业后可以更好地融入社会。
4 游戏闯关式教学过程设计
游戏闯关式教学方式以章节为单元,每个章节设置多个关卡,各关卡融入EIP-CDIO思想,根据章节内容及关卡特点选用不同的教学形式,授课过程注重构思-设计-实现-运作的过程,各章节关卡设计如图1所示。
图1 游戏关卡设计
4.1 初始环节
初始环节即为每一章的导入,根据每个章节的特点选择不同的导入方式。在循环章节可通过自然界的重复动态图片进行导入,将循环的概念渗入其中,在数组章节中以求班级中学生某门课的成绩作为研究对象采用“抛锚式”方式导入,使学生对所学内容有直观印象,从而激发其认知需求,形成学习期待。在此教学环节中着重培养学生的创造性思维,刺激与激发学生的好奇心,鼓励学生的冒险精神,敢于大胆猜测、大胆假设、大胆想象,打破固有思维的束缚,遇到问题时能多角度、多层面、多结构去思考问题,寻找答案。
4.2 寻宝环节
寻宝环节是最重要的课堂活动之一,重点为学生知识点的获得和逻辑思维方式的培养。该环节中要培养学生预习习惯,注重教学形式的多样性,在教学中淡化语法上的细节部分,按照“人脑思维—计算思维—C语言程序设计思维”的顺序努力将计算思维融入C语言建构中,使学生的逻辑思维能力得到锻炼,同时充分调动学生学习的积极性,积极引导学生参与到课堂中来,在课堂上达到师生思维上的同频共振。在教学过程中,每一个题目都可看作一个小项目,引导学生尝试按照“构思-设计-实现-运行”的思路去完成,其中构思即为题目的需求分析部分,在此部分可渗透数据类型、函数、指针、数组、结构体等概念;设计对应详细设计部分,可将结构化程序设计思想与算法融入其中,并通过流程图的方式将设计思路体现出来;实现则为具体程序代码的编写过程,在此过程中注意使用正确的语法规则,把握好程序的可读性与效率;运行即运用编程软件将编写好的程序编译,学生可根据编译结果提供的信息对程序中的错误进行改正,同时具备检查运行结果是否正确的能力。
4.3 火眼金睛环节
在学习过程中,故意在程序中设置一些错误来验证学生的掌握情况和理解程度,既可以在课堂氛围低落时重新燃起学生的学习热情,又可以加深学生对程序的理解和思考。该环节着重培养学生严谨细致的学术态度,例如在写程序时可能少了一个符号或字母、大小写混淆或者是把字母“l”看成了数字“1”都会导致程序编译报错,因此在学习与工作中需坚决杜绝马虎粗浮的思想,做到专心、细心、精心。
4.4 练级环节
练级环节主要是学生练习课后习题及作业,要求学生按照CDIO思想,编程前先理清思路,并画出流程图,将编写的程序进行上机运行。这样既可以直观地查找到程序中的语法错误,验证程序结果,又可以增强学生的实践能力,培养程序思维,使学生的项目开发、设计能力有质的提升。在此教学环节中着重培养学生良好的责任心,做有益于网络秩序的事情,要谦虚谨慎,戒骄戒躁,写出高质量的代码。
4.5 更上一层楼环节
该环节主要是上机实践环节,经过上面几个环节的练习,尤其是练级环节的训练,学生实践能力已经有很大的提高,因此实验课程可以设置一些与实际问题紧密结合的设计型和创新型实验,训练学生创新能力和学以致用的综合能力。在该环节中仍然要求学生按“构思-设计-实现-运作”的过程去完成实验题目的程序设计,同时在碰到难题时可通过与同学交流或小组讨论等方式解决,从而增强学生与人积极交流沟通的能力、团队精神和协作能力。
4.6 打BOSS环节
该环节为每个章节的测试环节,挑战有输有赢,输了可通过该环节进行查缺补漏,对不熟悉、没掌握的内容进行复习强化,赢了可增强学生信心和成就感,以更浓厚的兴趣和热情进入下一个章节的学习。在此教学环节中,教师需引导学生拥有积极向上的学习态度和钻研精神,着重培养学生坚强的意志与经得起失败磨练的健康心理,使学生形成良好的心理素质和品行。
4.7 挑战终极BOSS环节
该环节为本课程的期末测试环节,对学生的成绩有很大的影响,因此要求前面所有关卡都通过后才能进行终极挑战,若挑战失败,只能从头再来,即为补考或重修。
在具体实现时,应合理设置各个环节的梯度,各环节之间的难度应是循序渐进、逐层递进的,难度跳跃过大会挫败学生锐气,打击积极性,过于简单又难以达到锻炼学生思维能力的目标,因此需要在实践中逐步摸索与调整。
5 游戏闯关式教学实现形式
C 程序设计课程的游戏闯关式教学主要通过理论课与实践课、线上与线下相结合来实现。面对2020年突如其来的新冠疫情,开学日期被迫延后,为保障“推迟开学不停教、不停学”,线上教育飞速发展,各个专业网课平台逐渐融入到我们的教学工作中,也促使C程序设计的线上课程体系逐步完善。本门课程目前的教学安排是32讲授课时,32实践课时,在教学过程中根据环节的内容及特点进行教学安排,初始环节与寻宝环节主要是在理论课程中完成的,线上资源作为线下补充;火眼金睛环节与练级环节则采用线下线上三七分方式,课上进行少部分训练,课下利用线上资源完成相应环节的闯关,同时针对一些易错题、难题在课上进行重点分析与讲解;更上一层楼环节中主要采用线上设置发放实验内容,要求学生在实践课时能按时完成任务并进行互评;打BOSS环节采用线上发放测试内容,学生利用课余时间完成并提交,只有分数达到一定分值才能开启下一关,否则重新进行测试;最后的挑战终极BOSS环节根据学校期末考试统一安排,在此之前需要同学们完成所有关卡的挑战。
C 程序设计课程的线上教学主要借助超星泛雅网络教学平台来完成,各个章节内容按游戏闯关环节设计,各个环节内容发放均设置为闯关模式,如图2所示,学生们只有完成前面环节的任务才能进入后面的环节,教师在后台可随时检查学生的完成情况,及时督促与指导需要帮助的学生。
图2 各章节内容设计
6 实践效果
由上学期学生的问卷调查可知,学生们对各个环节的设置较为认同。火眼金睛环节中,34.1%的同学认为可以验证自己的掌握情况与理解程度,29.5%的同学认为能激发学习热情,36.4%的同学认为可以避免自己写程序时出现此类错误;打BOSS环节中,100%的同学认为是非常有必要的;在学习过程中,98%的同学在遇到难题时能够克服畏难心理,不惧失败,勇于尝试,可通过自主思考或与同学合作等方式解决难题。学生反馈的学习难点集中体现在具体题目从设计到实现的过渡上,在今后的教学中,将增强相应环节的训练力度,更好地发挥学生的主观能动性,帮助学生打下坚实的C语言基础。