程序设计基础教学改革研究

时间:2022-11-12 11:44:14

程序设计基础教学改革研究

摘要:针对应用型本科院校程序设计基础课程教学的现状,提出在授课过程中采用理论与实践相结合的模式,并将MOOC作为课堂教学的补充引入教学过程中,基于OnlineJudge实践平台,介绍实践教学模式与考核方式的改革,并说明改革效果。

关键词:工程教育专业认证;MOOC;OnlineJudge实践平台

工程教育专业认证标准要求教育活动要坚持“以学生为中心”“产出导向”和“持续改进”的理念[1],要以学生的毕业要求和学生毕业后5年的培养目标为导向开展。程序设计基础作为专业基础核心课之一[2],需要支撑多个毕业要求指标点。目前高校的程序设计基础课程普遍存在教学模式落后、内容枯燥,与工程实际脱节,缺乏与相关专业工程背景有效结合[3],学生缺乏学习兴趣,教师是教学活动主体,学生只是被动地接受,很少参与课堂中,缺乏对学生的启发教育等问题[4],达不到工程教育专业认证标准。程序设计基础要以产出为导向,要结合社会对人才需求与应用型本科院校的人才培养宗旨,因此可以采用理论与实践相结合的授课模式,通过实践训练,培养学生分析问题能力和解决问题能力,而不是单纯地去学知识点。在教学过程中需要以学生为中心,通过构建MOOC资源,激发学生的自主学习行为,让学生从“我学程序设计基础”到“我用程序设计基础”甚至是“我玩程序设计基础”。OnlineJudge实践平台的自动判断功能可即时判断学生编程的正确性,并给出错误提示,使学生在编程练习时得到成就感,提高编程兴趣。另外该实践平台可分析各知识点得分率,做到教学过程留痕,使教师可适时调整自己的教学方案,达到更好的教学效果。

1工程教育专业认证标准下课程目标

依据中国工程教育专业认证标准设置了课程目标,能够支撑工程教育专业认证标准指标点,具体的对应关系见表1。

2更新教学方法

2.1利用理论与实践相结合的授课模式。根据工程教育专业认证的理念,课程实践环节的目标主要培养学生的实践动手能力以及根据所学知识解决复杂工程问题的能力。传统的教学方式分为理论课和实践课两部分。在授课过程中发现,理论课堂上,大部分学生还是能够听懂的,但是一到实践课时,学生不会应用学过的理论知识,极少人能进行上机实验。针对这种情况,应采用理论与实践相结合的授课模式,将课堂搬到多媒体机房,每人一台电脑,理论课堂不再是教师单纯地讲理论和实例,而是根据学在生需要,随时在讲课和编程实践之中切换,并且这种理论和实践相结合的教学方式下,学生的编程进度差别不会太大,也会方便教师及时对学生进行指导。“纸上得来终觉浅,绝知此事要躬行”,例如讲完for语句的用法后,直接让学生进行上机实验。通过这种方式,既可加深学生对知识的理解,又能锻炼实践能力。2.2采用互动式教育。教学要坚持“以学生为中心”,要想方设法地提高学生的参与度。采用案例式、问题驱动式、启发式和参与式等模式,以打破传统的“填鸭式”教学方式,提高学生的学习积极性和主动性。在授课时,需提前备好可以和学生互动的思考题,引导学生积极思考,调动起学生学习的兴趣。一些知识点的讲解也很适合与学生互动,如在讲解了按位与的特点之后,让学生思考其如何应用,怎么输出一个整数的最高位。有了这样的启发,可以增强学生课堂的参与度,师生进行互动,活跃课堂气氛。2.3答疑与探讨。课堂上,在讲授完知识点、学生进行编程练习后,教师及时总结问题,并给学生提问和探讨的机会,加深学生印象。课堂下,通过组建qq群的方式,学生在群内可以自由讨论,老师也会对问题进行讲解。2.4引导学生自主学习。学生存在差异性,在教学过程中,老师需要充分调动每位学生思考的积极性,不仅强调重点基础知识的讲授,还需适当融入学科前沿知识和研究热点,引导学生学会关注领域动态,可以弥补传统教学的不足,极大地提高学生学习兴趣,让学生体会学以致用的成就感,并以此为动力形成终身学习的能力。

3慕课建设

目前,慕课中国、中国大学MOOC等在线开放课程平台中的程序设计基础课程大多数是985和211院校开设的,由于应用型本科院校对教学课程要求的差异、学生整体素养的差异以及对课程难易的接受程度的差异,上述慕课不适合应用型本科院校,因此为了达到较好的教学效果,需针对本校学生特点设计慕课。3.1碎片化设计思路构建MOOC的目的是作为课堂教学的一种补充,使学生可以随时随地充分利用自己零星的业余时间,因此MOOC的设计可采用碎片化的设计思路。碎片化就是将完整的东西破成诸多零块,对课程而言,将其拆分成许多知识点的过程,就是将课程进行碎片化设计。程序设计基础MOOC课程的碎片化设计思路是围绕教学目标进行“自顶向下”的内容设计:顶层是章,整个课程需要划分成哪些章;第2层是节,即每章又需要划分哪些节;第3层为碎片,每节按照问题的引入、展开和案例分析等划分成多个碎片,每个碎片通过相对独立的6~10分钟的短视频来实现,这种短视频不仅可让学生充分利用课余时间,而且可将学生的注意力保持在峰值水平。3.2教学互动环节的设计MOOC课程的师生互动环节的实现,采用视频内插入提问、视频间插入测验以及讨论区等方式。MOOC视频内插入提问的目的主要是刺激学生的注意力,将学生可能开始懈怠的思维拉回主题。MOOC中所有在看视频的学生都会被打断,必须进行思考,回答完问题才能继续。视频间插入测验的目的是使学生通过测验,可以检查自己对前面的视频中知识点的理解和掌握程度,及时发现问题,以便重新观看学习。讨论区一般在一个主题学习结束后,话题是视频讲解内容的深入延伸,供学生课后思考讨论。讨论区的互动先是学生之间的展开,然后教师和助教再介入,点评学生的回答。

4基于OnlineJudge的实践教学

程序设计基础是实践性比较强的课程,上机实践是非常重要的环节。本课程可以由ACM国际大学生程序设计竞赛在线判断系统改造、扩充的OnlineJudge系统作为实践平台。4.1题库建设。ACM在线评测系统中绝大多数题目都需要比较高深的算法,如果直接采用此类题目,会打击学生的积极性,不太适合程序设计基础课程教学。为了能够增强学生实践兴趣,使学生在编程练习时经常获得挑战成功的成就感,进而提髙编程的兴趣和分析、解决问题的能力,教师自编数百道编程题目,在题目中都会给出一些现实背景,并在出题时将题库中的题目进行难度区分,难度分为5颗星,3星及以下题目分为必做题,3星以上为挑战题,其中必做题是为了使学生掌握相关知识点必须完成的题目,而挑战题则是对学有余力的学生为进一步拓展程序思维而准备的题目。在学生编程时,会显示题目星级,如果题目答不上来,也不会打击学生的自信心,如果答对了,会使学生更有成就感,从而提高学习兴趣。除了编程题之外,题库中还包括选择题、填空题及判断题等类型题目,能够帮助学生打好坚实的理论基础。4.2实践教学模式开展。传统的实践教学是学生直接将代码交给教师,在大班上课的情况下,教师检查代码的工作量是非常巨大的,很难对每个人的问题进行反馈,学生错误得不到及时更正,也会对后续学习造成影响。利用OnlineJudge自动评测系统,在平台上进行实践练习,教师给学生布置题目,学生在规定时间内做题并提交代码后,系统可以马上自动判断正确与否,如果没有调试通过的则给出错误提示,学生进一步调试修改程序,直至被接收为止。这种实践方式可使学生快速得到反馈,及时更正错误,还能够分析各知识点得分率、汇集错题发送给学生、查看学生代码以及代码重复率,了解学生是否独立完成,使教师及时发现和解决学生的共性问题,并对学生个性问题单独辅导,增强对学生的指导。这种实践方式可以使教学过程留痕,便于老师总结教学经验,属于一个持续改进的过程。4.3课堂测试。应用型本科院校的学生总是存在部分学习主动性差,想蒙混过关的。为了激发此类学生的学习积极性,可以采用分数驱动的方式,不定期地在课堂上进行OnlineJudge测试。对于达不到要求的同学,重点关注,扣除部分平时成绩,但也会给学生“复活赛”机会,利用“复活赛”,刺激后进同学的学习主动性。

5考核模式改革

传统的考核方式是平时成绩+采用笔试的方式,平时成绩主要依据出勤率,笔试主要侧重于学生基本知识的考核,这对于实践性较强的课程来说,都属于纸上谈兵。在工程教育专业认证的标准下,不能很好地对学生的相关能力进行评价。为改进课程考核制度,采用教学过程中的全程化多维度的考核方法,分阶段、分目标、分形式,以达到对学生计算思维、学习过程和能力培养的多方面考核。课程成绩可由以下部分组成:3阶段的上机考试成绩、课堂表现、作业成绩、问题分析能力、实验动手能力和表达能力等。其中,3次上机考试成绩分别占课程成绩20%、25%与30%,课堂表现、作业成绩、问题分析能力、实验动手能力和表达能力分别各占课程成绩5%。首先,应根据课程目标、课程内容、课程任务以及对应支撑的指标点来确定相应部分的分数值、考核形式和评分依据等内容。再将1个学期分为3个阶段,每个阶段的考核都利用上机考试的方法进行,该方法能够对学生的计算思维能力、分析问题动手编程和调试程序解决问题的能力进行有效考核。另外通过实践过程中遇到问题的解决办法和实验效果演示等方面的自我说明,结合教师的随机提问,也能够给出相应的能力考核结果。

6改革效果

6.1学生积极性提高。根据OnlineJudge平台统计,教学改革后,不同层次学生在一学期中进行实践训练的情况见表2。学生课上实验的积极性、参与度、专注度、达成度均显著提升,课下进行实验练习参与度达到98%以上,而且实践练习的代码重复率也明显减低。某学生实践练习过程如图1所示。6.2学生实际能力显著增强。通过调查问卷的方式,得到后续课程老师反映,大部分学生编程习惯较好,代码格式和变量命名等规范率提高,有加注释习惯,动手能力增强。另外,学生参加ACM程序设计大赛、蓝桥杯等竞赛的成绩也有了明显进步。6.3教学过程留痕,有利于持续改进。基于OnlineJudge的教、学、练、考、赛一体化的实际平台,能够保留教学过程的一些原始数据,便于教师掌握学生情况,为后续教学改进提供依据。教学过程保留示意图如图2所示。

7结语

依据中国工程教育专业认证标准设计程序设计基础课程目标,理论与实践相结合的授课模式,MOOC资源作为课堂教学的补充,教、学、练、考、赛一体化的实践平台,这些都拓宽了学生学习的空间和时间维度,激发了学生学习的主动性,取得了良好的教学效果。但是需要改进的地方仍有很多,我们会继续努力,坚持以学生为中心,以产出为导向,持续改进教学方法。

参考文献:

[1]邓春燕,周治国,陈娟,等.工程教育认证背景下程序设计基础课程设计教学改革与实践[J].计算机教育,2019(5):68-72.

[2]张延亮,康国栋,周清平.工程教育认证标准视角下软件工程专业课程教学改革探索与实践:以“C语言程序设计基础”课程为例[J].煤炭高等教育,2018,36(5):117-121.

[3]汪天友.应用型本科专业C语言教学问题与慕课融合式教学改革策略研究[J].教育教学论坛,2018(39):260-261.

[4]梁冰,冯林,杜猛,等.数据结构与算法课程面向实践的教学方法研究[J].计算机教育,299(11):73-76.

作者:曹旗磊 王涵 王金鹏 单位:山东工商学院计算机学院