软件工程专业多课程协作项目驱动教学模式研究

时间:2022-05-30 11:46:50

软件工程专业多课程协作项目驱动教学模式研究

摘要:结合实际教学体验和教改体会,提出软件工程专业多课程协作项目驱动教学模式,阐述该教学模式的基本思想和教学实施方案,介绍湘潭大学软件工程专业实施该教学模式的案例。

关键词:软件工程;课程协作;项目驱动教学

2001年,IEEE的计算学科教学规划把计算学科划分为计算机科学、计算机工程、软件工程、信息系统、信息技术和其他有待发展的学科等子学科,这标志着软件工程这个名词作为与计算机理论相对应的各种软件实践技术的总称,在世界范围内得到公认。我国在2001年底推出了示范性软件学院计划,把软件工程专业定位在面向软件产业培养高素质的工程型软件实用人才。

目前,国内开设软件工程专业的高校众多,但在教学过程中,很多学校仍存在这样的情形:部分教师长期工作在高校,理论水平较高,但缺乏实际工程经验,讲授课程仍偏于理论;部分教师虽然认识到社会的真实需求,并通过项目驱动等方法来开展工程实践类课程教学,但是,教学内容往往局限于自己所承担课程,而不能从软件工程的全局角度对知识进行讲授,由此,导致学生知识体系离散,对软件开发过程的整体把握能力不强。

针对以上情况,本文提出多课程协作的项目驱动教学模式,对该模式的基本思想和教学实施方案设计进行阐述,并对该教学模式的实施案例进行介绍。

1 多课程协作项目驱动教学的基本思想

所谓项目驱动教学法,就是在建构主义教学理论指导下,按照“案例导向、项目驱动”的设计思想,以项目开发为主,课堂教学为辅,模拟软件企业先进的软件项目管理和开发过程,进行应用软件的开发实践。

项目驱动教学是当前高校软件工程专业比较推崇的教学模式,在工程实践类课程的教学上,多数高校都不同程度采用该教学方法。但是,在教学实践中,我们发现一些问题,例如,不同的教师虽然能够按照软件开发流程和规律授课,使内容之间保持密切联系,但在教学实践中,由于主讲教师的不同或学习阶段的不同,知识常常被割裂。项目驱动教学法对增强学生学习积极性、提高学生实践能力有明显效果,但是,在课程中引入过多不同的项目,并在项目间频繁切换,学生思路容易混淆,另外,项目问的重叠也给学生带来了不必要的负担,学生很难从全局角度深入把握项目的完整流程,传统项目驱动教学如图1所示。

软件工程是一门综合性、实践性很强的专业,其知识体系各环节之间存在紧密的联系。我们认为,加强教师教学协作与交流,通过少数知识面覆盖广泛的典型项目,将软件工程专业中各实践类专业课程跨学期串联起来,可以成倍放大项目驱动教学的功用。这种教学方式也可以加强学生对软件开发过程的整体认识,使其充分、综合地运用所学专业知识,提高学生解决现实复杂问题的能力,此即多课程协作项目驱动教学模式的基本思想。基于该教学模式的教学进程情况如图2所示。

与常规项目驱动教学相比,该教学模式最大的特点在于:所采用项目是经过特殊设计和优化的,除具有突出的可供课程教学的特定知识点外,更加注重项目包含知识点的广度与延续性,力求关联多个学期不同课程的教学。在实践类相关课程采用该教学模式后,教学进程主要以项目开发流程为主,弱化学期的概念,以往在同一学期内并行的课程,会出现同学期内区分阶段、错开教学的情形。

2 教学实施方案设计

软件工程专业多课程协作的项目驱动教学,对高校传统的按课程、分学期进行知识讲授的教学模式进行较大的改动,因此,在实施过程中,整个教学方案要作出相应调整以适应新教学模式的特点。软件工程领域各种技术快速发展,而传统教学模式却存在严重滞后的弊端,所以,采用该教学模式时要对整个教学实施方案进行持续的改进,紧跟软件工程的发展步伐。教学实施方案构成如图3所示。

下面,我们对本文教学模式实施方案中的各构成部分作介绍。

2.1 课程分析

在引进项目驱动法进行教学实践的时候,不同课程的知识点经常会有交叉,在教学中,不同教师的课程引进不同的项目,并在项目间频繁切换,学生的思路容易混淆,另外,项目间的重叠也给学生带来了不必要的负担。为实施多课程协作的项目驱动教学,我们有必要进行相应的课程分析,建立新的课程体系。

课程分析关键要解决以下几个问题。

1)课程性质分析。

分析总结课程基本性质,抽取适合项目驱动教学的工程实践类课程,适当增加实践类选修课程的比例,使教师和学生有充分的选择自由度和余地。

2)课程的时序拓扑关系。

根据软件开发过程的实际情况确立课程教学的时序关系,厘清课程之间的关联性与结合点。

3)课程的分类与组合。

将课程分类,每个分类代表了一个专业方向,课程按不同分类进行组合以便统筹教学。要注意的是,分类之间的部分核心课程可能存在重叠。

在课程的具体设置上,可以以专业应用能力为主线,将理论、技术和应用结合起来构建课程体系,采取“平台+模块”的课程体系结构,平台即公共课程、专业基础和专业核心课程平台,模块即在平台基础上进行专业方向分流。

2.2 项目库建设

项目的设计是项目驱动教学的基本要素,项目选取的优劣直接影响到后续教学的开展和教学效果。项目设计要根据教学要求和特点,选择合适的项目任务,使之具有可操作性,要对整门课程及各教学单元进行教学目标分析,以确定所学知识的“主题”,并按项目的内存规律进行整合。

为真正实现多课程的项目教学,我们需要建设一个知识覆盖面广、题材丰富的教学项目库,所采用项目除按照上述标准进行构建外,还需进一步优化,在具备可供课程教学的特定知识点外,更要注重项目包含知识点的广度与延续性,以关联多个学期不同课程的教学。

在实际操作过程中,直接通过一个项目覆盖所有相关课程的教学是不现实的。对此,我们可以采用教研小组的形式,共同设计数帚精简的、能涵盖多门课程内容的典型项目,各门谍程的教师都针对该项H内容进行本门课程的教学,由于项目是由多门课程的教师共同研讨出来的,各门课程的教学实践活动都由此项目统一驱动,以保证知识的整体性和连贯性。

在条件允许的情况下,学校应与企业联合,引入适合教学的真实项目,或聘请具有丰富实践经验的工程技术人员参与项目设计和开发指导,这对项目库建设是非常有益的补充和完善。

2.3 教学反馈与交流平台构建

反馈与交流是教学过程中非常重要的环节,在反馈与交流中,教学计划和进程得到完善并进行微调,以切合每一次具体的教学。

传统教学反馈与交流主要表现为口头反馈交流、习题讲解、阶段测验、期末测验等方式,这些方式都存在信息传递的滞后性,不利于交流反馈信息的统计分析和及时响应。为了实现更高效的交流,我们要引入先进的信息化技术手段,即通过信息化于段实现教学任务的、完成任务的在线提交、评价,以及 教学双方的互动交流,构建一个高效的教学反馈交流平台。

教学反馈与交流主要包括3类。

1)师生之间的互动交流:

2)任课教师之间的交流;

3)学生之间的交流。

2.4 考核评价体系建设

传统的课程考核主要是对教学结果的考核,对过程的考核则相对不足,单纯的结果考核存在偶然性。新的教学模式需要以项目开发为中心,建立新的考核评价体系,考核的同时注重过程和结果。

具体的考核评价方案可以采用阶段性任务考核与项目成果评价考核结合的方式进行。最终考核评价等级将由阶段考核评价与项目成果考核评价的结果按一定权重比例计算取得,过程和结果的同时考核,保证了学生持续学习的动力,同时,也保证了指导教师对整个教学过程的持续引导,并做到全程可控。

考核评价方式以成果展示、项目成员答辩和指导教师代码审查的方式进行,以功能实现完整度、代码规范性、UI体验、性能等作为关键评价指标。

2.5 具体教学实施

上述各项前导工作完成以后,我们可以开始实施具体教学。在实施过程中,我们通过4个任务模块来完成整个教学进程。完整的教学实施过程如图4所示。

其中,阶段性项目教学与反馈、教研组交流与评判两个步骤将经过多次的循环迭代,也就是说,项目的开发过程将细分为多个子阶段,每个子阶段由教学、实践、反馈交流、评价等环节作为一个短周期,通过多个周期的快速迭代实现项目开发的最终任务。

3 教学实施案例

湘潭大学软件工程专业从2007年开始探索多课程的项目驱动教学改革,并针对新的教学模式设计了一整套与行业发展接轨、强调学生工程实践能力培养的课程体系,并付诸实施。

在教学实施过程中,我们通过自行开发的辅助教学平成了网上项目任务、学生网上选题与分组、在线作品提交、教师在线评审、用户在线交流等功能,每个项目都根据软件开发进程划分为若干子阶段,每一个子阶段都设置了任务完成结果提交的截止时间,超时者无法提交所完成的作品,这保证了教学过程的严谨、有序。教师可以直接从网上下载或查看学生所提交的作品,并进行项目评审、打分。

项目开发中的各子阶段都有多次反馈与交流,因此,整个项目是构建在各子阶段可靠的质量保证之上,因此,教学项目整体完成率较高。最终评审统计项目完成率一般保持在70%以上,其余学生也都能在不同程度上完成项目开发任务。

在该教学模式实施过程中,学生感到教学过程生动、内容充实,对软件工程的理解以及软件开发过程的整体把握能力有很大提高,就业竞争力得到提升。

4 结语

软件工程专业多课程协作项目驱动教学改善了不同课程各自为政实施项目教学的状况,特别设计和优化的项目将不同学期、不同任课教师的专业相关课程有机结合起来,在实践中学习、在学习中实践有效激发了学生的学习积极性、主动性和创造性,同时使学生系统体验了软件开发过程的完整流程,使他们的知识结构能够适应软件行业发展的需要,由此,学生能更快、更平稳的融入实际工作环境,与行业需求无缝连接,为日后的事业发展打下良好的基础,这样的教学效果充分切合了教育部对软件工程专业的定位。

上一篇:基于知识背景的计算学科课程内容组织 下一篇:一门计算机课程的形成性评价应用策略