软件工程专业工程化实践教学体系的建设与改革
2018-12-01刘益先
李 昕 ,刘益先 ,程 维
(1.东北大学 软件学院,辽宁 沈阳 110000;
2. 东北大学 国家级软件工程实验教学示范中心,辽宁 沈阳 110000)
0 引 言
我国的高等教育正从单纯知识传授型教育向全面综合素质教育推进,向培养学生的创新能力方向转变,教育模式也从“应试教育”向“知识—素质—能力”转变。国家示范性软件学院的培养目标是培养“多层次、实用性、复合型和国际化”的软件工程人才。如何培养社会所需的具有实践能力、工程能力、合作能力和创新能力的复合型人才一直是软件工程专业人才培养所不能忽视的课题。目前,几乎所有的软件学院都设置了大量的实验、实践教学环节,并通过实训、毕业设计等环节加强学生的工程实践能力。为此,如何建立更加科学合理的软件工程专业实践教学体系,建立配套的成绩考核体系,真正为学生提高实践动手能力和创新能力搭建广阔的平台,就成为软件工程人才培养过程中亟待解决的问题。
1 现有实践教学存在的问题
从过去10余年的经验看来,实践教学的效果并不尽如人意,具体表现在以下几方面[1-2]。
(1)教学内容的设置跟不上行业相关技术的飞速发展,一定程度上制约实践课应发挥的作用。软件技术的快速发展要求我们必须与时俱进地调整课程体系,可现实情况是实践课内容及案例基本几年都难以更新一次。
(2)实践教学各自为战,不注重课程之间的联系,没有形成体系。软件工程专业目前涉及6门实践类课程,各门课程都是各自设计其实践教学内容,相互之间没有衔接,与课程实验差别不大。
(3)未充分考虑学生个体差异,没有采用分层次教学,忽视学生的个性发展。学生的个人能力不同,自身升学、就业、出国等人生规划也不同,不加以区分地按照统一的标准进行实践教学,必然无法满足不同学生的需求。
(4)教学方法和手段相对单一,无法充分调动学生的学习积极性。现有的实践课教学大多采用老师布置任务,学生自己动手操作,有问题再单独向老师寻求指导的方式。一些动手能力差的学生在畏难心理的驱使下会选择加入项目组,过度依赖一些能力强的学生,导致动手能力得不到有效锻炼。
(5)考核体系不完善。现有实践课程考核大多由3部分组成:课堂表现、程序演示和实践报告。这种考核方式相对单一,学生比较容易通过,且学生对知识的实际掌握程度不一致,考核结果难以对后续课程教学提供有效支撑。
(6)缺乏具备行业工程领域背景和国际化背景的高水平创新实践教学团队。现有授课教师多为本校专职教师,长期从事理论教学工作,项目经验不足,在指导过程中更多的是“理论派”的指导,学生反馈不佳。
2 多途径重建合理的实践教学体系
CDIO工程教育模式是由麻省理工学院、瑞典皇家工学院等4所大学经过4年的探索研究创立的一种先进的工程教育模式。CDIO代表构思(conceive)、设计(design)、实现(implement)和运作(operate),以产品研发到产品运行的生命周期为载体,让学生以主动的、实践的、课程之间有机联系的方式学习工程。CDIO培养大纲将工程毕业生的能力分为工程基础知识、个人能力、人际团队能力和工程系统能力4个层面,要求以综合的培养方式使学生在这4个层面达到预定的目标[3-4]。将CDIO工程教育理念引入软件工程专业的人才培养过程中,通过实验、实践、实训、毕业设计一体化的工程能力训练体系,完成对CDIO能力的培养[5-6]。
2.1 重建实践课程体系
重新构建的软件工程专业实践教学体系由实验、实践、实训、毕业设计4个子系统构成,如图1所示。
图1 软件工程专业工程化实践教学体系
1)课程实验。
课程实验是单门课程的实践环节,是对理论教学的有效补充,也是整个实践课程体系的基础,注重对学生基础专业技能的培养。根据教学目标的不同,课程实验可以分为验证型、设计型、综合型等不同层次。通过一个个完整的小项目将课程知识串联起来,加强学生对所学知识的理解和应用。
2)课程设计及实践类课程。
课程设计是在实验的基础上,选择一些实践性更强也更具代表性的课程作为单独课程开设综合性课程设计,如面向对象程序课程设计、数据结构与算法课程设计等,具有更强的综合性和实用性,是实践课程体系非常重要的一个组成部分。为了切实提高学生运用专业知识分析和解决问题的能力,所有实践课案例均来自企业真实的项目开发实例,教师还可以根据软件工程的培养目标,对相应的实践课程体系进行调整。
面向对象程序课程设计是学生接触的第一门实践类课程,通过完成一个小型应用系统的设计和开发,学生可深入理解面向对象的思想,提高软件开发能力,熟练掌握一种编程语言。通过该课程设计的培养,学生可以了解软件项目的开发过程,提高学习热情。随着理论学习的不断深入,相继开设Web开发程序设计实践、数据结构与算法课程设计、数据库应用程序设计实践等课程,分别针对学生的Web开发技术,数据结构和算法的设计能力,数据库的设计、创建、优化、查询等能力进行锻炼。4门实践类课程的周期均为2周,以个人为单位独立开发。学院从相关的软件公司聘请专门的团队对学生进行指导,用软件工程的理论指导开发,最终使学生完成需求分析、建模、设计、实现、测试的全过程。
在上述实践课程的基础上,为了使学生能够设计和开发出具有良好用户体验的系统,并培养学生的团队合作意识,接着开设人机交互程序设计实践。该课程以小组为单位,组内成员分工合作共同开发一个完整的项目,协作完成系统的分析、设计、评估、文档报告撰写等过程。
3)实训。
实训是综合运用多门相关课程知识完成工程项目的实战训练。为了让学生体验真实的企业开发环境,感受真实的软件开发“实战”过程,培养学生的职业素养,有效提升学生的分析与解决问题能力、交流与组织协调能力、主动获取知识能力、科学创新能力、工程实践能力与国际竞争能力,可在第6学期末安排学生进入企业实训基地进行实训,模拟企业真实开发环境,并严格按照企业管理模式对学生进行管理和考核,让学生真切体会到实际项目开发的工作氛围和职业要求,着力提高学生的工程意识、工程素质和工程实践能力,全面提升学生的就业竞争力。
4)毕业设计。
毕业设计是本科人才培养的最后一个环节,也是实践教学体系中最后一个综合性、创造性的实践环节。为了提高毕业设计的质量,可以从4个方面进行严格把关:①要求学生到企业完成毕业设计,选题必须是企业的实际课题,强调可行性和实用性;②采用双导师制度,企业导师负责学生的课题进展情况,校内导师负责把控毕业设计全过程;③毕业设计过程中需如期提交开题报告和中期报告,师生定期进行交流,确保毕业设计按期完成;④严格审查毕业设计材料,确保质量。
2.2 重建考核体系
成绩考核是实践教学的重要环节之一,成绩考核体系的建立有利于评价学生的学习情况,是进行学生成绩考核的基础,也是保证考核结果准确、合理的重要因素。实践教学的考核方式不同于传统的理论课程考核方式,更注重对学生实践动手能力、文档阅读和写作能力、团队协作能力以及创新能力的考核。
结合实践教学的实际,有目的、有计划地对实践教学各个环节进行评价和监控,改变以往一次验收决定成绩的做法,校内教师与企业教师配合,在实践课程的各个阶段对学生进行相应的考核,建立一套合理的、量化的、覆盖全过程的实践考核机制。需要重点考核的地方包括:①平时表现。这部分主要涵盖学生的出勤情况、学习态度、课堂交互、项目阶段完成情况、团队协作情况等。②实践验收。这部分主要涵盖程序结构是否清晰、系统运行是否正常、代码书写是否规范、文档是否规范、是否有创新等方面。③报告质量。这部分主要考查学生的报告格式是否规范,内容是否充实、准确等。各门实践课程负责人可以根据自身课程特点对上述各项考核设置不同的权重,这样得到的考核结果可以比较全面、客观地反映出学生在这一阶段的实践情况。
2.3 重建实践教学团队
传统的实践教学大多采用“教师讲授+学生实践+教师答疑”的指导方式,指导教师也较多为本校教师,很难摆脱理论教学的影子。为了提高实践教学质量,需要建立一支具有行业背景的高水平实践教学团队,采用“请进来、走出去”团队建设模式,学院、行业双向互动,打造高素质师资队伍。
“请进来”指的是通过校企合作的方式从合作伙伴中选择、聘任符合兼职实践课教师任职条件的业务骨干加入教学队伍中,担任实践教学团队兼职教师,以达到优化师资队伍架构的目的。这些企业中的业务骨干从教学实例的选取到课程的教学、答辩、报告批改等全程参与实践教学。以东北大学软件学院为例,学院目前引入企业兼职实践课教师20余名,兼职教师的学时比例达到40%以上,他们的参与极大地丰富了在校教师的实践经验。
“走出去”指的是鼓励和资助教师多参与培训进修学习,以提升教师实践教学水平。通过参加企业培训、参与企业项目开发等方式,教师可以掌握最新的软件技术,能够使用主流的软件开发平台,积累项目开发经验,并将所学运用于实践教学中,提升实践教学质量。
在“请进来、走出去”的过程中,软件工程专业坚持通过专业建设、教学资源建设、课程建设、实训基地建设为兼职教师搭建交流平台,形成了专任教师向兼职教师学技术、比技能、学技巧、取经验,兼职教师向专任教师学教法、学课堂组织管理的互动长效机制。
3 改革阶段成效
东北大学软件学院软件工程专业工程化实践教学体系的建设通过一年多的实施,改革的效果已经逐渐凸显出来,总体上已经达到了改革的目的。
1)形成了相互衔接的实践教学体系。
现有实践教学体系以软件工程专业本科教学培养计划为基础,按照由浅入深、由基本到综合的规律合理安排实践教学环节,分段培养,形成相互衔接的实践课程体系,更有利于提升学生的工程能力。
2)形成了软件工程专业实践课程考核体系。
各实践课程形成统一的考核体系,各门课程可以在此考核体系基础上根据自身课程特点进行动态调整,形成整体统一、细节灵活的考核标准。
3)建立了校企协同的创新性实践教学团队。
学院目前已经同中软国际、东软睿道等公司建立合作关系,每年由企业选派优秀的企业教师全程参与实践课程的设置、讲授等过程。截至目前,软件工程专业涉及的6门实践课已经实现校企协同教学团队的组建,并已经完成了1~2个轮次的教学工作。从学生的反馈情况来看,90%以上的学生认为改革后的教学模式更有利于学生实践动手能力的提高,教学效果明显提升。
4 结 语
学生通过实践类课程的学习,其理论知识进一步强化,工程实践能力显著提高,创新性得到有效激发。从教学成果看,学生的综合成绩稳步提升,学生对改革后实践课程的评价显著提高。由于改革的时间所限,还没能够将本次改革完整地在一届学生的4年学习中贯彻实施,后续我们将继续实施及改进,为软件工程的工程化实践教学贡献力量。