基于CDIO+OBE面向对象软件工程混合式教学课程设计
2019-08-06常镜洳贾跃石冬凌任政
常镜洳 贾跃 石冬凌 任政
摘 要:面向对象软件工程作为软件工程专业必修课,对学生工程知识、素质培养,以及发现、分析和解决问题能力的培养起到关键作用。针对目前面向对象软件工程教学存在问题,研究和分析了当前广泛开展的CDIO和OBE结合的教育模式和混合式教学方法,结合大连东软信息学院软件工程专业实际教学,基于CDIO+OBE和混合式教学理念对整个教学方案、方法和环节进行改造、优化,形成了以提高学生学习效果和自主学习性为目标、以三级项目为纵贯线、将课前-課中-课后有机串联结合的新的教学模式。
关键词:CDIO;OBE;混合式教学;面向对象软件工程
中图分类号:TP391.41 文献标识码:A
Abstract:As a compulsory course for software engineering majors,the object-oriented software engineering course plays a key role in students' engineering knowledge and quality cultivation,as well as the ability to discover,analyze and solve problems.In view of the existing problems in object-oriented software engineering teaching,this paper studies and analyzes the widely carried CDIO and OBE combined educational mode and blended teaching method.Combined with the actual teaching of software engineering majors of Dalian Neusoft University of Information,based on CDIO+OBE and blended teaching concept,the overall teaching plan,methods and links are reformed and optimized.It has formed a new teaching mode which aims at improving students' learning effect and autonomous learning with three-level project as the longitudinal line and a dynamic combination of pre-class,in-class and after-class training.
Keywords:CDIO;OBE;blended teaching;object-oriented software engineering
1 引言(Introduction)
随着新经济产业结构的不断调整,对软件专业人才的知识、能力等方面要求越来越高;从国内高校软件工程教育的现状来看,课程体系和教学内容难以跟上新经济时代软件工程的最新发展[1]。
CDIO由麻省理工等四所大学经过四年的探索研究,提出并践行的一种重要的工程理念[2],国内相关高校基于CDIO提出了自己的解决思路并落实在实践中,取得了一定成绩[3]。OBE是一种基于学习产出的教育模式,OBE教育理念具有重视定义毕业生品质、围绕预期学习成果开展教学活动、重视学生学习产出评估工作等特点[4]。混合式教学将在线教学和传统教学的优势结合起来的一种“线上”+“线下”的教学,其核心思想在于强调学生对知识的主动探索、主动发现、交互学习,以及对所学知识意义的主动建构[5]。
2 基于CDIO+OBE的混合式教学课程设计(Blended teaching course design based on CDIO+OBE)
依据大连东软信息学院软件工程专业实际教学,将从课程总体教学目标、设计方法与思路、课程预期学习效果、教学内容与要求、实践教学项目等部分,介绍基于CDIO+OBE的面向对象软件工程的混合式教学课程设计。
2.1 课程总体教学目标
面向对象软件工程课程教学目标从“知识、素质、能力”三个方面确定。(1)专业能力目标:通过本课程的学习使学生掌握软件工程的基本概念、基本原理,熟练运用面向对象方法学进行系统分析和设计,应用基本的软件项目管理的知识组织、管理软件项目。(2)工程能力目标:培养学生拥有完整的软件开发工程化思想,熟悉软件开发过程中各阶段的任务和目标,具有能够自行安排进度和进度控制的能力,熟悉软件开发过程常用工具的应用。培养学生的分析问题、解决问题的能力、团队合作能力,形成良好的软件工程师职业素养。(3)素质能力目标:通过本课程的学习,培养学生抽象思维的能力,阅读文档、口头和书面的表达能力,能够主动发现问题、分析问题,找到问题解决的方案。
2.2 课程设计方法与思路
本课程依据CDIO一体化理念和方法,以案例项目为背景引出理论知识,让学生在讲解过程中领会软件工程思想及基本原则对软件质量提高的影响,并能够切实应用基本方法解决具体项目的问题。与理论讲述同时展开,运用学到的知识,学生分小组自行选定题目,制定计划完成一个完整项目,并提交可运行代码。让学生将学过的知识融会贯通,应用到实践中解决实际问题。在此过程中始终“以学生为中心”的教学理念来组织教学实施过程。课程依据OBE成果导向的设计思路,从学生学习效果出发,组织教学内容,并结合混合式教学模式,利用微课、学校教学资源系统等工具,支持课前—课中—课后的学习支持和指导,并制定课程评价办法和课程持续改进措施。
2.3 课程预期学习效果
通过分析人才培养目标,从“知识、素质、能力”三个方面确定本课程的教学目标;以成果为导向的该课程的预期学习效果如表1所示,除了将课程教学目标、预期学习效果、CDIO 3级能力指标对应之外,还说明达成每个学习效果的培养路径和方法。
为了体现考核公平性,实践项目的考核老师根据评分标准给出小组的分数。由组长根据本组同学的贡献度,分配得分权重系数,要求系数间至少有0.1分差值。每名同学的得分为:本组得分*本人贡献度权重系数。
2.4 教学内容
结合课程学习目标和学习效果,根据面向对象软件工程的工程性特点,课程内容遵循以工程过程为主、项目管理过程为辅,要求理解和掌握面向对象的基础理论和核心知识;除此之外,与实践紧密相连的新技术和新工具也不应忽视,它们架起了理论和实践之间的桥梁,因此我们形成了如表2所示的教学内容框架。
在上述课程教学内容中,一方面注重面向对象根本性原理和演化规律,例如需求—设计—开发—测试—维护的开发方法;同时强调和关注新形态下的新技术、新方法、新工具,例如开发模型中敏捷开发、测试驱动式开发、基于GIT的码云管理工具等。
面向对象软件工程课程是一门综合性很强课程,为了将原理、方法和技术充分融入整个教学过程中,我们采用实际项目案例教学法,通过软件项目工程过程纵贯整个教学周期,从而达到培养学生工程思维模式目标和效果。
2.5 实践教学项目
为了提高学生的抽象思维、语言表达、团队交流等能力,我们选取课程三级项目驱动实践教学。项目驱动的实践教学是以项目为主线、实践为导向、任务为载体,把软件工程的原理、方法和技术内化在整个项目开发过程中[1],以团队协作的方式解决和处理实际问题。
实践项目实施过程中,老师主要作为引导者和启发者,充分调动学生的主动性和积极性;考虑到每位同学工作量,要求3—5人左右组建团队,按照敏捷式迭代开发过程,运用面向对象的技术和方法,开展软件系统的分析、设计、实现和测试,并获得有一定质量的软件产品;在这期间能够有目的性地运用辅助软件工具用以提高软件生产效率和软件质量。
2.6 课程考核和评价
由于传统的考核方式多以知识记忆为侧重点,依据课程的培养目标、考核重点和工程特性,我们考核方式包括形成性考核和终结性考核两种方式,课程总成绩(100分)由形成性考核成绩(50分×100%)和终结性考核成绩(100分×50%)构成。
形成性考核侧重学生学习过程、态度、文档编写和基础知识掌握;其中三级项目主要考核文档编写能力,因此分数构成主要集中于需求分析和软件设计报告。
3 面向对象软件工程混合式教学实施(Blended teaching implementation of object-oriented software engineering)
借助大連东软信息学院的课程资源管理系统和作业管理系统,实现“线上”+“线下”的混合式教学,将“课前预习”+“课堂互动”+“课后复习”有机串联起来,实现整合和碎片化学习、课上和随时随地学习、师生互动和生生互动学习的结合。
3.1 线上教学资源
依据面向对象软件工程开发过程,横向上将知识点分为软件工程概述、软件项目管理、需求确定、系统分析、系统设计、对象设计、软件实现、软件测试、部署与维护九个单元,纵向上包括PPT课件、微课视频、工程项目案例文档;除了基础理论知识MOOC之外,微课视频还包括码云项目管理平台、StarUML工具、PowerDesigner数据库设计工具、纸质界面原型演示、情节串联版样例等新工具使用或新方法讲解视频;依据CDIO思想,工程项目案例文档贯穿整个教学过程提供给学生参考和学习。
3.2 “课前—课中—课后”有机串联
课前要求学生利用线上PPT、微视频等教学资源,提前预习;课前将学校作业管理系统的当前二维码发送学生,学生通过手机扫描二维码进入预习答题和留言,教师通过手机随时查看预习情况和学生的留言反馈,通过答题数据和反馈信息分析学生对难点和重点的初步掌握情况。
上课时,根据学生的预习分析数据,以及学生的在线留言反馈,抽取出共性问题,通过在线解答、案例分析、小组互助等方式及时解决问题;授课过程中,利用学校的作业管理系统进行在线的限时练习或者阶段测试,快速、准确了解当前授课效果,并及时调整教学方案,以最大程度提高教学质量;项目实践课中,老师利用码云项目管理工具的系统管理员身份,及时了解每个项目小组的项目开发情况,利用issue实时进行项目评价和互动。
课后复习不仅让学生巩固当前知识,还可以为下节课的教学翻转做充分准备。每次理论授课后,老师利用作业管理系统发布本次复习题,通过设置任务关闭时间以督促学生及时完成复习任务。由于面向对象软件工程课程具有很强的工程性和综合性,在进行需求分析、体系结构设计、数据库设计、界面设计等知识讲解时,涉及JAVA WEB开发、交互设计、数据库、开发框架等先修课知识,通过翻转课堂形式,让学生以项目小组形式准备翻转教学材料,通过角色互换充分提高学生参与度和积极主动性。
4 结论(Conclusion)
课程组经过一年多的理论学习、实地调研、问题分析、课程设计与调整,通过每周集体备课制、学生阶段问卷调查、过程监控等方式,持续改进课程建设。从目标、结果、策略、过程等多个维度贯彻CDIO+OBE和混合式教学理念,形成了以提高学生学习效果和自主学习性为目标、以课程三级项目为纵贯线、将课前—课中—课后有机串联结合的新的教学模式。
参考文献(References)
[1] 刘强.基于OBE理念的“软件工程”课程重塑[J].中国大学教学,2018(10):25-31.
[2] 叶俊民,王敬华,李蓉,等.基于CDIO的面向对象软件工程实践教学模式研究[J].计算机教育,2017(8):109-112.
[3]康玲,熊耀华,石冬凌.TOPCARE-CDIO模式下软件工程专业教学质量保障体系的探索与实践[J].软件工程,2016(12):59-62.
[4] 顾佩华,胡文龙,林鹏,等.基于“学习产出”(OBE)的工程教育模式——汕头大学的实践与探索[J].高等工程教育, 2014(1):27-37.
[5] 陈朝晖,王达诠,陈名弟,等.基于知识建构与交互学习的混合式教学模式研究与实践[J].中国大学教学,2018(8):33-37.