面向成果转化的软件工程课程评价改革与实践研究
2024-04-06乔雨杨玉环
乔雨 杨玉环
关键词:软件工程课程;课程实践;成果转化;学习效果评价
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2024)03-0148-03
0 引言
在教育部发布的关于开展新工科研究与实践的通知中,提出高校培养的学生应具备更强的实践能力[1];同时,伴随着社会建设的不断发展,社会对软件研发方面的人才需求和要求不断提升。现代工程问题早已超越纯粹的科学技术范畴,涉及社会、政治、经济、文化等诸多非技术要素,把科技要素、非技术要素与系统工程实践融合,强调工程的系统性与完整性[2]。因此,在新工科建设的背景下,国家对高校的课程体系建设和教学质量提出了新的要求[3],以适应各方对多样性人才的需求,同时这也成为高校课程教学改革中面临的新挑战。
1 软件工程教学背景及现状
软件行业由于其特殊性,相关技术知识更新迭代颇为频繁,需要从业人员不断地学习,将行业中最新的技术应用于项目研发过程,这也就要求高校中的相关课程的教学内容和形式也需要与时俱进。近年来,已经有越来越多的教育教学人员从不同角度对软件工程课程的教学内容、教学手段、教学方法、实践环节、课程评价等方面进行改革探索与实施。目前主要分为基于案例驱动的教学模式[4-5],融合工程实验环节的教学实施[6],面向竞赛、认证、就业等目标的教学实践探究[7-8]等几个方面。其中,案例驱动教学模式是指在教学过程中根据知识点的特征选取合适的案例进行讲解,通过对实际应用场景的介紹,引导学生代入课程知识点加以理解;任健等人融合工程实验环节的教学实施是在进行理论授课的同时安排项目实践[6],要求学生遵照软件开发规范进行系统的分析与设计,完成一个系统的综合开发任务,并提交规范化的实验报告,进而提升学生在软件技术文档方面的写作能力;而文献[7]和文献[8]提出的面向竞赛、认证、就业等目标的教学实践则是从课程目标出发,对毕业要求、用人单位的就业岗位能力要求等进行梳理,并将其融入授课环节,保证教学效果。
软件工程课程作为软件专业的一门核心课程,课程内容主要包括软件研发周期中涉及的各个阶段工作任务的介绍,以及所用到的方法和工具。通过课程的学习来培养学生综合运用工程性的思维和理论去分析需求,同时学会借助相关工具来解决软件开发过程中遇到的复杂问题。但是,该课程内容本身的理论性较强,容易让学生觉得知识点“过于悬浮”,这就要求教师在教学过程中务必结合现实情况进行授课,例如项目实践、行业现状、未来职业发展等场景。
基于上述对教学现状的调研和分析,并结合我校软件工程专业建设的实际情况,本文提出“丰富行业资讯至理论背景,下沉理论技术至实践过程,引领实践成果转化至课程评价”的教学思路来降低由于“理论性强”带来的“枯燥感”和“悬浮感”,进而提升学生对本课程的学习兴趣,并强化学习的获得感。
2 基于成果转化的课程教学过程设计与实施
2.1 软件工程课程教学目标
作为计算机软件专业的核心课程,软件工程课程的设立旨在帮助学生掌握软件工程领域的基础知识和重要概念,理解软件开发的生命周期,并学会使用相应的分析和设计工具,掌握软件测试和项目管理等方面的知识。此外,在软件工程专业的课程体系设置中,该课程能够帮助学生进一步了解本科学习的知识体系、学习方法以及软件人才职业发展路线等内容。
2.2 课程知识体系
软件工程课程通常安排在第5学期或者第6学期,这是一门帮助学生培养工程性思维、学会软件开发的分析与设计方法,涉及计算机学科的多个先修课程,比如数据库设计、编程语言的应用等[9]。因此,在进行课程教学内容建设之初,首先将该门课程的知识点加以整合和梳理,软件工程课程知识体系主要包括三大部分:过程、方法和工具,依据软件生命周期分别对应了相关分析和设计方法,以及在此过程中要求学会使用的软件工具。
1)“ 过程”是指为了构建高质量的软件产品所需要遵循的过程框架,相较于传统的开发模型,更是出现了敏捷开发这类为了更快响应客户或用户需求的过程模型,以此适应互联网时代对软件提出的“快速响应,拥抱变化”的要求。
2)“ 方法”是指在软件研发过程中进行一系列设计、分析、管理、质量监测环节所用到的思想和方法,本课程按照软件的基本生命周期将分别介绍问题提出、可行性分析、需求分析、软件设计及实现、测试、维护各个阶段中重要的思想和方法,比如可行性分析中常进行包括技术、经济、社会等维度的可行性分析;需求分析阶段常用的需求获取的途径、分析的方式等;设计阶段常用的自顶向下、自底向上等方法;代码设计时考虑到后期测试和维护的难度,在代码结构涉及和代码实现过程中如何对代码进行封装、如何定义常用参数、如何重构代码等方法;测试环节中测试点常见的划分方式、测试方法的选择等。
3)“ 工具”则是指在上述过程中用于实现分析与设计思路所借助的工具,例如项目管理中的任务跟踪工具、原型制作工具、UML建模工具、源代码管理工具、持续集成管理工具、Bug跟踪工具以及常见的自动化测试工具等。
2.3 项目“成果转化”教学环节设计
在学期之初,教师发布课程“项目实践”的要求,即:班级学生自组成队,每组不多于4 人,每个小组自行完成项目选题、技术选型和后期任务的分配,利用一学期时间最终完成软件系统的整套过程,包括提出问题、对问题进行可行性分析、需求分析、软件设计、编码实现和测试工作。随着课程进度的推进,这些实践任务也随之展开,由学生完成对应阶段的工作,之后将以课堂讨论的方式开展相应的需求评审会、系统设计交流会、测试报告评议会等教学活动[8]。通过对各小组提交的分析与设计方案进行公开展示和讨论,广泛地听取老师和其他小组的意见和建议,会后小组成员再根据提出的优化意见对项目进行修改。
在项目完成过程中,教师将引导学生对课程的实践项目进行孵化,通过提升内容立意、突出亮点、突破创新点、优化文档写作的方式,鼓励学生根据小组项目的特色,以现有的原型申报相关学生课题、竞赛、知识产权等。以此实现从理论知识→案例理解→实践应用→方案打磨→优化改进→成果输出的良性循环过程。
2.4 课程多样性、全方位的考核方式改革
基于本专业人才培养的目标,结合软件工程的课程特色,分别从课程的知识结构出发,设计面向问题的学习任务,促进学科理论向解决问题方向的有机转化。通过对课程考核方式的重新设定,来持续跟进学生的学习情况,更加细化地评价学习效果,从而推动从理论学习向实际成果的转化,培养高素质人才。
课程考核方式从原先以理论评价为主的“平时成绩+期末考试”方式,转变为注重过程和结果评价的“理论学习+工程实践+成果转化”(如图1所示),并重新进行比例分配,具体如表1所示。其中,理论学习环节包括课堂表现、课后作业、期末笔试等;实践环节则根据小组的选题,按照软件研发不同阶段的工作内容分别完成项目需求分析书、软件设计报告、功能代码实现以及项目的测试报告,并根据各小组完成的情况分别进行评分与评价;成果转化则是鼓励学生将课程中的实践内容进行成果转化,如利用课内完成的小组课题作为“大学生创新创业挑战”“互联网+”等课题原型來申报校级或省级课题,待完善后将其技术核心内容撰写为学术期刊论文或者将项目源码申请国家软件著作权等,完成进一步的成果转化。这部分将会在课程综合评价中体现出来,并占有相当地比例,这样能够帮助学生在学习课程内容期间直接将理论应用于实践,更有机会让自己的作品进一步走出班级、走出校园、走向全国,更是提升了本门课程的评价分数。因此,设置这样的课程环节和课程评价方式从多方位提升了学生学习的内驱力、获得感和成就感。
通过如表1所示的评价方式,教师能够持续地跟踪学生的学习状态,并对各个学习过程进行量化评价,尤其突出“工程实践”在整个课程中的地位,强化学生对专业课理论知识的应用效果,落实“工本位”培养的要求。在课程评价体系改革过程中,定期对学生的学习效果进行数据分析,包括课程的实践成绩、理论成绩以及学生的自我反馈情况,并根据反馈的情况进一步对教学过程的细节进行调整和优化。通过这样的课程训练和评价方式,学生能够从思想上对课程学习更加重视,还可以帮助学生通过量化的评价指标清楚地了解到个人当前的学习状态,更加清晰、理智地认识自己的专业以及后期的职业发展方向,做到“基于课程”的同时又能取得“高于课程”的学习效果。
3 改革实施的教学效果
通过落实上述的教学过程设计和评价方式的改革,以2021-2022年度和2022-2023年度秋季学期的整个软件工程教学活动为调研背景,其中2022-2023 年度的软件工程课程进行了新的教学评价体系的实践。两轮教学的课程学习和成果转化情况如表2 所示。
从表2中可以看出,在2022-2023年度秋季学期的软件工程课程增加了成果转换的评价环节后,直接成果转化效果明显,由原来的1项成果提高到12项成果,包含进一步申报为校级、省级的学生课题、参加专业性的比赛、撰写学术论文、申报国家软件著作权等方式。更是由于“成果转化”的目标驱动,反作用于学生对待课程的学习态度,更多的同学愿意将理论知识尝试着应用于实践,这一点从表2中的理论成绩和实践成绩可以看出这方面的提高。在后续的教学过程中,将继续实施此教学方案和评价体系,期望通过此课程的学习,引导学生以成果转化为目标,利用课程实验项目作为实践训练的基础,在此过程中将课程的技术理论进行应用,从而达到“理论-应用-成果”的多维教学效果。
4 总结
本教学改革方案是在以往案例教学、任务驱动、课程实践的基础上进一步落地各个教学环节并提高教学效果,通过引入“成果转化”这一过程更加显著地提升学习环节的闭环性,真正地做到有始有终;并将这些环节的学习情况体现在课程评价方式上,鼓励学生将课程中的实践选题继续延伸到课堂外,对课程实践项目原型进行更加深入、全面地完善,从而实现由实践训练到训练成果的转化。接下来的课程教学中,将以此为基础,进一步落实“新工科”的建设要求,并在实践中不断完善和改进课程的教学环节和评价细节,以期获得学生积极的学习反馈和良好稳定的教学效果。
【通联编辑:王力】