孙歧峰 段友祥 李华昱 张俊三
(中国石油大学(华东) 计算机科学与技术学院,山东 青岛 266580)
2013年,我国加入《华盛顿协议》成为协议签约成员,标志着我国工程教育已与国际接轨。《工程教育认证标准(2015版)》的发布,标志着我国工程教育专业认证开始向成果导向转变。成果导向教育(Outcome-Based Education,OBE)是工程教育专业遵循的核心理念,已经形成了完整的理论体系[1-2],是全面振兴本科教育、追求“一流本科、一流专业、一流人才”目标的正确方向[3]。
随着“中国制造2025”“一带一路”“创新驱动发展”等国家战略的提出,中国石油大学面对新形势和新任务,结合自身办学历史和特色,明确“石油学科世界一流、多学科协调发展的高水平研究型大学”的办学目标[4]。软件工程专业作为学校专业布局中的重要通用专业,面对如何培养适应新经济发展的“新工科”人才、如何加强人才的工程实践和创新能力培养、如何让人才培养与国际接轨等问题,需要不断地深化教育教学改革。近几年,中国石油大学软件工程专业在“卓越工程师教育培养计划”和“工程教育专业认证”大背景下,对软件工程特色专业建设和目标导向的软件工程人才培养机制进行了有益的探索。
OBE教育理念的核心可以概括[5]为:反向设计、学生中心、持续改进,教学设计流程如图1所示。
图1 成果导向教育教学设计流程
OBE教育理念的本质是提高学生质量和加强能力培养。教学设计阶段,首先要根据国家及社会发展需要、行业发展需求、学校定位等因素明确培养目标,其次由培养目标确定毕业要求,最后根据毕业要求细分指标点构建课程体系,进而确定各个教学内容之间的相互关联关系;在实施阶段,根据教学要求确定教学内容和教学策略,遵循以学生为中心的原则,针对学习者的特点和学习内容的强度选择合适的形式、方法和手段,教学策略的选择应是达成课程目标的最佳模式;教学资源建设应满足不同进度、难度、时间和空间上的学习需求,从而对学习过程形成支撑;学习产出评价构建以学生为中心的教学质量评价体系,以衡量培养目标和毕业要求的达成度,并以此为依据调整毕业要求、教学内容、优化教学方法和完善教学资源。整个教学过程形成循环迭代并形成自我完善和发展的长效机制。
与传统教育理念不同,OBE教育理念认为[6]:培养目标的达成应以成果决定而不是进程决定,强调顶峰成果而不是累计成果;培养过程应以学生为中心,教师引导而不是教师主宰,强调知识整合而不是割裂,协同教学而不是孤立教学,合作学习而不是竞争学习;教育质量评价体系应以学生为中心,是包容性评价而不是分等级,达成性评价而不是比较性评价。
成果导向教育遵循的是反向设计、正向实施的原则[7-8],基于OBE理念的软件工程专业教学设计的关键是确定内外需求、培养目标、毕业要求、课程体系及教学内容之间的对应关系。
以“中国制造2025”“互联网+”“一带一路”“创新驱动发展”等国家发展战略的实施为时代背景,结合学校的办学历史和定位,制定软件工程专业的培养目标。本专业培养适应信息与软件领域的发展需求,德智体美全面发展,掌握坚实的数学、自然科学、工程基础和专业知识,具有创新意识和国际视野、团队协作和沟通能力、工程实践和终身学习能力、人文素养和社会责任感的高级工程技术人才。通过5年左右的锻炼,毕业生能够在信息与软件及相关领域成长为科学研究、工程开发、项目管理或技术应用等方面的骨干人才,达到如下要求:(1)具有合格的信息与软件及相关领域工程师的能力和素质;(2)能够独立从事信息与软件及相关领域的系统规划、设计、实现、测试和管理工作;(3)能够在一个科研、开发或管理团队中担任重要角色或承担核心任务;(4)能够通过继续教育或其他途径更新知识、提高能力,了解信息与软件领域新理论和新技术的发展趋势;(5)具有良好的社会责任感、人文修养与道德水准,有服务社会的意愿和能力。
根据培养目标,本专业毕业生应获得以下13个方面的要求:工程知识、问题分析、设计/开发解决方案、研究、使用现代工具、工程与社会、环境与可持续发展、职业规范、个人和团队、沟通、项目管理、终身学习、身心健康等。毕业要求对毕业生应具备的知识、能力、素质结构提出了具体要求,每一项毕业要求又分解为若干个指标点,每一个指标点都通过与之相对应的课程体系中若干门课程的学习而达成。由此,可以得到毕业要求、指标点以及支撑课程体系之间的对应关系实现矩阵。以毕业要求“3.设计/开发解决方案”和“5.使用现代工具”为例,具体毕业要求的具体描述、分解指标点及其支撑课程之间的关系矩阵,如表1所示。
表1 部分毕业要求指标点分解与实现矩阵
毕业要求是构建课程体系的依据,课程体系是达到毕业要求的支撑,毕业要求与课程体系之间的对应关系矩阵为重组和优化课程教学内容提供依据。软件工程理论是在软件工程师工程实践的经验总结和归纳基础上建立起来的理论体系,只有在工程实践环境下进行学习和实践才能真正领会其内涵。
以软件工程专业毕业要求为基础,将培养体系分为专业基础、专业课程、专业应用三个层次,专业核心课程群的结构如图2所示。与以往不同,课程组在构建软件工程课程体系时更加注重知识、能力、素质的纵向和横向关系,突出了实践课程对理论课程的支撑作用。横向以软件工程综合实践为主线打通软件工程系列课程之间的壁垒,纵向构建软件工程一体化实践平台,以串联不同层次之间的专业课(软件工程专业课程群规划,如图2所示)。
图2 软件工程专业核心课程群
经过多年的积累和不断的优化改革,课程组对程序设计、数据结构与算法等基础课教学已经形成了完善的课程教学体系和方法。这次重点对软件工程系列课程进行改革,将原有软件需求工程、软件工程过程、软件项目管理、软件测试与质量、软件工程实践5门课程的内容进行横向整合。软件工程系列课程的知识体系重构是根据IEEE计算机协会发布软件工程知识体系SWEBOK(Software Engineering Body of Knowledge)V3.0标准将软件工程内容划分为软件需求、软件设计、软件构造、软件测试、软件维护等11个知识域。这11个知识域的内容分布在5门软件工程专业课中。改革在教学课程体系规划环节上以软件工程综合实践为框架,按软件开发过程的顺序串联11个知识域,由课题组统一规划教学过程、安排学时。系列课程在第六学期安排同时开课,以软件开发过程为主线,由相关课程教师对知识域的内容进行讲解,以国际商业机器公司(International Business Machines Corporation,简称IBM)的RUP(Rational Unified Process,统一软件开发过程)框架为实践平台,并将授课地点由教室搬到实验机房,边学边练,将教学和实践有机融为一体。纵向上以毕业目标的达成为导向,软件工程课程群为核心,将不同层次的实践平台进行整合,形成了贯穿四年的一体化课程实践新体系,详细论述见表1中3.2。
软件工程课程群建设从培养目标层次把握课程内容的组织与实施,打破了知识点的归属性,最大限度地加强了课程之间的联系,优化了课程内容。
以达成培养目标和毕业要求为目标,课题组对软件工程专业课程体系进行了统一的规划和调整,课程及实施计划如图3所示。课程体系规划过程中坚持必要性、合理性和完备性的原则。必要性的原则,每一门课程是否需要开设取决于该课程对毕业要求达成是否具有支撑作用;合理性的原则,一项毕业要求的达成需要若干门课程共同支撑,不同课程需要从不同维度或层级对同一项毕业要求的达成给出不同贡献;完备性的原则,即所有必修课程所支撑的毕业要求集合应覆盖全部毕业要求。
注:深色代表必修课,浅色为选修课,不含通识教育课程。图3 软件工程专业课程实施计划图
统计结果显示,软件工程专业培养计划总学分为180学分,总学时为2 150学时,其中,选修45学分,占比为25%;实践环节40.5学分,占比为22.5%。
软件工程专业教学改革坚持以学生为中心,教学设计、教学过程、资源建设和教学评价等各个环节中紧紧围绕着学生要“学什么”“怎么学”和“学得怎么样”来进行。
课堂教学是教学实施的主要形式。传统的灌输型课堂以教师为中心,其优点是教学效率高,可以在有限的时间内按照统一的模式培养更多掌握一定工程技术的工具性人才,缺点是忽视了学生的主体地位,导致培养对象创新性不足、质量参差不齐、自我发展能力弱。OBE教育理念认为教学设计与实施应以学生为中心,在承认个体差异的基础上强调人人都能成功,强调知识、能力、素质三个层次全面发展。为了适应成果导向教育的要求,课题组在教学探索中逐步完成三个转变:
第一,强调学生的主体地位,实现从灌输课堂向研究型课堂转变。在教学过程中始终把学生放在中心位置。在这一过程中,学生是主动的学习者、知识体系的建构者、新领域知识的探索者,教师则是这一过程的参与者、引导者和推动者。教学过程中,教师更多地采用启发式、案例式、任务式等教学方法以激发学生的自主性、参与性和创造性,使学生从自己的认知结构和主观需要出发吸收新的知识,并将其纳入已有的知识体系中。教学各个环节应明确学习目标,使学生清楚地认识到通过努力一定能达到目标,从而促使其自主选择学习的时空和形式。教师要对教学目标、内容、方式、过程和评估等要素进行精心设计,营造自主学习的教学环境与教学氛围,引导学生完成各种教学活动并达到预期的教学效果。显然,这一教学模式的转变对教师的业务素质和教学水平提出了更高的要求。
第二,“学”与“练”相结合,从静态课堂向动态课堂转变。软件工程相关专业课大部分强调理论联系实际,只有通过实践才能完成知识内化的过程。在软件工程系列课程改革中,课题组在以SWEBOK知识体系为主线进行课程内容重组的基础上,将IBM Jazz作为实践教学平台,把RUP软件开发过程作为时间线索推进教学过程,并将教学地点从教室转移到机房,实现了教学和实践的有机结合。教学过程中,学生能够积极参与,主动交流,边学边练,使枯燥的理论知识能够快速转化为实践成果,取得了令人满意的教学效果。
第三,课内与课外相结合,实现封闭课堂向开放课堂转变。开放课程是课堂教学在内容与时空上的延伸,将学习空间由“教室”扩展到教室、实验室、图书馆等。在课程教学大纲中明确定义了课内学时和课外学习,课内外学时应该完成哪些内容,与毕业要求指标之间的关系是什么。以数据结构与算法课程为例:在树这一章节中,堆、平衡二叉树、哈夫曼树等知识点难度较高,是课内讲授的内容,树的相关算法在工程实践中的应用属于扩展知识,是课外调研内容;在树相关内容学习结束之后,要求学生实现一个文件版本控制软件,要求以3~5人为小组完成。这属于课外内容,需要进行相当的文献查阅才能够完成,难度较大,目的就是增强学生的自学能力、实践能力和团队协作意识。
OBE教育理念认为每个学生通过学习都能达到预期的毕业要求,但不一定同时或采用统一学习过程。因此,为满足不同层次的学生对教学进度、难度、时间和空间上的需求,构建多样的教育资源和学习形式是必要的。软件工程专业教学资源建设紧紧围绕核心课程群,以卓越工程师教育培养标准为导向,校企深度融合、引进先进理念和技术,构建了以“精品课网站+校企合作实训+行业软件应用”为骨架的多层次实践教学新体系(如图2所示),为软件工程专业培养目标的达成提供了有力的支撑。
通过多年的积累,课题组依托校级精品课建设已经形成了完善的基础课教学资源,包括“数据结构”“程序设计C++”精品课网站、在线学习、在线测验、在线交流与答疑平台等。教学资源丰富、形式多样,既有教师自行录制的知识点短视频,也有优选网络教学资源,如慕课、微课等,为学生自主学习提供了良好的基础条件。
通过深化校企合作,课题组在低年级的“程序设计实习”和“面向对象课程设计实习”环节中聘请东软公司具有多年工程实践和培训经验的工程师进行授课。实习中以真实的工程项目为案例,将过程分为“知识强化”“技能强化”和“能力强化”三个模块,按照软件公司的标准开发流程和管理模式进行,既提升了学生的工程实践能力,又弥补了教师工程经验少和软件工具知识更新慢的不足。
软件工程系列课程教学改革打破了原有课程之间的界限,强调整体目标的实现。课程组以教育部IBM和西门子专业综合改革项目为依托,共建基于 IBM Jazz 的“IBM软件工程实验室”和基于西门子 Teamcenter的“西门子软件工业化生产实验室”实训环境。软件工程综合实践采用IBM的RUP(Rational Unified Process,统一软件开发过程)为核心,结合企业的实际工作流程、最佳实践和实际案例,应用软件工程工具和环境涉及RUP、Rational Rose、CVS、Junit等,使学生能够掌握当前最先进的软件工程方法和技术。
通过贯穿四年的一体化课程实践平台的建设,对各个层次的实习内容进行了统一规划,以开展项目的形式培养学生应用专业基础知识解决复杂软件工程问题的能力,校企联合实训提高学生的专业技术能力和实际工作实践能力,通过参与学科竞赛、创新实验室、校企联合实践中心等形式培养学生的团队意识和创新创业精神,以国际先进的软件应用环境为依托提高学生的适应能力和国际视野。
与传统的终结性的教学评价方式不同,OBE教育理念的教学评价聚焦于学习成果。课程组从软件工程专业课程的性质出发对核心课程群的部分课程教学评价模式进行改进,突出了教学评价的诊断和反馈功能,逐步建立起多元和分梯次的动态评价体系。
第一,细化教学评价方法,提升诊断功能。在专业课程体系中,每门课程都有明确的教学目标及指标点,每一项教学内容都有其支撑的指标点。教学评价紧紧围绕教学目标展开,每一项评价内容都与课程目标指标点相对应。根据评价结果,能够计算课程目标指标点达成度,再根据指标点达成度计算课程目标达成度,进而可以定量地计算课程达成度。通过这种方法,不仅可以比较一门课程不同指标点的目标达成情况,还可以比较不同学年同一门课程的目标达成情况,从而找出课程目标达成的薄弱点,进一步调整教学策略和内容。
第二,突出教学评价的反馈功能。以往的教学评价主要以考试为主,考试通过就意味着课程结束。尽管考试结果反映出在学习过程中的问题,但也无法进行任何的弥补或加强。对于软件工程教学来说,理论知识必须转变成解决问题的程序代码才能证明真正学懂、会用。教学评价改革使程序和算法设计等基础类课程评价更多采用上机考试的形式,并逐渐减少笔试环节占的比重,避免了纸上谈兵,并且允许学生多次申请考试。机考题目直接对应课程目标指标点。题目不会做,要么理论不理解,要么编程能力不过关,学生心知肚明。对于出现问题的知识点能够继续学习、巩固,然后再次申请考试。这种模式更加强调了课程目标的达成,弱化了评价的对比和分级效果。
第三,逐步建成多元和分梯次的动态评价过程。评价的目的不是比较学生之间的差异,而是教学目标是否达到。学习的过程本身是一个状态不断变化的过程,梯次评价强调经过个人努力而取得的学习成果的有效性。教师根据每个学生能达到教学目标的程度,赋予不同的评定等级,并进行有针对性的评价和指导,学生依据评价结果对自我学习过程进行反思并继续自我完善,逐步达到课程目标。多元评价强调评价不应仅仅关注学生的考试成绩,还要注重考查学生综合素质的发展,包括学习过程中所表现出来的语言表达、学习策略、创新精神、团队协作等能力。
毕业要求达成度评价如图4所示。在每学期第一个月对上学期课程的以课程为单位开展评价,包括针对各个指标点的课程目标、教学内容、教学方式、考核方式及教学资源分配等方面的陈述和评估。毕业要求达成度计算由课程质量达成度(60%)、教师评价(20%)、学生自评(20%)三部分组成,课程质量达成度教学活动过程中取得的考试成绩统计得出,教师评价达成度是教师对毕业生能力和学习成果的主观评价和认识结果,学生自评达成是毕业生对自身能力的自我评价和认识。学院及系教学督导组对毕业要求达成度计算结果进行分析并反馈给课程组作为持续改进的依据。
图4 毕业要求达成度评价
合理的考核方式和完善的质量评价体系不仅可以有效发现教学环节中存在的问题,更是督促学生不断完善自我并达到培养目标的重要手段,是教学过程循环迭代自我完善和发展的基础和动力。
持续改进是OBE理念的三个核心之一,专业认证的过程就是一个持续改进的过程。持续改进涉及工程教育专业认证的7个方面,包括:学生、培养目标、毕业要求、持续改进、课程体系、师资队伍、支持条件等,如图5所示。
图5 持续改进的内容
软件工程教学改革将持续改进理念贯穿于工程教育专业认证的全过程,形成了“双循环”的持续改进模式,建立了学校、学院、专业层面的三级教学质量管理体系。“双循环”持续改进模式包括外部和内部两个循环。外部循环主要是以国家宏观需求为背景,以行业和企业需求为指导,建立在毕业生跟踪反馈机制以及定期的社会评价机制基础上,通过评价培养目标的达成度与符合度来实现对培养目标的持续改进。内部循环主要是根据中国石油大学(华东)的办学思想和定位以及教学主体的需要对毕业要求的改进。软件工程专业在学院和专业层面上建立教学质量和课程体系设置的内部监督与定期评价机制,通过评价毕业要求的达成度与符合度来不断改进教学活动和修正毕业要求,以实现对毕业要求的持续改进。
教学质量的持续改进是贯穿专业培养和课程教学过程的运行机制。通过近几年的努力,逐步建立软件工程专业教学质量监督与管理机构,形成学校、学院、专业的三级教学质量管理体系,并对每一部门、每一岗位或教师在质量管理体系中应当承担的角色和履行的责任进行了明确的划分,使教学质量管理形成“计划(Plan)—执行(Do)—检查(Check)—处理(Action)”的闭合循环,通过改进和解决质量问题,使学生培养质量呈螺旋式上升。
总之,持续改进的过程始终坚持提升学生培养质量为核心,持续改进培养目标使其与内、外部需求相符合,持续改进毕业要求使其与培养目标相符合,持续改进教学活动使其与毕业要求相符合。
在工程教育专业认证的背景下,我校软件工程专业对2013级、2014级、2015级学生实施持续的基于OBE理念的教学改革和探索,在专业建设和学生培养质量方面取得了显著的成效。
由于倡导以学生为中心的教学模式,学生课下需要进行更多的自主学习,课上有了更多的交流机会。通过4年的学习,学生对自己的业务能力更加自信,对自己的专业认同感增强,对自己的职业规划目标更明确。调查显示,一年级约有30%的学生自主组队参加 “ACM程序设计”“齐鲁软件大赛”等竞赛,三年级约有80%的学生参加过至少一次各类程序设计及创业、创新竞赛,在校期间人均编写代码行数达到13 000行以上。近年来,软件工程专业获得校级优良学风班的数量明显提高,学风改善效果明显。通过近几年学生转专业情况统计数据可以看出,低年级的学生转出人数逐年减少,外专业优秀生源转入人数有所增加,学生对软件工程专业的认同程度显著提高。
通过软件工程专业课程教学改革过程中,突出实践课程对专业课学习的支撑作用,同时通过深化校企合作和引进先进的软件平台,学生工程实践能力和创新意识明显增强。数据统计显示,2014级软件工程专业学生获批 “大创” 项目13项(国家级2项),“齐鲁软件大赛”获奖15项 (一、二等奖3项),ACM获奖2项 (国家银奖1项,省银奖1项),申请软件著作权24项,参加各类比赛并获奖的学生比例达到30%,被认定科技创新学分学生人数多次名列全校第一。
软件工程专业2013级就业率98.75%,2014级就业率100%,同时进入国际、国内著名IT公司工作的人数逐年增加。同时毕业生就业企业的反馈调查显示,企业对学生质量满意度高,并对学生自主学习、团队合作能力和适应能力给予了充分的肯定。