前言:寻找写作灵感?中文期刊网用心挑选的新工科人才培养的软件工程课程改革,希望能为您的阅读和创作带来灵感,欢迎大家阅读并分享。
摘要:为了有效地达到工程教育与新工科建设要求,对《软件工程》课程进行改革实践研究,培养面向变化与未来发展的创新人才,从而满足新技术、新经济、新产业发展人才需求。课程教学基于软件产品构建,融非技术类教学与技术类教学于一体,以解决非技术性教学难题。采用与华为合作的协同育人混合式教学,加强实践教学环境建设,探索大规模网络开发课程(MassiveOpenOnlineCourses,MOOC)学习方法。从软件工程实际要求出发,逐步建设相关软硬件环境,将开发流程、文档模板、评审标准相融合形成实践指导和评价方式,满足学生求知、增能、成才需求。
关键词:教学改革;新工科教育;工程认证;软件工程;能力培养
0引言
《软件工程》作为软件工程专业的核心必修课,讲解现代软件工程的概念、方法和技术,内容涉及软件过程、开发管理、需求建模、设计实现和测试维护等。面对不断发展的软件和社会需求,课程不断进行着建设和教学改革。其中,不少课程结合MOOC进行学习方法改革[1-5]。自2017年以来,各高校纷纷响应教育部倡导的新工科建设与工程认证[6-10],结合自身特色进行了各具特色的新工科建设规划与实施方案,完成创新人才培养目标[11-13],满足学生求知、增能、成才需求。该课程有效地融合了MOOC和新工科建设目标,课程中强调软件工程的根本性和永久性原则,关注软件系统的复杂性工程问题求解,要求学生实践迭代化开发方法,进行实际项目管理、开发和运营。以创新能力培养为导向进行以工程实践为主的课程教学建设,以学生为本,分层次和多元化进行实践和创新能力培养。目标是让软件工程专业的学生能够独立定义问题、自主学习应用知识、设计求解方案,熟练使用软件工程流行的支撑工具,完成软件工程生命周期相关任务。云南大学软件学院的《软件工程课程》是软件工程专业核心必修课程,3学分,54学时。课程开设于2003年9月,已开设15年,迄今授课学生数超过1500人,经历了云南大学精品课程、云南省精品课程、教育部-英特尔精品课程、国家级精品资源共享课程、中国大学资源共享课程建设历程,在师资队伍、教学设计、教学案例和实验项目等方面进行了大量积累。所在软件工程专业获得云南省卓越工程师项目和国家卓越工程师项目,课程结合卓越工程师培养目标,注重培养实践能力强的工程人才。课程参考国际著名软件工程英文教材[14],在科学出版社完成软件工程与需求工程教材出版[15-16]。与软酷网合作进行慕课资源建设,指导学生按组进行软件系统开发,让学生完整地体验软件工程专业基础理论,建立起软件开发工程概念、原则和习惯,培养学生分析问题、解决问题,以及团队协作、谈判沟通等能力。
1现有问题分析
软件工程具有技术性和工程性强的特点,学生需要在实际的“动手做”和“真正练”中体会和掌握它的思想和技术。原有课程教学中,学生很难理解抽象介绍的基本原理,与实际工程实践要求差距明显。在以往软件工程教学中,课程实践仅仅是提供一个软件开发项目及相关文档要求,缺少软件工程的过程管理和环境支撑建设;没有开发经验的学生习惯性地采用非工程的方法,以突出个人技巧为主要目标,软件过程杂乱很容易导致项目开发失败。因此,在整个教学过程中,始终贯穿标准规范和支持工具,建立支持小组式开发的软件工程环境,为学生真正实践提供有力支持。
2成果导向教学流程改革
《软件工程》课程目标满足新技术、新经济、新产业发展的人才需求,培养面向变化与未来发展的创新人才。为了有效达到工程教育与新工科建设要求,课程教学基于软件产品构建,融非技术类教学与技术类教学于一体,以解决非技术性教学难题[17-20]。具体采用与华为合作的协同育人混合式教学,探索MOOC学习方法,课程评价改革。从软件工程的要求出发,逐步建设相关软硬件环境,将开发流程、文档模板、评审标准相融合形成实践指导,满足学生求知、增能、成才需求。
2.1华为云合作协同育人混合式教学
课程改革依托华为云进行软件工程课程建设,开展混合式教学改革,在教学中贯彻工程教育理念,通过与企业合作培养学生实践能力。基于华为云平台进行课程讲授和交流,将理论实践有机衔接、学校企业实时连接。依托华为云平台,不断建设实践案例库,完成实践过程的支持服务,将基本原理、企业案例、关键技术与工具等有机结合,使得软件工程基本知识和原则讲授与软件工程实践有机结合。在教学过程组织上,强调理论与实践相结合。采用基于项目驱动的教学模式,以一个典型的软件开发实例作为授课主线,在软件工程方法论的指导下,一步步完成系统需求挖掘、系统需求确定、系统体系结构设计、详细设计开发,系统实现,以及系统有效性评估等开发流程,并将软件工程-能力成熟度模型(CapabilityMaturityModelInte⁃gration,CMMI)和项目管理等知识融合到项目开发中,降低课程内容的抽象性和难度,提高学生学习兴趣。利用面向软件开发者的云端开发环境,支持在云端创建工作空间,在线编写代码、智能提示、代码调试、代码检视、代码提交、配合代码检查并修改代码缺陷、代码片段(示例代码)搜索等。《软件工程》课程探索依托华为云的教学实践模式,为学生提供实践培训,推行工程教育模式,让学生经历软件工程过程中各环节,建设高校产学合作协同育人项目。课程秉承产教融合的发展理念,充分发挥华为云资源在软件工程领域的独特优势,进行信息交互和沟通合作,有效搭建了教学合作的便捷通道。以企业岗位能力、素质要求为目标,将企业的职业道德和职业精神融入课程全过程,并在课程中加强企业所需的能力模块学习,产教深度融合,实现教学水平全面提升。课程坚持校企合作、产教融合的理念,不断健全校企合作项目建设,创新课程实践模式。混合华为云,让学生在CloudIDE中编写代码,对代码进行在线管理,在线配合代码检查并修改代码缺陷、搜索示例代码等。根据华为云选择的“技术栈”类型不同,学生可选择不同对应“模板”,创建项目名称,利用仓库地址拥有权限的代码仓库,实践配置管理中的代码仓库,从代码仓库中获取具有权限的分支。按照企业人才培养方案实施授课指导,帮助学生提高实践操作技能和专业知识水平。邀请企业资深开发人员开展讲座,并与学生进行讨论,学生通过文献查阅以及与软件企业人员的直接交流,体会当前软件工程业界的真实案例和最佳实践。课程实践让学生通过项目实践了解软件生命周期模型,熟悉常见软件过程模型,掌握需求分析、设计、测试等软件开发阶段中的常用工具与实用方法,体验实践项目开发过程,以及项目管理与质量保证的工具和技术。以综合应用开发能力和创新能力培养为导向,以学生为本,分层次、多元化培养,将课程与实践紧密结合。
2.2基于MOOC课程建设
《软件工程》课程基于MOOC突出“教”与“学”相结合,利用网络课程和扩展资源加强师生之间的交流和学生之间的协作,发挥网络教学优势,引导学生根据个人兴趣和实际项目需要进行自主式学习。与软件公司合作,充分利用公司的网络教学平台和实用案例,引导学生主动积极地思考,以团队为单位进行合作。通过软件工程MOOC的教学活动,驱动教师以调动学生学习兴趣和能力培养为主,激发学生学习积极性、主动性和创造性,进行教育思想转变的教学培养创新。课程以启发式教学和实践教学为主,采取提问法、案例法、场景模拟法和小组讨论法等方式培养学生独立分析问题、解决问题的能力以及创新能力。慕课建设以每小节8~16分钟讲授软件工程基本概念、原则与方法。
2.3课程评价改革
为了培养学生独立分析问题、团队合作、解决问题能力以及创新能力,全面改造原课程的评价体制为总成绩=平时成绩(20%)+期中评估(20%)+大作业(60%)。课程大作业要求学生以开发小组形式协作完成软件系统,建立阶段性评审、产品和运营模式,进行软件开发过程管理和风险评估。针对大部分学生不擅长主动寻找问题并提出自己独到见解的现状,大作业要求学生在系统环境下自主选择问题和创新性地提出问题解决方案。从软件工程要求出发,逐步建设相关软硬件环境,将开发流程、文档模板、评审标准融合在一起,改变学生以往突出个人技巧的杂乱过程。通过大作业实践要求学生具备以下能力:通过阅读教材和资料,做好软件开发准备工作——自学能力;借助计算机以及学生所学程序设计语言和数据库原理,开发一个项目——动手能力和对不确定事物决策时的首创精神与主动积极性;能够运用软件工程理论对项目开发进行初步分析判断——分析能力、系统思维能力;学会撰写各阶段的文档报告即遵循国际标准提交各阶段文档——表达能力;对各自负责的模块通过以前所学知识实现——设计能力;软件开发以小组为单位进行,以小组成员合作方式实现该项目——团队合作能力;培养与提高学生科学素养——实事求是的科学作风、严肃认真的工作态度、主动研究的探索精神。以项目为实施形式,以校内外实习基地为依托,最终落实CDIO的全部过程——工程实现、领导能力、企业管理能力和创新思维能力。
3结语
软件工程专业积极响应教育部倡导的新工科建设,结合软件工程课程特色,以软件工程新工科人才培养目标为导向,进行了课程改革。采用与华为合作的协同育人混合式教学,逐步建设一体化的软硬件环境,为学生搭建平台、创造机会和提供实践教育。将开发流程、文档模板、评审标准融合在一起形成实践指导,探索MOOC学习方法,基于软件产品构建开展教学,融非技术类教学与技术类教学于一体,建立成果导向的改革课程评价体系,最终满足学生求知、增能、成才需求。
作者:康雁 李浩 柳青 单位:云南大学