基于工程教育认证理念的课程评价机制探索与实践
——以《程序设计基础》课程为例
2022-03-26刘喜平焦贤沛骆斯文吴方君黄玉坤
刘喜平,焦贤沛,骆斯文,吴方君,黄玉坤
(江西财经大学 信息管理学院,江西 南昌 330013)
0 引言
工程教育认证是国际通行的工程教育质量保障制度,也是实现工程教育国际互认和工程师资格国际互认的重要基础[1]。工程教育认证的核心就是要确认工程专业毕业生达到行业认可的既定质量标准要求,是一种以培养目标和毕业出口要求为导向的合格性评价[2]。工程教育认证要求,专业应该通过评价证明毕业要求的达成,即开展毕业要求达成度评价[3]。开展毕业要求达成度评价的目的是将毕业要求落实到每门课程和每位教师,并通过评价为专业持续改进工作通过依据,保证所培养的毕业生达成专业制定的毕业要求[4]。课程目标达成度评价是评价毕业要求达成度的着力点和基本单元,其合理性和有效性将直接影响最终的毕业要求的评价结果。从学校定位出发,以学生为中心,构建系统化的达成评价体系,建立科学合理的毕业要求和课程目标达成评价机制,通过结果反馈,持续优化教学体系、质量保障体系,定期开展毕业要求和课程目标达成度评价,是提高人才培养质量的有效路径。
1 课程目标达成评价
课程是支持本科毕业要求达成和能力培养的基本教学单元,课程目标达成度评价是衡量学生是否达到本专业毕业要求的重要依据,可以使任课教师能够发现教学过程中存在的问题并进行整改,使教育教学质量得到持续改进[5]。
首先进行毕业要求分解,并建立毕业要求支撑矩阵。通过分解,明确每个毕业要求的观测点或指标点。对于每个指标点,明确通过什么课程来实现或者支撑。通过建立支撑矩阵,使得毕业要求可衡量。
其次,根据每门课程支撑的毕业要求指标点来设计课程目标。课程目标将毕业要求指标点的要求落实到具体课程,一方面是对毕业要求指标点的具体体现,另一方面是对课程教学目的的总结归纳。
再次,明确课程考核环节和评价方法[6]。从课程目标出发,构造合理的考核环节,明确各个环节的考核内容、考核数据来源,以及数据收集方法,考核环节的设计应该具有合理性。评价方法一般有两种方法:定性评价法和定量评价法。定量评价法的数据来源为课程教学大纲及支撑课程目标的各考核环节的考核结果。课程目标达成情况定性评价法主要包括问卷法、座谈交流法、专家评价法和学生评价等。要求任课教师通过定性评价法掌握课程目标达成情况,了解学生对课程目标达成情况的认可度,思考同行专家对课程目标达成情况的评价与意见,及时总结并持续改进。
最后,课程结束后,汇总数据实施评价。课程考核结束后,课程负责人负责收集汇总各教学班的评价数据。根据课程评价数据的内容,对照课程目标,分解评价数据到各个课程目标;根据课程目标评价方法计算每个课程目标的达成度,对课程目标达成情况进行评价;撰写课程目标达成情况评价报告,并拟定持续改进方案。
下面以《程序设计基础》课程为例介绍课程达成情况评价机制。
2 程序设计基础课程概况
程序设计基础是计算机科学与技术专业的专业基础课之一,主要支撑毕业要求的“毕业要求1:工程知识”和“毕业要求5:现代工具”。课程的教学内容主要包括:
(1)程序及程序设计的基本概念;
(2)C语言的基本语法、基本概念和基础知识;
(3)结构化程序设计的常见技巧和算法。
通过本课程的学习,学生要掌握“两知识”,即程序设计基本知识和C语言基础知识,具备“两能力”,即针对具体问题设计程序的能力,以及利用开发工具编写和调试程序的能力。
本课程在教学中,要引导学生领悟、体会、理解、形成计算思维,逐步培养学生运用计算思维解决实际问题的能力;要强调计算机的系统观,让学生有意识地从整个计算机系统的角度来看待程序运行,理解程序的运行原理;要强调软件工程的意识,让学生意识到程序设计规范化的重要性,让学生理解系统分析、系统设计的重要性。
3 课程目标
根据毕业要求指标点分解情况,以及课程教学内容和教学要求,本课程的目标如下。
课程目标1:掌握C语言的基本语法、C程序的基础知识和常见C标准函数库的使用;理解结构化程序设计的基本方法和结构化程序的基本结构,能用流程图等方式描述算法。
课程目标2:掌握程序设计的常见思路和算法,能够针对具体问题编写程序来求解。
课程目标3:掌握常见C程序开发工具,理解程序开发工具的原理及其局限性,并掌握常见的程序调试技巧。
课程目标对毕业要求指标点的支撑对应关系如表1所示。
表1 课程目标与毕业要求指标点对应关系表
4 考核环节
本课程考核环节包括作业、实验、测验和期末考试等部分,总评成绩以百分计,满分100分。各考核环节在总评成绩中所占比重及考核细则如表2所示。
表2 考核环节
5 课程目标评价途径
考核环节与课程目标的对应关系以及相应的分值分配如表3所示,其中的分值是指最终得分中分配的分值。
表3 课程目标与考核环节对应关系表
下面分别论述各课程目标的评价方法。
(1)课程目标1是关于C程序设计基础知识,因此对其考核通过平时作业与实验、测验和期末考试等多个环节,考核中可以设计多个题型,如写表达式、表达式求值、程序填空、程序阅读等,评分时根据各题评分点打分。例如,在期末考试中,对应于该课程目标,采用以下题型进行考核:①写C语言表达式或C语言语句(共8分),考查最基本的变量和函数声明语句、表达式的书写等知识点;②计算表达式值(共10分),考查运算符、表达式的求值等知识点。③程序阅读题(共20分),考查程序结构、函数、基本算法等知识点,以及程序阅读和理解能力;④程序填空题(共14分),考查掌握指针、二维数组等知识点,以及程序阅读和理解能力。注意,为了让考核数据更加合理,没有设计判断题、选择题等客观题型,而全部采用主观题型,这些题型更能真实地反映出学生掌握和运用知识的情况。
(2)课程目标2是关于问题求解,对其考核通过测验和期末考试等环节,但是更加注重学生分析问题和解决问题的思路。评分标准如表4所示。
表4 课程目标2 评分标准
(3)课程目标3是关于现代工具的使用,对其考核主要通过实验,对实验中表现出来的工具使用能力、调试能力和程序的编码风格、代码规范进行评价,评价准则如表5所示。
表5 课程目标3 评分标准
6 课程目标达成度评价与持续改进措施
课程教学结束后,需要通过收集学生各项学习成果,计算课程目标达成度。课程目标达成度等于各支撑环节得分的加权和。计算公式如下:
其中,Obji表示本课程第i个课程目标的达成度;Testji代表本课程第i个课程目标的第j个考核环节。课程目标与考核环节的对应关系以及相应的权重系数如表3所示。
例如,某学期的课程目标达成情况如表6所示。从表6可以看出,各个课程目标达成度均在75%以上,总体课程达成度为82.5%。
表6 本学期课程目标达成度情况
7 课程目标达成情况分析与持续改进措施
从学生考核情况来看,本轮教学可以总结如下。
(1)大部分学生较好地掌握了C语言的语法、基本概念、基本掌握程序设计相关的基础知识。总的来说,学生认知性、理解性的知识点掌握尚可。
(2)分析问题解决问题的能力有欠缺。例如,考试中设计了一个问题求解题,该题目以一个具体的问题为背景,要求学生通过编写一个或者几个程序来解决具体问题中的几个小问题。这个题目除了考查程序编写能力,还着重考查了程序分解能力以及对程序结构的理解。该题的得分不理想,主要原因有:①审题不够仔细。这一题型的要求和其他题型不一样,其他题型各个小题都是独立的,而这一题型的各个小题是有关联的,有的同学没有搞清楚题目要求。②问题分析不深入,有些问题可以归结为一些简单问题,但是学生没有理解清楚题目的本质;有的题目其实比较简单,有的同学想得过于复杂,反而没有实现相应的功能。
(3)从实验情况看,对程序设计规范和相关工具的掌握较好,但调试能力和调试技巧有待进一步提高。
针对以上情况,可在如下方面做出努力,以提高教学质量,增强教学效果。
(1)进一步改善教学方法、提高学生学习兴趣。
(2)在教学内容上,既要强调基本概念、基本理论、基本方法;又要突出问题的分析,要注意引导学生找出解决思路,逐步形成程序。
(3)加强对程序分析能力及算法设计能力的训练,强化实践教学,做到理论和实践紧密结合。
(4)进一步强调对调试工具和调试技巧的训练,提升学生的调试能力。
8 结语
以工程教育认证为指引,将毕业要求落实到具体课程进行达成情况评价,可以为专业人才毕业要求达成情况评价提供较为科学、合理的支撑,能够明确教学环节和评价环节中的各种不足,进而对后续课程进行持续改进,形成闭环的教学质量优化过程,对提升专业人才培养质量具有积极的引导和推动作用。