程序设计类课程多维评价方法探索
2016-12-21余颖李晓昀
余颖+李晓昀
摘要:程序设计类课程以培养学生的计算思维能力和实际编程动手能力为目标,但目前的评价方式未能全面、客观地考核学生的综合能力。文章提出一种多维评价方法,将程序设计能力、学生主动性、平时表现以及综合应用能力等4个方面纳入课程的评价体系。通过在2015级计算机类专业学生的c语言程序设计课程中实施多维评价,说明这种评价方法的实施效果。
关键词:多维;评价方法;程序设计课程
1.背景
程序设计类课程是计算机类专业普遍开设的专业基础课程。该课程的教学目标是使学生掌握程序设计的概念、方法,培养学生分析问题并使用程序设计语言编写程序来解决问题的能力。但由于大多数高校考查教学质量的重要指标就是期末考试的通过率,因此,目前的教学大多重视语法知识的讲授,轻视程序设计综合能力的培养。这不仅无法达到培养学生实际编程动手能力的目标,也不利于培养学生的程序设计思维及计算思维,更不利于学生创新意识的养成。因此,部分教师已开始尝试对评价方法进行改革,如寇海莲将概念图引入c程序设计教学评价中,用来检测学生对知识结构及知识点之间相互关系的理解;张丽萍将在线评测与程序抄袭检测结合在一起来考查学生编程水平;苏小红则在多所高校推广了c语言编程考试自动评分系统;吴玉亦提出将作业情况、实验作业、在线考试及学习态度等多方面因素作为c语言课程的考核指标。借鉴这些已有的经验,笔者提出了一种多维评价方法,介绍了实际实施方案及其效果。
2.传统评价方法的不足
(1)评价内容片面:传统的评价方法仅仅依靠一次期末考试成绩来进行评价,考核内容多以语法知识为主,不能全面准确地考查每位同学综合应用能力和实际动手能力。
(2)评价标准不统一:在批阅试卷的过程中,每位老师对主观题判分的松紧度不同,这是评价标准不统一的首要因素。其次,平时成绩也没有统一的评价准则。
(3)评价方式较单一:课程的考核主要依赖于期末笔试,对于编程动手能力没有实施有效的考核,因此,无法全面客观地反映出学生的真实水平。
3.多维评价方法
为客观评价学生综合能力,避免出现传统考核方式带来的问题,我们可从多个维度对学生的学习情况进行考核。
(1)程序设计能力:对于程序设计类课程的学习,其目的在于学生能够应用所学的程序设计语言编程解决实际问题,因此,对于程序设计实际实施能力的考核是尤为重要的。
(2)学习主动性:传统考核方式中对学生学习主动性不进行考查,这使得学生普遍处于被动学习状态,平时不努力学习,考前临时抱佛脚,造成了学生为考试而学习,并未真正主动掌握知识。
(3)平时表现:传统评价中教师只考查学生在课堂内的表现,无法跟踪考查课堂外的学习情况,程序设计需要大量课外实践练习的课程,而课堂时间有限,若要真正消化并掌握课堂所学的大量知识,必须在课后投入大量时间与精力。
(4)综合应用能力:综合能力体现在对理论知识的掌握以及程序设计能力的应用。
4.多维评价方法的实施
为推进多维评价方法,笔者自主研发了程序设计课程教学辅助系统(online teachingsystem,OTS)。OTS系统能够自动记录登录用户在系统中的所有行为,为多维评价提供了丰富的参考指标数据(见表1)。
表1中各项评价指标及所占比例均从实践教学经验中获得,并可根据对不同专业、不同程序设计语言教学要求的差异进行调整。在针对计算机类专业学生制定的多维评价指标中,程序设计能力占40%的比例,比期末笔试还要高出10个百分点,这表明更加注重评价学生实际上机编码和解决问题的能力,而不是一纸笔试定乾坤,更符合程序设计课程类教学目标的初衷。
5.实施效果
在2015-2016学年第一学期中,对2015级计算机类专业部分班级实施了新的多维评价方式。我们随机抽取10名学生,按新考核方式所获得的最终成绩与教师人工评价、期末考试评价进行了对比,结果如图1所示。
图1表明多维评价方法与教师人工评价结果相对接近,而期末考试成绩则波动较大,这是因为期末考试是一次性考试,与学生的复习情况、临场发挥等有密切关系,而人工评价与多维评价则主要根据学生一个学期的平均表现获得,能够更为客观地评价学生的综合能力。
另外,笔者验证了多维评价方式对教学的促进作用。将实施多维考核方式的班级与未实施的班级进行了对比,图2为一个学期共计12次实验课的任务完成情况。
我校2015级程序设计类专业共计10个班,实验任务总计100道编程题,其中程序设计类