现代软件工程课程的多元化考核机制研究与实践
2017-02-25丁家满
姜 瑛,丁家满
(昆明理工大学 信息工程与自动化学院,云南 昆明650500)
现代软件工程课程的多元化考核机制研究与实践
姜 瑛,丁家满
(昆明理工大学 信息工程与自动化学院,云南 昆明650500)
针对现代软件工程课程教学效果不理想的普遍问题,分析学生难以应用已学知识完成项目实践的原因,阐述单一考核机制在现代软件工程课程教学中存在的问题,提出多元化考核机制,阐述如何基于考核动态组织课程教学并进行相关实践。
现代软件工程;课程考核;多元化机制;实践
0 引 言
当前,社会发展急需软件工程专业人才,对此类人才实践能力和创新能力的要求也不断提高。现代软件工程课程具有较强的科学性、技术性和实践性。课程基于软件工程的基本概念和基本理论,重点介绍软件开发的方法和技术,并根据软件工程的实际应用介绍软件工程的新方法、新技术、新成果以及未来发展趋势,旨在培养学生设计和开发大型软件系统和管理软件项目的能力。
作为检验学习效果的重要环节,课程考核体现出对学习内容的总结和提高。通过课程的考核,又可以了解学生的学习情况,有助于调整课程教学,从根本上提高教学质量。目前,在软件工程的教学实践中也出现相应的课程考核探索,包括针对应用型本科计算机专业软件工程课程的考核机制[1]、规范化的软件工程专业课程试卷设计[2]、基于团队的软件工程学习实践[3]、以学生为主体和以能力为重心的多样化考试模式[4]、将过程性考核融人课程考核[5]、软件工程系列课程考核[6]等。
1 课程教学存在的问题
(1)由于现代软件工程课程在第一学期开设,部分学生缺少软件工程的相关知识,对编程或软件开发也不熟悉,学习中存在困难却未向任课教师反映,导致后期跟不上学习进度。
(2)软件开发综合了较多相关知识,如操作系统、计算机网络、数据结构、数据库、编程语言、开发平台等,需要进行综合、系统的知识应用和实践,而学生对课程普遍存在畏难情绪。
(3)课程缺少实践学时,学院也不提供机房等实践环境,课程的模拟实践要求学生以项目小组的方式课下完成并在课上进行讨论或检查。少数学生愿意独立成组完成项目开发,动手能力差的学生则在畏难情绪的驱使下选择加人项目组,而部分学生在团队开发中又不愿意参与协作,导致动手能力和协同能力没有得到有效锻炼。
(4)课程考核主要由3部分组成,平时作业和课堂表现占10%,模拟实践占40%,期末考试占50%。这种考核方式相对单一,学生比较容易通过,软件工程的理论和实践能力则并没有得到实际提高。
从一些分析数据看,单一的课程考核方式所呈现出的结果与学生对课程知识的实际掌握程度出现了不一致的情况,考核结果未能对课程教学提供有效的支撑和改进。
2 多元化课程考核机制
2.1 综合过程考核与结果考核
与结果评价相比,过程性评价既能够有效促进学生的学习,又能够优化教师教学[7]。为了实现课程考核支撑课程教学的目的,我们将原有的单一结果考核改为过程考核与结果考核综合的课程考核方式。
现代软件工程共计54学时,如理论讲授、专题讨论等环节。软件工程强调理论与实践紧密结合,为了更好地理解相关知识并学会应用,学生课下需要完成作业以及自主学习部分知识,准备专题讨论的材料并用整个学期实现一个软件的模拟实践。如果要达到比较好的学习效果,整个学习过程(课上+课下)须不少于300学时,但大部分学生的学习过程没有达到这个时间。为了督促学生学习,我们针对现代软件工程课上和课下学习过程中的关键阶段和环节制定了对应过程考核与结果考核的内容,如出勤、课堂表现、课下作业、专题讨论、模拟实践、期末考试等。
(1)出勤。课上由教师不定期考勤,课下的模拟实践由项目成员轮流记录出勤情况,这在一定程度上能促进项目小组形成定期讨论的工作习惯。
(2)课堂表现。在课堂交互、专题讨论、模拟实践检查、答辩等环节,根据学生回答问题、阐述想法、报告项目组工作等情况给出课堂表现的评价,并要求学生在模拟实践检查的分析、设计、原型3个环节至少有1次课堂表现,避免出现部分学生不动手和不开口的现象。
(3)课下作业。针对课程的关键知识点布置相关作业,考核学生对知识的理解、掌握和应用情况,重点关注作业中错误较多或出现雷同的学生。
(4)专题讨论。选择课程中的重点、难点或软件工程的发展趋势,制定2~3个专题,如围绕群体软件工程、众包软件服务工程等新研究,要求学生自行查找资料、自学和思考并在课堂上进行讨论,培养学生收集、整理、归纳、分析文献资料的能力以及创新意识,开拓学生的视野。
(5)模拟实践。要求学生以分组的方式完成一个软件系统的分析、设计与实现。具体要求是1~3人组成一个项目组,选择一种开发方法实现一个软件,选题上不作限制,鼓励大家选择自己感兴趣、有趣且与现实有关联的题目,在项目中完成课堂知识的实践;组内分工合作,每个成员独立完成部分工作内容,小组通过讨论得出统一结果;组长负责整个项目的进度与安排,按照分析员、设计员、程序员、文档编制等不同角色对组员表现计分。例如,有学生独立成组完成星空大战APP游戏;也有学生组成2人组,利用自己熟悉的图像处理技术,实现一个人脸识别软件。实践过程中共进行4个阶段(分析、设计、原型和最终系统)的检查和答辩,从文档标准化程度、项目执行进度、系统运行情况等方面进行考核,并对项目小组长的管理协调能力和项目组成员的沟通合作能力分别进行考核。为了增强考核的客观性,除了教师评价外,还应在最终系统的演示和答辩时引人学生评价。
(6)期末考试。期末考试采用开卷方式,试卷内容覆盖教学大纲90%以上,内容包括客观题(25%)与主观题(75%),采用判断题、简答题、解答题、设计题等多种题型,重点考核学生对软件工程理论知识的应用。
2.2 现代软件工程课程考核体系
基于过程考核与结果考核的内容,我们建立现代软件工程课程考核体系,见表1。
3 基于考核组织课程教学
昆明理工大学每年招收的软件工程领域工程硕士生来自不同院校、不同专业,大部分转专业的学生没有学过软件工程的知识,对现代软件工程课程的学习存在极大的畏难情绪。根据以往的教学经验,如果缺少有效的引导或相关措施,部分学生会直接放弃实践,只学习课程理论;如果不能结合软件工程的理论和实践,将影响学生专业实践和学位论文工作的开展。为了改进这类问题,我们进行以下尝试。
表1 现代软件工程课程考核体系
(1)在课程第一节课上介绍课程定位、目标、内容及考核方式,使用问卷调查的方式了解学生的本科专业、是否学习过软件工程、对编程语言和开发平台的掌握程度、对相关知识(操作系统、计算机网络、数据结构、数据库等)的了解程度等,掌握学生的基本情况。
(2)根据学生的基本情况,对基础比较差的学生进行个别辅导,补充相关知识。对学生普遍存在的问题,则在教学中进行额外讲解和有针对性的练习。
以上措施是为了让大部分学生能够在2周左右的时间内达到课程学习的基本要求。在之后的课程学习中,为了提升课程教学效果,我们采取以下措施,以实现课程考核与课程教学组织的动态关联。
(1)在教学过程中,持续观察学生,结合不同阶段的考核结果,进一步了解学生的学习情况,及时改进教学方式和方法。
(2)在理论教学过程中,选择学生能够理解的案例,用学生熟悉的语言进行举例和讲解,让学生加人课堂的教学和讨论中,激发学生对课程的学习兴趣,引导学生课后自学和思考。
(3)根据学生的兴趣和能力,有针对性地指导学生选择模拟实践的题目并组织项目小组,让学生能够切实参与项目实践。
我们在2014级和2015级全日制软件工程领域工程硕士生的现代软件工程教学中引用多元化考核机制。通过对两届学生学习过程的跟踪和对考核结果的分析,我们发现:
(1)通过细化出勤、课堂表现等指标,实现了将考核落实到每个项目组成员,弥补了以往通常由项目组长汇报所有工作的缺陷,提高了成员的参与度。
(2)通过课下作业及专题讨论的考核,锻炼了学生的归纳、分析及表达能力。
(3)学生通过参与最终系统演示和答辩的评价,交流各自观点,有助于项目组成员从不同角度理解项目开发成果,增强了考核的客观性。
在教学过程中,我们依据学生的情况和考核结果及时调整相关教学,所有学生在课程学习后都有一定提升。与人学前相比,大部分学生可以应用软件工程的相关理论和知识开展项目实践,部分学生则在知识应用和实际动手方面表现出色。
4 结 语
在以往现代软件工程课程的教学过程中,我们采用理论教学、案例导学、讨论、模拟实践等多种方式。学生虽然能够通过考试并拿到学分,但是在后期的专业实践和学位论文工作中未能较好地应用软件工程相关理论和知识开展实践工作。为了调动学生的主动性和积极性,我们自2014年起开始改进课程考核方式,目的是让课程考核能够支撑课程教学,通过课程过程考核,及时了解学生学习情况和对知识的掌握程度,有针对性地调整课程教学进度和形式,进一步改进教学效果。实践表明,现代软件工程课程的多元化考核机制在一定程度上改进了教学效果,提高了学生的学习积极性和动手实践能力,但仍然存在一些问题。我们将以学生为中心,进一步细化考核指标、改进成绩评价方式和加强过程管理,锻炼学生理解问题、分析问题和解决问题的能力,激发学生的创新意识。
[1] 余久久, 张佑生. 关于应用型本科计算机专业“软件工程”课程教学的思考[J]. 赤峰学院学报(自然科学版), 2014(8): 199-201.
[2] 李全龙, 涂志莹, 苏统华. 规范化的软件工程专业课程试卷设计[J]. 计算机教育, 2015(15): 13-18.
[3] 刘征海, 徐卓然, 肖建田. 基于团队学习的软件工程专业课程教学改革探索[J]. 课程教育研究, 2013(22): 218.
[4] 孙国菊. 计算机专业课考试模式改革的探讨与实践——以辽宁信息职业技术学院软件工程系部分专业课程考核为例[J]. 辽宁高职学报, 2008, 10(11): 43-44.
[5] 胡俐蕊. 面向应用技术型人才培养的软件工程教学改革[J]. 软件工程师, 2015(10): 48-49.
[6] 宋雨, 赵文清, 王德文. 软件工程系列课程考核探索[J]. 计算机工程, 2005, 31(增刊1): 98-100.
[7] 李候梅. 基于支持向量机的学习过程性评价研究[D]. 重庆: 重庆师范大学, 2015.
(编辑:宋文婷)
1672-5913(2017)01-0117-03
G642
昆明理工大学全面综合型研究生课程建设试点工作课题(201601);昆明理工大学教育教学改革与研究课题(YB201419)。
姜瑛,女,教授,研究方向为软件质量保证与测试、云计算、大数据分析和软件工程,jy_910@163.com。