C语言程序设计实验教学方法与考核模式的改革探讨
2018-01-04申炳昕
申炳昕
摘要:该文对C语言程序设计实验课程的教学方法与考核模式进行分析,探讨由传统的具有很大的偶然性的“一考定成绩”的做法改为贯穿整个学习期间的“多次考核”方式。后者成绩评定更客观,考核内容更广泛,更有利于对学习过程各阶段进行监管。
关键词:C语言程序设计实验;教学方法;考核模式;过程监管
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)30-0102-02
Abstract: This paper majorly focused on the teaching and testing methods of the C language program experiment course, and discussed that the traditional "one test result" has great contingency, while "multiple examinations" during the process of the course can be more objective, more extensive in content and it may help teachers to supervise different stage of their students learning progress.
Key words: C Language Programming experiment; teaching method; testing reform; Supervision of the learning process
1 引言
C语言程序设计是我校计算机相关专业学生的第一门计算机编程语言课程,是数据结构、操作系统、单片机原理等核心专业课程的先导课。因此,学好C语言是学好后续有关课程的基础。C语言程序设计实验课是与之相配套的独立实践课程,旨在教学过程中对学生进行C语言编程方法与技巧的训练。C语言程序设计是一门实践性很强的课程,如果能在实践教学过程中激发学生的学习兴趣,对他们以后的专业学习将起到非常重要的引导作用。
相比较来说,实践教学比理论教学更加直观,更富于创造性,上机操作的目的不仅是检验编写程序的正确与否,更重要的是帮助学生消化、吸收以及巩固课堂上所学的知识点,“纸上得来终觉浅,绝知此事要躬行”,通过大量的上机实践让学生逐渐掌握编程方法和技术,积累编程经验。随着学生编程能力的提升,特别是在编写调试成功一个个程序之后所产生的快乐与成就感将会大大激发其对C语言程序设计的浓厚兴趣,这样就会形成一个良性循环,进一步提高教学效率。因此可以说C语言程序设计这门课程学得好不好,很大程度上取决于实验课教学环节。
2 C语言实验教学环节的现状与存在问题
一直以来我校的C语言程序设计实验课采用的教学模式是选用与理论课教材相配套的实验指导书,书中的实验内容基本上按照理论课教材中的知识点依次编排,教师根据理论课的教学进度按照实验指导书中的实验顺序往下布置任务,在课堂现场指导,实验课结束后学生回去写好实验报告,然后提交给老师批阅。上述教学模式在教学实践中存在以下几个问题:
1) 学生缺乏上机学习的积极性和主动性。C语言语法较为灵活,规则繁多,而语法检查机制又相对较弱,初学者编写C语言程序很容易出错。而且像我校这样的地方性高校的很多学生缺乏独立思考及创新能力,甚至有些学生上大学后产生了惰性,理论课后不复习,布置的实验任务也不提前做好准备,实验课上要求他们独立编程,往往就无从下手。在教学资源紧张的情况下,C语言采用大班上课,五十多个甚至更多学生一起实验,教师忙于给学生解决问题、调试程序,尚且经常顾此失彼指导不能及时到位,根本没有过多的精力来管理学生,一些自律性差的学生就偷偷地玩游戏、看视频等,实验教学整体效果不理想。
2)任课教师无法有效地组织教学。实践中发现,在课程刚开始的几次实验课中,很多同学在编程中会遇到相同或相似的问题,学生又完全没有经验,出现问题只会举手呼唤老师,教师不断地重复解答若干个学生提出的相同问题,造成了教师资源的极大浪费。到课程中期,一部分学生已经可以着手编写较大较复杂的程序,有时会出现在解题思路和算法等方面的困境,而由于个体差异,另有一部分学生还受困于初级语法方面的问题。如果这些问题都只能靠一位教师解答的话,难免顾此失彼,对学生来说,如果在实验过程中不能及时解决程序中的问题,延误实验进程,会使得他们慢慢地失去耐心,失去学习兴趣,转而去玩游戏,看手机,浪费了宝贵的实验课时。
3) 实验报告沦为一种形式。传统实验模式要求学生将每次上机实验的内容完整的写在实验报告上然后提交。由于上机实验课时有限,学生只能课下完成实验报告,难免出现学生之间互相抄袭实验报告的现象,使得实验报告失去了对上机效果检测的意义,任课教师就很难监控实验教学过程的质量,无法对教学对象进行正确地分析就无法做到因材施教,教学效果难以提高。
4) 考核机制无法调动学生的学习积极性。以往的实验课程的考核方式是在期末时段由C语言题库自动抽取试卷进行上机考试,主要考核学生的编程能力。因為程序设计的复杂性与题库组卷的随机性,期末上机考试时学生抽取的题目不同,难度也有参差,光凭这一次考试不能全面客观地反映学生的学习情况,而且这种到了期末才组织进行的考核方式缺乏平时对学生的督促。平时的实验课程教学缺乏完善的监管,虽然任课教师做到了在实验课前向学生布置应准备的内容,在实验课上现场督促学生应完成下发的任务,但由于种种原因这些措施并没有收到很好的效果,究其原因是对学生平时的上机情况缺乏具体的考核机制,与期末总成绩也没有直接的关系,导致部分学生思想上没压力,课前不准备,上机节奏松散,编程能力无法得到有效的提高。
3 改进方案与措施
1)提高学生对C语言的兴趣。兴趣是最好的老师,第一次上课向学生介绍C语言的特点及重要性之后,教师应通过一个有趣的小程序来演示一下用C语言解决实际问题,以此来激发学生的好奇心和求知欲。实验教学中按照循序渐进的原则,引导学生分析问题形成程序,运行与调试程序,最后解决问题得到结果。当学生分析问题、解决问题的能力得到逐步的提高时,会大大激发学习的兴趣与热情。为提高实验课效率,应提前把实验任务布置下来,让学生课前就做好实验准备,包括画流程图,写源程序,准备好实验所需数据,并模拟运行写出初步的结果。实验课时学生有了明确的实验目的,就能充分地利用时间,踏踏实实地分析问题、解决问题,找到学习的乐趣。
2)有效利用教师资源。在课程初期,为帮助学生在自己动手实验时能及时顺畅地解决那些常见问题,教师可以根据经验将这些问题及其解决方法形成帮助文档,在实验课上通过教师机的教学系统推送到学生机上,当学生遇到这些问题时,通过查寻帮助文档就可以随时得到帮助,不必再眼巴巴地排队等着老师来解决问题,极大地提高实验进程和流畅度。教师则可以省出更多的时间精力去观察和了解学生对知识的掌握情况。同时为了更好地帮助学生学习C语言程序设计,除了面对面的答疑之外,还建立了学习QQ群,学生可以随时提出疑问,教师也可以随时解答,还可以组织大家讨论。随着课程的进展,教师根据观察到的每个学生的个体差异情况,将不同层次的学生组成多个学习小分队,鼓励学习成绩好的同学担任小队长,负责组织小队活动,用速度、质量、合作等指标来评价每个小分队的合作学习效果,建立“比学赶超”的良好氛围。利用团队的集体优势,使每个学生在原有基础上得到进步。
3)变革实验报告的提交方式。用数字化、无纸化的实验报告取代以往的纸质实验报告。教师课前设计好每一次实验报告的模板,将该次实验标题、实验目的及实验内容等预先加载到模板中,然后将该模板的电子版推送给学生,学生在实验课中只需要把自己编写好的源程序粘贴到实验报告的指定位置即可。要求学生在实验课中完成实验任务后当场提交,在一定程度上能够避免课后互相抄袭实验报告。同时强调每位同学进行实验总结,对认真总结经验的学生给予点名表扬。
4)改革实验课程考核方式。将考核改为“平时考核+期中考核+期末考核”的形式。以学生修课期间提交的多次课程实验报告、期中考核和期末考核为依据,最终结课成绩采用等级方式评分, C语言程序设计实验课程成绩构成如表1所示:
平时考核由学生随堂提交的实验报告分数构成,共需要提交10次实验报告,根据实验报告的完成质量计分,质量高的报告体现在学生能够编写出所布置的程序题,而且程序格式规范,有心得总结。期中考核的考试内容是在90分钟内完成3~4个C语言程序的编写与调试,考核范围是前半学期所授知识点,主要是基础编程能力。期末考核在课程全部结束后安排在计算机实验室进行,考试内容是在120分钟内完成由C语言题库抽取的7个程序题目,包括程序填空、改错和程序设计与调试,对学生的程序设计能力进行全面考核。这样就把考核方式由“一次考核”改为“多次考核”,以考促学,督促学生在平时的学习中更好更及时地掌握所学知识,分阶段取得相应的成绩,而不是利用期末突击学习,将考核由原来的以判定学生成绩为目标转变为促进学生学习的手段,实现教学过程的全程化监管。
4 结语
经过对2017级学生的教学实践,上述教学方法和考核方式的改革取得了较好的效果。以2017级电信班的学生为例,在课程开始的时候就跟学生声明了考核方式,利用学生在意考试分数的心理来提高学生对课程的重视程度。在整个学习过程中学生都保持着很高的积极性,每次的实验报告基本能够收齐,对知识点的巩固相对更及时。特别是期中考试结束后,对分数较低的同学及时进行了预警提醒和关注,期末考试结束后发现这部分同学中有48%的学生期末达到及格或更高水平。整体学生中分数提高10分的比例占34%,提高20分的比例占18%,事实证明改革方法颇有成效。教学改革需要长期的、持续渐进的研究和实践,教师们要积极思考、勇于开拓,敢于打破传统的教学常规,探索新的方法,提高教学质量。
参考文献:
[1] 黄超,张伟,马怀志,等.应用型本科C语言程序设计实验教学改革探究[J].福建电脑,2016,32(12):71-72.
[2] 杨呈永,黎秋艳.基于混合式C语言程序设计实验教学实践与研究[J].电子世界,2016(4):87-90
[3] 孙全尚.高校C语言程序设计实验教学的探讨[J].科教文汇(中旬刊),2017(1):73-74.
[4] 崔晗,彭文娟.淺谈C语言理论教学与实验教学相结合方法[J].现代计算机(专业版),2017(27):16-19.
[5] 彭秀萍,刘雁.C语言程序设计课程实验教学改革探讨[J].教育现代化,2017,4(45):112-113.
[6] 白雪.混合教学在C语言程序设计中的应用研究[J].电脑知识与技术,2018,14(15):116-117.
【通联编辑:唐一东】