融合CDIO-OBE的双线程交互式教学模式探索与应用
2018-09-17韩家新卫红春王武习
王 宏,于 晓,韩家新,卫红春,王武习
(1.西安石油大学 计算机学院,陕西 西安 710065;2. 西安石油大学 研究生院,陕西 西安710065)
0 引言
工科专业是应用型本科院校的主体,担负着培养高级应用型工程人才的重大任务,但工科专业原有的人才培养方向、课程体系建设、实践环节安排、授课团队配置、教学过程管理和考核评价方式还难以适应这一转变,致使培养出的毕业生实践动手能力差、市场竞争力不足,与经济社会发展对工程人才的质量要求差距较大[1]。
1 现状与问题
以软件工程专业为例,人才培养中出现的主要问题有以下几方面。
(1)理论讲授时间多,实践环节安排少,忽视专业本身特点。软件工程是典型的工科专业,工程性和实践性很强,特别强调动手能力的培养,而过少的实践课时和过浅的内容安排导致学生难以将理论应用到实践过程中,使能力培养效果大打折扣。
(2)教学体系流水化,培养过程无节奏,跟不上人才需求趋势。基于灌输式理论授课和被动式实验模仿的教学体系常常滞后于行业发展,培养过程依序平推,缺乏以案例为纽带、松紧有致的互动式设计实践环节,更难与企业中的软件项目开发过程合拍。
(3)理论与实践两张皮,交互融合不充分,未体现理论指导作用。软件工程专业不仅交叉课程多而且融合要求高,如果不进行多课程联合施教和综合实训,课堂上的理论讲授就会流于表面,体现不出理论对软件开发过程的指导作用。
(4)孤立授课少衔接,协作教学无抓手,难达到专业产出目标。软件工程人才培养是一个多维度的知识传授和能力形成过程,只有打破课程界限,整合教学资源,组建协作团队,将多维度教学融会到统一的软件项目开发过程中,才能达到专业人才产出目标。
2 双线程交互式教学模式构想
CDIO关注工科教育中的工程化主动性和实践过程完整性,OBE则更加关注以学生中心、目标导向和持续改进[2-3]。两者既有重叠部分,又有观点差异[4],但同时也存在着很大的互补空间,因此需要融合CDIO和OBE的核心思想,通过理论实践融合式的培养流程,以CDIO的工程化教学形式实现OBE期望的高级工程人才。
具体到应用型本科教育中,就必须要明确对毕业生的能力要求,对4年学习过程进行通盘考虑,将理论知识讲授和实践能力培养融合起来,不断开辟理论教学与实验训练的融合节点,促使学生学会使用所学知识分析和解决实际问题,激发学生的主动性和创造性,大力提升其专业素质和实践能力,从而顺利完成从理论学习到实践能力的过渡。融合CDIO-OBE的双线程交互式教学模式由6个联系的核心部分组成,如图1所示。
图1 双线程交互教学模式的核心结构
从图1中可以看出,在CDIO-OBE工程教育理念指导下,设置优化协作课程群,建设创新性实践示范课程,构建工程化教学案例平台,借力契合行业需求的学科竞赛,并通过双线程交互式教学流程使这些教学方式交互联动,形成一个横跨理论教学与设计实践、融合课堂讲授与现场指导、贯穿专业教学所有环节的软件工程应用型人才全周期培养范型。图1中的楔形区域是在双线程交互式教学中选择的融合交互节点,这些节点是理论实践融合式教学的重要依托和发力点。
3 协作课程群设置与优化
针对软件工程专业理论知识体系和实践能力要求,可以设置2类课程群。
1)侧重理论的课程群。
基础理论群,包括数字逻辑、离散数学、编译原理、操作系统等课程;大类基础群,包括计算机组成原理、计算机网络等课程;专业理论群,包括软件工程导论、信息系统分析与设计、软件案例分析等课程。
2)实践为主的课程群。
开发技术群,包括程序设计基础、数据结构、面向对象程序设计、工程软件设计与实践、软件建模技术等课程;工程应用群,包括数据库原理与应用、软件体系结构等课程。
4 双线程交互式教学流程设计
4.1 教学环节线程化
线程交互式教学模式中,借用计算机软件中的线程概念,将理论传授与设计实践抽象成两个侧重点不同但贯穿整个专业教学的线程,通过对线程间交叉衔接与交互渗透的精心组织,在若干个阶段性协作课程群支持下,采用融合交互节点的双线程交互式教学流程,从而为构建有机融合的CDIO一体化教学奠定坚实基础。
融合CDIO-OBE的双线程交互式教学模式如图2所示。在图2中,为实现技术应用型高级专门人才的培养目标,按照软件工程的专业要求,分别设置理论传授和实践培养两个线程,每个线程包含数个不同类型的课程群,为在双线程推进中实现理论与实践融合的目的,特别选择一些教学环节作为融合交互节点,并针对各环节的教学内容,组建相应CDIO-OBE综合教学团队以保证融合交互节点的教学效果,同时构建工程化教学案例平台为理论实践融合式培养提供支持。
从图2中还可以看到,融合交互节点在4年教学过程中,重心不断向实践线程迁移,在此过程中,理论知识对实践活动的指导作用越来越深入,抽象的概念原则也一步一步融入具体的软件开发实践中,右上至左下的4个黑色粗箭头体现这一转变过程。
4.2 交互环节选择
在双线程交互式思想的指导下,先期选择课程设计、实践性课程、生产实习、校外实训和毕业设计作为融合教学节点,在实践和理论两个教学线程正常推进的情况下,通过设置协作课程群、组建CDIO综合教学团队、进行实践项目针对性指导等创新方式,不断强化学生运用专业知识解决实际问题的能力,从而使学生深切了解“学以致用”的工科专业价值取向,掌握主流软件开发方法和工具,不断积累开发经验,提高参加创新实践活动的积极性。
图2 融合CDIO-OBE的双线程交互式教学模式
在上述常规的融合教学节点取得成效的情况下,学科竞赛和科研项目也被纳入学生知识与技能的融合教学中。
4.3 教学组织方式探索
为保证双线程交互式教学流程正常推进,教学组织方式改变如下。
1)教学过程由流水式向波浪式转变。
依序平推的实践教学环节难以对培养效果进行阶段性的成果检查和评估,也体现不出实际软件开发中的进度要求和紧张节奏,致使教师和学生均认为实践环节是相对放松的时段。实际上,卓有成效的实践环节才是将理论应用于实践的最好场合,因此在这些环节上,必须让教师和学生从思想上“紧”起来,从情绪上“热”起来,从精力上“动”起来,形成具有波峰和浪涌的波浪式教学氛围,最大限度地发挥实践环节的作用。
2)课程资源由“各自相继为战”向“实践教学会战”转变。
如何使各课程讲授知识能更快地指导实践?如何使学生充分了解各个课程知识是怎样指导自己实践活动的?会战是一个可行的思路,“实践教学会战”则是会战思路在工科专业实践教学的一个创新应用。
会战前必须做好准备工作,包括选择合适的实践环节、确定教学会战主题、协调相关课程师资、妥善安排实践环境等。
3)评价重点由静态知识测试向动态实践能力转变。
理论教学与能力培养脱节的重要原因是对教学效果的考核还停留在纸面答卷或静态分析阶段。对于工科专业来讲,针对特定需求和现实情况,在理论的指导下拿出可行技术方案并使用专业技能实现它,才是最贴近产业人才需求的[5],因此必须将对实践成果的评价提高到一个显著的高度,从而引导学生重视实践锻炼,培养自己动手解决问题的能力。
在软件工程专业教改中,将教学成果评价体系分为3个层次:专业大类基础课的试卷静态考试、软件工程理论课的主题分析考查和软件设计实践课(环节)的成果动态答辩。通过评价体系的渐次演进,不断将学生的关注点从纯粹的专业知识学习导向为用理论指导实践。
4.4 创新性实践示范课程建设
工程软件设计与实践课程是本次专业教改先导和融合CDIO-OBE的双线程交互式教学模式的核心节点,在工程教育专业认证要求的“课程—能力”矩阵[6]中占有重要位置。
该课程是一门实践性非常强的课程,需通过课堂讲解和大量动手实践才能取得实效,因此,在教学方法上应大量使用多媒体手段为学生展示程序代码和设计效果,在课时分配上也向实践环节倾斜,达到26/64,对于一些章节甚至直接放在实验室进行教学。此外,该课程还需要大量的软件工具和实践案例,鉴于此,专业教学团队已收集、筛选、整理总数超过800个的课程课件、综合教程、项目案例、技术标准、软件工具等资料,并在校内BB平台发布,成为学生动手实践的有力帮手。在课程协作上,由于该课程与Java程序设计、数据库原理与应用、软件建模技术、信息系统分析与设计等课程联系密切,因此各授课教师要针对课程任务要求,结合所授课程知识给学生以针对性的指导。
考评方式改革是该课程建设的另一大特色。课程注重阶段性的综合考评,整个课程大体分为内容衔接并逐次递进的3个部分,每阶段开始时先将本阶段需要完成的设计任务告诉学生,让学生带着任务和进度要求自由组成团队进行学习和实践,每阶段完成时进行结果考核,考核不采用书面答卷方式,而是通过设计结果展示与小组(个体)答辩相结合的方式进行,既能够考查开发水平,又可以评价工程能力。课程考评整体流程如图3所示。
从图3可以看出,对学生实践能力的考查贯穿于课程推进的全过程,学生边学习专业知识,边使用这些知识指导自己完成每个阶段的个人或团队任务,进而对CDIO的所有要素都有了解[7];同时,也特别注意以OBE要求的指标点为重点[8],在学生完成任务的过程中要求CDIO-OBE综合教学团队的教师给予针对性指导,大大提升教学效果。
课程教学中特别注重对学生综合运用所学知识进行软件项目设计能力的培养,从而促进学生软件编码和工程实践能力的大幅提升,表现为以下几方面。
(1)学生通过这门课程能将所学多个专业课程的知识点串联起来,而不再感到只是支离破碎的枯燥概念,并将其融入实际软件项目的需求分析、总体设计、团队协作、编码实现、软件测试及文档编写的全过程中,进而深入了解现代软件项目开发需要掌握的各种技能和职业素养,从而加深对软件工程专业相关知识的理解。
(2)通过自由分组、共同完成考查题目的形式,不仅教会学生如何提高自己的实际编程能力,而且培养学生的团队协作能力,为学生融入现代软件开发过程提供有益的尝试。
图3 课程考评整体流程
(3)通过项目完成过程中师生多次指导和交互,既能帮助学生完成一次工程意义上的完整编程实践,又能让各课程教师对如何指导学生将理论应用于实践有更深的领悟。
4.5 工程化教学案例平台构建
为保证双线程交互式教学流程的顺利推进,使学生充分掌握现代软件工程的方法、工具和过程,我们搜集、筛选和整理近百个适合进行理论联系实际教学的软件开发案例并部署到服务器上,构建工程化教学案例平台,有力配合相关课程的教学,如软件开发类的课程在教学案例平台的支持下,已经实现项目驱动下的多课程协作教学,针对特定的软件系统开发任务:信息系统分析与设计,指导学生进行需求分析和体系结构设计; 软件建模技术,指导学生将需求分析和软件设计通过建模的方式展示出来以便交流;数据库原理与应用,帮助学生在需求分析基础上设计数据库结构; Java程序设计,为实现软件系统提供具体编码手段;工程软件设计与实践作为融合节点,指导学生如何使用已掌握的编程技术实现一个完整的软件系统,它既是软件开发课程组群的终结点,又是学生进入专业生产实习环节的起点。
4.6 契合行业需求的学科竞赛组织
学科竞赛是提高学生实践能力的一个重要途径。考虑到软件工程的专业特点,选择和组织学科竞赛时应依照以下3个原则进行。
(1)优先选择能体现工程化的综合性竞赛项目。通过参加这类项目,学生会获得完整的项目构思、系统设计、编码实现与项目运营经验[9]。
(2)尽量参与学科竞赛中的企业命题项目。通过参与这些竞赛项目,一方面能够开阔学生的技术视野,另一方面也可以检验专业课程实践的成果,还能面对面地建立校企合作项目。
(3)选择能体现团队协作的项目。教改中有意组织学生通过自由组合参加一些团队协作的竞赛项目,并安排富有责任心、性格开朗的青年教师融入开发团队中,通过实际竞赛项目增加学生对软件项目中团队协作重要性的理解。
5 结语
融合CDIO-OBE的双线程交互式教学模式,是一套课程内容衔接合理、能力培养环环相扣、教学形式丰富多样的软件工程专业培养方案与模式,是提高学生工程实践能力的有力推手,激发了学生对专业基本理论的学习兴趣,提高了学生参与实践教学环节的积极性,也使学生对软件工程专业价值取向有了进一步了解;同时,经过较长磨合之后形成的双线程协同交互教学机制,不仅教会了学生将这些知识应用到实际软件开发中的方法与过程,也使得专业教学团队的实践教学能力走上一个新台阶。
目前,工程教育专业认证倡导的以学生为中心、目标导向、持续改进等理念反映了OBE的本质特性,给工科类专业的教学改革带来新的机遇和思路。后续,我们将围绕工程教育专业认证要求,继续完善融合CDIO-OBE的双线程交互式教学模式,为实现应用型高级专门人才的培养目标提供有力保障。