杨雪洁 王璐 施培蓓 程珍珍
(合肥师范学院 计算机学院,安徽 合肥 230061)
程序设计类课程包含了计算机类专业开设地从基础到专业的多门课程。该类课程最终的教学目标是使学生掌握程序设计的概念、方法,具有使用程序设计语言编写程序分析问题、解决问题的能力。程序设计能力是计算机类专业的重点考核能力[1],也是检验计算机类毕业生质量的标准之一。
工程教育认证[2]是相关认证机构面向高等教育机构的工程类专业展开的专门性认证。工程教育认证可以帮助建立质量监控体系,提高学校工程教育质量,提高学生工程实践能力,促进教育界与工业界的联系,近年来在我国得到较快推广[3]。成果导向是工程教育专业认证要求的重要教育理念,该理念希望可以有效帮助学生取得学习成果以及及时知晓学生已经取得的学习成效。课程考核是及时了解学生取得学习成果,有效帮助学生达到学习效果的必要方法,因此课程考核与基于工程教育认证的成果导向教育理念紧密联系。
程序设计类课程不仅要求理论知识与实践能力相结合,同时对学生的工程实践能力、团队协作等方面都有所要求,在工程教育认证的背景下,课程目标从“讲授理论知识点”转变为“培养工程实践能力”,课程考核方法也应从“评价知识的掌握”转变成“对能力培养的评价”。为使能力培养的效果可衡量、可评价,传统课程考核方法需要进行相应的探索和改革。做好程序设计类课程考核的改革可以有效调控相应的教学过程及教学方法,调动学生学习的自觉性和积极性,提高计算机类专业工程技术人才的培养质量。
传统的程序设计类课程考核[4]主要是通过期末笔试辅加期中测试、实验成绩和平时成绩来实现。考核形式较为单一,考核内容经常局限课内知识,难以反映学生的实际程序开发能力和工程实践能力,与工程教育认证要求不相符。因此,单一的理论评价方式,无法体现工程实践中对于人才程序开发能力的要求。工程教育认证标准对毕业生提出的知识素质、实践能力、创新意识、职业能力、沟通协作和组织管理能力等毕业要求[5],最终需要体现到各门课程上,认证标准[6]也要求课程考核应对该课程毕业要求的学习成果[7]进行相应评价。
基于上述情况,本文考虑在工程认证标准背景下,对程序设计类课程的毕业要求分解细化,针对每一指标点的学习效果设计相应的教学环节与措施,提出了面向毕业要求效果达成的考核方式,在不同阶段采用不同的考核方式,建立过程考核与期末考核相结合、理论考试与工程实践能力考查并重的课程考核方案,提高学生的程序设计能力、自主学习能力、团队协作能力和工程实践能力[8]。
依据工程教育认证标准,结合计算机类专业人才培养目标,将程序设计类课程毕业要求具体细化,建立毕业要求分解指标点,如表1 所示:
表1 程序设计类课程毕业要求分解指标点
依据上述指标点对学习成果的达成效果进行考核,不同阶段采用不同的考核方法,建立过程考核与期末考核相结合、知识点与设计开发能力考核并重的考核方案。
基于程序设计类课程的教学目标,要取得较好的教学效果,需要加强课程的过程性考核,避免学生平时不学习、期末临时抱佛脚。结合目前程序设计类课程常用的线上线下混合式教学,设计为课前、课中、课后三个阶段的考核:
1.课前阶段:
学生完成在线学习平台内容,通过学习平台中学生视频学习时长、课前小测成绩、在线交流情况等考核学生对知识的预习情况,评价分数由学习平台给出,考核学生工程知识与自主学习能力。教师结合相关数据提前了解学生对知识的掌握情况,方便课中考核内容的安排。
2.课中阶段:
课中阶段着重对学生的课堂表现、程序设计能力、讲解讨论能力和分组协作能力三方面考查。
课堂表现:教师通过点名考勤,课堂提问等方式,评价学生的学习状况。当堂布置作业,学生完成后互相批改,采用互评方式,帮助学生互相了解,学生也能根据同学的反馈,课后及时查缺补漏。
程序设计能力:依据工程认证理念,着重培养程序设计能力,在实验教学中分层次进行考核评价。当堂提前完成实验的同学属于第一层次,在其学有余力的情况下可以布置更高的实验要求,教师直接进行评价;在教师讲解分析后能在规定时间内完成实验的同学属于第二层次,这些学生可以自评;在实验时间内还是不能完成的同学教师要重点关注,并进行分析评价。对不同层次的学生程序设计能力都要做到有具体的考核,考核学生实验能力的时候,程序开发的独立性和正确性是最基本的要求。如果设计很完善或思路新颖,可以评定较高的分数。
讲解讨论能力和协作能力:工程教育认证要求以学生发展为中心,通过教育的系统性建设,使毕业生具有解决“复杂工程问题”的理论知识、分析和实践能力。复杂问题的顺利解决,除了技术能力外,成员之间的沟通交流以及协作能力都是十分重要的。传统考核方法几乎忽略了对学生讨论能力和协作能力的考查,学生表达能力、团队协作能力较为欠缺。因此本文将学生讨论能力和协作能力也作为课程考核的指标之一,通过分组课堂讨论和汇报答辩的形式实现。主要从小组讨论的参与程度、课堂讨论、作业项目答辩的讲解能力、承担小组任务的工作量比例等方面进行评价。
3.课后阶段
课后阶段考核主要从在线测评系统、课程设计两方面开展。
在线测评系统:程序设计能力的提高需要经常性的上机训练,如何不限时间不局限场所的及时指导学生,如何提高学生的编程积极性,在线测评系统可以很好地解决上述问题。它主要是一种基于Web的自动判题系统,可以考核学生对课程相关知识点的掌握程度。
课程设计对学生综合运用程序设计语言解决实际问题的能力进行考核,要求学生自由组合为小组并在小组内协同完成。评价方式可以为“小组间互相评价”、“同一小组内成员间互相评价”,最终提交结果由教师评价。这个阶段教师与学生开展了面对面交流,是从考核学生理论知识到考核学生能力的重要改变。
期末考核主要是上机考核,包括客观题、编程题两方面,课程组依据知识点建立题库,抽取考题采用考试平台考试,系统自动评分。在抽取试题是注意保障学生对知识点理解掌握的系统化、全面化,知识点尽量做到全覆盖。
课前、课中、课后阶段涉及的过程性考核与期末考核在最终考核方案中所占比例初步设计为2:2:2:4,依据评价反馈,改进各类评价指标与所占比例,逐步完善考核方案。
持续改进是推动课堂教学质量持续提升的保证,也是工程教育认证的最终目标,考核方案指标及其所占比例并不是一成不变,在方案的实施过程中,不仅要从课前、课中、课后及期末考核中去反馈学生的学习效果,也要关注学生参加的与程序设计类课程相关的竞赛、创新训练项目及参与教师科研项目的情况,关注在项目中表现的综合应用能力,依据上述反馈情况,经过几个周期的调整,改进各类评价指标及其所占比例,逐步完善考核评价方案。
综上所述,考核方案落实工程教育认证中“以学生为中心”理念,过程考核与期末考核相结合,指标点有效支撑各项能力要求,另一面落实工程教育认证中“以产出为导向”理念,工程教育认证分解的指标点贯穿了整个考核过程,可以有效提升学生工程实践能力。当然,考核方案也应注意实工程教育认证中“持续改进”理念,依据考核评价反馈,动态调整改进考核方案中各类评价指标与所占比例,使其逐步完善。
目前,基于工程教育认证标准的程序设计类课程考核评价方案已在《C 语言程序设计》课程中实施,已对两届学生进行了相关考核。在考核方案的驱动下,学生通过完成课前、课中、课后的各项任务,加深对计算机专业知识体系的认识,改善了学习效果。考核方案与毕业要求指标点紧密关联,以评促学,培养学生工程思维,提高学生工程能力,促进学生实际工程实践能力的提高。同时也加深了教师对工程教育认证标准的理解,促进教师对各自教学工作的改进。
本文探索构建基于工程认证教育标准的程序设计类课程考核改革方案,以评促学,以评促教,提升计算机类专业工程技术人才的培养质量。本方案深入调研工程教育认证标准,将程序设计类课程毕业要求具体细化,建立相对完善的毕业要求分解指标体系,并将指标体系分解到过程性考核的各个阶段,设计好相应的考核方式及指标所占比例,同时注意做好考核方案学习效果的反馈工作,依据几个周期的反馈调整,改进各类评价指标及其所占比例,逐渐完善考核评价体系。