贺玉珍+张海江
摘要:目前编程类课程实践教学考核评价存在着随意性、片面性和不真实性等问题,提出了一套实践教学考核考核方案。该方案强调过程化考核代替终结式考核,包括一套完整实践教学考核评价的指标体系以及与之配套的软件管理平台等内容。该方案有效地提高了实践教学效果。
关键词:编程类;考核;实践教学;评价指标
中图分类号:G642 文献标识码:A 文章编号:1009-3044(2016)27-0099-02
Abstract: At present, the programming courses practice teaching evaluation exist the shortcomings of randomness, one-sidedness and not-truth etc. In this paper, a new practice teaching evaluation scheme is proposed which emphasizes the procedural examination instead of the ending examination. This scheme includes a complete index system of the practice teaching evaluation and a supporting software management platform etc. It can effectively improve the practice teaching effect.
Key words: programming; evaluation; practice teaching; index system
1 目前高校计算机编程类课程实践环节考核的现状
众所周知,计算机专业是一门实践性要求很高的专业,尤其是课程中的编程类课程,学生的编程能力的提高只有通过实践环节加以训练。目前,计算机编程类课程对学生的考核方法,大多学校采用理论和实践相结合的结构成绩,理论考核往往采用笔试方式在期末进行,较为客观,占整个课程成绩的50%以上,但对实践环节的考核存在评价的随意性、不全面性和不客观性等因素,从而导致学生只重视期末一次终结性的考核评价,而忽视课程的实践教学的考核,这种评价非常不利于学生的创新精神和创新实践能力的培养[4]。
(1)评价的片面性
目前学生实践效果的评价主要看学生所编写的代码能否运行、结果是否正确,这种方法只注重对基本知识和技能掌握的评价,忽视对学生学习过程中的学习态度、自学能力、创新意识、团队协作精神等方面的评价,忽视了对学生综合素质的全面评价。这种单一只注重知识技能的评价,必然导致学生发展片面、畸形,影响学生身心发展和综合素质的提高。
(2)学生对实践考核重视度不够
实践考核以培养学生动手能力、操作技能和职业素质为主要目的,由于实践教学缺乏明确的考核方式和评分标准。一方面,程序设计中的实验、课程设计,没有制定明确的考核评分标准,课程的实验环节的最终考核成绩大多是根据提交的实验报告和上课时学生给教师的印象给定实践考核成绩,导致学生认为只要按时交实验报告就很容易得分,自然而然认为实验课在整个课程中并不重要。另一方面与实验课成绩只是作为整个课程平时成绩(作业、出勤、实验)的一部分对待,而只有整个课程的期末笔试成绩达到50分才能与平时成绩结合算最终成绩,否则不管平时成绩如何最终成绩视为不及格 (我校的规定) 。而一般笔试能达到50分老师尽量使结构后的成绩能达到60分,这致使实验课的考核成了老师平衡考试成绩的一种手段,从而反过来影响到学生对实验重视程度降低。
(3)缺乏真实性和客观性
教师在实践教学过程完成后往往通过实验报告或软件系统考核评价学生,这样致使部分学生课下将别人做好的程序稍加修改或从网上找现成的交给老师,导致评价结果不能真实地反映实践教学过程中的学生表现;另外,课程设计往往分组进行,一个组的成绩有评价标准,但组中成员之间的差异就很难界定出来,因为没有明确的可操作的评价标准,使考核评价结果存在较大的主观随意性,能力相差很多的学生有可能实验成绩相同。
2 实践环节考核方式改革的方法
(1)以过程考核为重点[1]
1967 年美国芝加哥大学教授 Michael Scriven提出形成性评价(Formative Assessment),强调教师在教学过程中利用多种机会和手段评估学生的学习状况,以获得有益的教学信息指导教学,促进教学健康发展,最终促进学生学习进步。借鉴形成性评价、过程化考核方法,实践教学的评价应贯穿整个课程中,包括学生的在实验课上的学习的积极主动性,编程思路的考核,编程时间的考核、代码编写规范的规范程度,课程设计包括选题、设计、实现和答辩,整个过程中学生的对项目的组织、计划、管理、沟通能力等多方面的评价,这些能力的高低正是决定学生职业生涯发展的关键。
(2)设置全面的、合理的指标评价体系[2]
评价不能只看学生最后的代码的正确性,应综合多方面的因素考虑。一个实验任务应从以下三个一级指标来评价:学习态度:是否按时出勤、学习的主动性和热情等;代码质量:结果是否正确、编码的用时时间、代码的可读性和执行效率如何;团队合作:答辩和表达清楚、文档编写规范等,如图1 所示:
一级指标的权重包括学习态度权重系数15%;代码质量权重系数 60%;团队合作权重系数 20%。根据企业实际需要的技术方法划分二级指标,其所占的权重及评分标准如表1 所示:
(3)建设一套辅助考核评价的软件系统[3]
在传统的实践教学中,教学、实验、批阅实验报告都是人工方式,在这种方式下,老师的工作量大、效率低下,信息反馈时间太长。这种教学方式已经不能适应当今社会的需求,因此利用信息化的相关手段与方法十分必要。编程类课程作为实践性要求很高的一类课程,课程教学评价的核心是对学生利用编程动手解决实际问题能力的评价。通过实验报告、笔试并不能全面反映学生的真实水平,而且对学生所写的代码进行手工批改,既费时又费力。随着高校教学信息化建设的加快,实现对学生编程能力的自动化评价方法,搭建一个基于网络的计算机编程类课程实践教学自动化教学评价平台,该平台以自动化评价为主、人工评价为辅的方式评价学生的程序,学生可以随时登录平台提交自己的程序,平台会自动运行学生的程序,平台还能随时记录学生的上机过程(上机时间、编写程序耗时、错误程序提交次数、程序错误原因、互动情况、代码量等),同时教师根据学生实验过程中的表现和完成情况,动态地对学生的每一次实验给出各个指标不同的分值。
3 应用及效果分析
编程类课程的教学重点是培养学生的实践编程、调试代码、解决实际问题能力,因此衡量一个学生是否达到教学要求的标准不是看他“懂没懂”,而是看他“会不会写代码”。本考核方案通过在C语言课程中的应用,考核方式采用上机、软件展示、项目答辩等形式进行,采用新的实践考核方案对学生上实验课的热情、实验课堂的学习气氛和项目参与的积极性有明显提高,到学期末,每个学生都取得了不同程度的收获。大多数学生不仅能把书本上学到的编程语法、编程思想和真正代码实现结合起来,解决了一些实际问题,具备了编程和调试C语言程序的能力,同时也提高了学生的团队合作能力、工作协调能力、语言表达能力、报告书写能力等多方面的素质,为学生今后从事IT工作打下坚实的基础。这种实践考核方式的应用不但提高了本门课程的教学质量和效果,激发了学生的编程积极性,为后续编程课程的学习积累了很好的学习方法。
4 结语
计算机专业中编程类课程较多且非常重要,一个合理的、客观的、公正的考核办法是提高该类课程至关重要的环节,该环节不仅考查学生对该门课程知识和技能的掌握情况,更重要的是通过考核,使学生能把课堂上学到的基本知识和技能综合起来,可以解决实际问题,提高学生的编程能力。从考核制度上给学生一个发挥自身才能、展示自我的机会,变被动的做实验为主动的挑战,让考核真正成为提高学生编程水平的过程。同时在完成实验任务的过程中,学生通过团队协作,共同学习,一起讨论,共渡难关,取得最后的成功,提高了学生的综合素质。
参考文献:
[1] 刘一臻,李敬波,马彩霞.以过程考核为主导的大学计算机程序设计语言类课程考核评价体系的研究[J]. 辽宁科技学院学报,2014(1):66-67+71.
[2]周屹, 邢传军.计算机专业实践教学考核方法研究[J].计算机教育,2013(12):59-62.
[3]葛亮,朱庆生,王茜,朱征宇,傅思思.计算机程序设计课程自动化教学评价平台研究[J].计算机教育,2013(18):91-94.
[4]张丽萍,刘东升,王春晖.程序设计类课程考核评价方法的改革与实践[J]. 计算机教育,2010(2):17-20.