APP下载

工程教育认证驱动下的软件工程实践课程改革

2019-05-09林为伟叶福玲

计算机教育 2019年4期
关键词:软件工程作业

林为伟 ,张 栋 ,叶福玲

(1. 福州大学 网络信息安全与计算机技术实验教学中心,福建 福州 350108;2. 福州大学 数学与计算机科学学院,福建 福州 350108)

0 引 言

工程教育认证是国际通行的工程教育质量保证制度,积极参与工程教育认证,已成为国内高校工程教育专业建设和发展的重要环节。2016年6月我国正式加入《华盛顿协议》,这不仅为我国工程专业毕业生获得进入国际市场的通行证提供了可行性,而且有力地促进了我国工程教育面向世界[1]。但工程教育认证并非一劳永逸,专业需在认证有效期内持续改进,实现“认证—改进—再认证—再改进”的良性循环。

持续改进是工程教育认证的理念之一,实现专业的持续改进,是工程专业教育实现可持续发展的内在要求[2]。为提升计算机科学与技术专业的教学质量,在认证有效期内,专业基于《华盛顿协议》关于复杂工程问题特征的界定和解决复杂工程问题的能力要求[1],以“解决复杂工程问题的能力”为核心,秉持以点带面、逐步推进、持续改进的理念和思路,对专业课程进行全面梳理。其中,以核心课程软件工程实践为范例的教学改革,在近一轮的持续改进中进行了重点推进和落实。

1 课程概述

软件工程作为面向高年级学生的计算机专业课程,包括理论与实践两部分,介绍软件开发过程中的软件工程概念、原理、方法、实现和评价等,是从事计算机系统结构、系统软件和应用软件研究、开发与管理的基础技能。工程教育认证标准明确提出了12条毕业要求[3],在工程教育认证标准的毕业要求与课程对应中,软件工程实践覆盖了毕业要求中的7条。围绕软件工程课程内容、软件能力培养与毕业要求,笔者确定了其映射关系,见表1。

表1 软件工程实践课程覆盖工程专业毕业要求情况

为了支撑专业毕业要求的达成,软件工程实践课程应能够培养学生解决复杂工程问题的软件能力,例如需求分析、系统设计、编码开发、系统测试和项目管理等。然而,原有的软件工程实践课程在学生软件能力的培养上尚有不足。首先,学生和业界对于软件能力轻重占比理解不同,例如学生认为项目管理、系统架构设计、面向对象分析和测试的轻重占比是递减的,而业界却认为是递增的;其次,学生、教师和企业对于软件能力习得方式理解不同,教师认为所有能力应主要在课堂教学和课程实践中学习,而学生和企业对于业余自学和进入企业后学习亦有所看重。根据对学生软件能力的实际调研结果(图1)在调查的4项软件能力中,除编码开发以外其余3项能力均有超过一半的业者认为学生能力一般或亟待加强。多方面因素导致原有软件工程实践课程培养的学生软件能力还有待提高,很多学生经过课程学习尚不具备解决业界实际复杂工程问题的软件能力。因此,在工程教育认证的持续改进中,原有的软件工程实践课程还需要加强对学生软件能力的全方位培养,进而更好地支撑专业的毕业要求达成,促进专业培养目标的最终实现。

图1 学生软件能力调查

2 课程教学改革的措施

借鉴“构建之法”倡导的软件工程实践教学模式[4-5],软件工程实践课程改革应强调培养与解决复杂工程问题相匹配的基础知识、综合素质和专业技能[6],将培养学生在复杂工程活动中解决复杂工程问题的软件能力贯穿整个软件工程实践教学的始终。根据能力层次的不同,解决复杂工程问题的软件能力可细化为基础能力、专业能力和直接的软件工程能力。解决复杂工程问题的软件能力培养需要依靠软件工程实践课程对学生每种层次的能力进行全面系统的训练,而学生对于每种层次能力的掌握支撑了课程对解决复杂工程问题的软件能力培养,见图2。因此,软件工程实践课程改革应以全新的教学理念和方法,加强对学生软件能力的培养,具体可从课程大纲、作业模式及考核评价3方面着手实施。

2.1 明确能力的课程大纲

图2 解决复杂工程问题的软件能力

在软件工程实践课程的改革中,可以适当修订软件工程实践课程教学大纲,力求在课程大纲层面,将教学内容落实于培养学生在复杂工程活动中解决复杂工程问题的软件能力,明确课程对专业毕业要求的支撑。修订后的软件工程实践课程教学内容,合计48学时,见表2。新的教学内容紧密围绕解决复杂工程问题的软件能力,加强了学生各项软件能力的训练,紧跟当前计算机学科和业界发展趋势,尤其加强了对现代软件工程新方法和新技术以及业界近年已经普遍采用的软件工程新技术、新方法和新工具的传授和训练。

表2 软件工程实践教学内容安排

2.2 关联能力的作业模式

软件工程是一门实践性很强的课程,对于新版课程教学大纲中要求的软件能力,学生难以通过单纯的理论知识课堂讲授掌握,课程需要通过作业训练学生解决复杂工程问题的软件能力。根据历届毕业学生的座谈与反馈、业界专家的调查座谈和问卷,课程教学团队在过去3年的工程教育认证持续改进中,依据“能力驱动、阶段考核、迭代优化”的原则,针对实践作业模式展开了新的设计,创新地安排了个人、结对和团队3种作业类型,见图3。每种作业类型有相应的作业内容,并对应具体的软件能力。全新的课程作业模式明确了作业与软件能力的关联,着重体现对学生在复杂工程活动中解决复杂工程问题的软件能力培养。相比原有的作业模式,新作业模式从单纯注重软件工程系列文档作业,转变为注重软件工程全方位能力锻炼的实践作业;注重现代软件工程工具在作业设计中的体现;从注重作业的期末验收转变为注重作业过程的持续性考查。全新的课程作业模式由易到难,全面、持续地训练学生的各项软件能力,培养解决复杂工程问题的软件能力,并依靠新的考核评价,迭代优化作业内容。此外,对于团队作业,课程教学团队从身边发掘实际需求,以真实项目激励学生,进一步拟定了过程化的时间规划。以2017—2018学年为例,软件工程实践课程的团队作业项目时间规划见表3。

2.3 持续迭代的考核评价

软件工程实践课程改革需要通过考核评价反映学生对于解决复杂工程问题的软件能力掌握情况。对此,课程教学团队在过去3年的工程教育认证持续改进中,变更了原有的软件工程实践课程考核要求,将以往单纯的考查理论知识变为现在以实际工程项目驱动,考查学生对解决复杂工程问题软件能力的掌握;将以往结果性单一考核变为现在持续性的过程考核和能力提升的确认,事先公布评分标准,再由助教对每一次的作业进行公开评分,并由此决定学生最终的课程成绩,体现学生能力的提升程度。

图3 软件工程实践作业与能力关联

针对软件工程实践课程的特点,课程教学团队改革了传统通用的教师授课清晰、PPT精美、按时上下课等课程评价指标。在评价方式上,借鉴业界及专家经验,转变传统的“评教”模式,贯彻全新的“评学”理念,以学生为中心,设计了新的软件工程实践课程调查问卷,用于每轮课程教学结束时征求学生的反馈意见。以作业内容为例,在每一轮教学结束时,课程教学团队均会总结经验和教训,迭代优化下一学年教学的作业内容。2017—2018学年的个人作业,相比前两年增加了个人编码训练和个人技术博客。此举一方面进一步加强对学生编码开发能力的训练;另一方面,针对学生在团队项目过程中学习掌握的新技术,累积沉淀形成技术博客,提高学生的软件技术水平。

表3 2017—2018学年软件工程实践课程团队作业时间规划

3 课程教学改革的意义

实践证明,软件工程实践课程的教学改革意义重大,效果显著。通过修订课程教学大纲,完善课程顶层设计,明确课程教学要培养学生解决复杂工程问题的软件能力。在此基础上,通过改变课程作业模式,明确作业与各项软件能力的关联,在“做中学”。通过一系列由易到难、持续不断的作业训练,全面训练学生的基础能力、专业能力和直接的软件工程能力,实现了课程对学生解决复杂工程问题软件能力的培养。在新的课程作业模式下,学生每周花费在课程作业的时间平均约18小时,一学期代码量人均 2 000余行。与此同时,每周花费时间长短以及代码量多少,与最终的成绩并不相关,影响最终成绩的是“质”而非“量”。此外,基础较弱的学生普遍反映入门较难,这也表明改革后的作业难度有所增加,从另一个角度体现出课程对于学生训练软件能力的价值。

通过改革考核评价方式,根据持续性的过程考核和学生课后评价结果,一方面反映学生对解决复杂工程问题软件能力的掌握,另一方面有利于课程教学团队总结教学过程的经验和教训,实现对课程的迭代优化,从而更好地为下一届学生服务。对在课程改革前和改革后两种教学模式下参加课程的学生进行课后软件能力调查,学生对自己在课程学习后的软件能力评价见表4。对比改革前后参加课程的学生在课后的自我能力评价结果,可以看出软件工程实践课程的改革具有明显的效果。

4 结 语

工程教育认证的核心理念是“以学生为中心、以产出为导向”,要求认证专业应着重培养学生解决复杂工程问题的能力。工程教育认证驱动了计算机科学与技术专业的持续改进。作为专业的核心主干课程,软件工程实践的课程改革,在3年的认证持续改进中,进行了重点推进和落实。软件工程实践课程改革,围绕培养学生在复杂工程活动中解决复杂工程问题的软件能力,实施了修订课程大纲、改变作业模式、改革考核评价方式等改革措施,创新地将作业与具体的软件能力关联。通过不断进行个人、结对和团队作业训练,有针对性地培养各项软件能力,并通过考核评价,反映学生能力的提升程度,迭代优化课程教学。相比改革前的软件工程实践课程,改革后的软件工程实践课程,紧紧围绕促进专业毕业要求的达成,坚持“以学生为中心、以产出为导向”,抓住针对学生解决复杂工程问题能力培养的“牛鼻子”,扎实做好课程教学质量和学生软件工程能力掌握的持续提升,促进毕业要求的达成,进而支撑专业培养目标的最终实现。

表4 学生课后软件能力自评平均得分

猜你喜欢

软件工程作业
《计算机辅助工程》征稿启事
禅宗软件
工业软件 自主创新
高速透平真空泵工程应用
作业
子午工程
即时通讯软件WhatsApp
我想要自由
三十六计第七计:无中生有
丰富多彩的Android软件