基于CDIO的软件T程专业培养体系建设

2013-04-29 00:44毕忠勤单美静
计算机教育 2013年8期
关键词:产学研实践教学

毕忠勤 单美静

摘要:基于CDIO高等工程教育思想,结合教育部“卓越工程师教育培养计划”以及上海市产学研研究计划,对软件工程专业的教学体系、实践体系、师资队伍建设等进行研究,构建更加符合“卓越计划”培养目标和实施纲要的一体化课程培养体系,以培养理论与实践相结合、技术与市场相融合的软件工程创新性人才。

关键词:CDIO;实践教学;卓越工程师教育培养计划;产学研

0、引言

软件工程专业的培养目标是培养具有创新意识、符合市场需求的实用型软件人才,强调培养学生的软件开发能力和应用能力。一个优秀的软件工程师不仅要牢固掌握既有的软件理论和基础知识,还需要具备对软件行业和软件项目的深刻理解和掌控能力,必须具备根据市场需求不断创新以及终生学习的能力。调查发现,很多软件工程专业的大学生普遍认为专业课教学应当在基础理论讲授的基础上,更加注重与项目案例、工程实践、学科发展前沿相结合,同时迫切希望自身的软件开发和设计能力、自主创新能力、团队协作能力以及人际交流能力得到培养。然而,传统的专业培养理念很少涉及这些,即使有部分专业课程涉及软件开发和设计能力的培养,这些课程也是各自独立,无法构成一个完整的和互相补充的培养体系。

2010年6月,教育部提出在全国高校实施“卓越工程师教育培养计划”(以下简称“卓越计划”),该计划旨在培养和造就一大批创新能力强、适应经济社会发展需要的各类型高质量工程技术人才,为国家走新型工业化发展道路、建设创新型国家和人才强国战略服务,促进高等教育面向社会需求培养人才,全面提高工程教育人才培养质量。“卓越计划”的提出为各高校培养应用型人才提供了更大的舞台,对创新型人才的培养提出更大挑战。如何有效地实施“卓越计划”,提高工程型技术人才的培养质量,是很多工科专业亟需研究的课题。软件工程专业的培养目标与教育部“卓越计划”的培养目标完全匹配,如何按照“卓越计划”的培养要求,研究软件工程专业的教学体系、实践体系以及师资队伍建设,是软件工程教育者必须深入思考的问题。

1、CDIO工程教育理念

CDIOm工程教育模式是近年来国际工程教育改革的最新成果。CDIO是构思(Conceive)、设计(Design)、实现(Implement)和运作(Operate)4个单词首写字母的缩写,该模式以现代工业产品从构思研发到运行改良乃至终止废弃的生命全过程指导工程教学过程,提出系统的能力培养教学大纲,包括4类一级能力、17组二级能力以及73种具体能力,涵盖学生的工程基础知识、个人素质和发展能力、人际团队交际能力以及工程系统适应和调控能力。CDIO理念不仅继承和发展了欧美20多年工程教育改革的理念,更重要的是系统地提出具有可操作性的能力培养、全面实施以及检验测评的12条标准。2005年,瑞典国家高教署(swedish National Agency for HigherEducation)采用这12条标准对本国100个工程学位计划进行评估,结果表明新标准比原标准适应面更宽,更利于提高质量,尤为重要的是新标准为工程教育的系统化发展提供了基础。迄今为止,已有几十所世界著名大学全面采用该教学理念并完善教学大纲,获得了良好的教学效果和社会效应。

2、基于CDIO的软件工程专业培养体系建设

软件工程专业的知识域包括软件需求、软件设计、软件构造、软件测试、软件维护、软件配置管理、软件工程管理、软件工程工具和方法、软件质量,这些知识域囊括软件开发从构思研发到运行改良乃至废弃终止的整个生命周期。软件工程专业课程内容普遍具有理论知识少和实践内容多的特点,同时要求与产业标准、行业规范紧密衔接。这些特点决定软件工程专业的课程体系设计可以借鉴CDIO工程教育理念,以培养学生的工程实践能力。

2.1 课程体系研究

软件工程是一门交叉性的工程学科,将计算机科学、数学、工程学和管理学等基本原理应用于软件的开发与维护中,其重点在于大型软件的分析与评价、需求规格说明、设计和演化,同时涉及管理、质量、创新、标准、个人技能、团队写作和专业实践等。在软件工程理论课程体系的制订方面,一方面要考虑对学生理论知识的培养,另一方面更需要考虑对学生实践动手能力的锻炼。在借鉴CDIO工程教育理念的基础上,我们形成图1所示的软件工程课程体系整体架构。

该课程体系以“双师型”的师资队伍和“企业化”的实践平台为基础架构,在课程安排上借鉴CDIO的4个一级能力体系培养目标,在课程教学方法上强调CDIO的工程教学理念,强调每门课程都遵从“构思-设计-实现-运作”4个环节,同时在课程设置上参考软件工程专业的专业规范以及软件行业对软件人才的需求。

整个课程体系的设置过程主要遵循以下原则。

1)“面向对象”为主线。

面向对象技术是一种新的软件技术,从20世纪60年代提出概念到现在,已发展成为一种非常成熟的编程技术,并且逐步成为目前软件开发领域的主流技术。它不仅适用于程序设计,同时还成为软件开发领域的一种方法论。面向对象使计算机解决问题的方式更符合人类的思维方式,更能直接描述客观世界,消除计算机世界和客观世界的鸿沟。可以说,只有掌握了面向对象的编程思想和方法论,才能成为一名合格的软件工程人才。

软件工程专业的课程体系不仅介绍多种面向对象编程语言,还开设有关面向对象方法学的课程。主干课程都以面向对象为中心,利用面向对象的方法,采用面向对象的编程语言,解决现实世界中的问题。主要开设的课程有Java、C#、J2EE等面向对象的编程语言,面向对象分析与设计、软件工程、软件过程、软件测试等面向对象的方法学课程,还有Java实训、游戏设计实训等实训课程。

2)“编程语言”不断线。

编程语言的学习是一件相对比较枯燥的事情,不仅要求学生具有一定的数学基础以及一定的逻辑思维能力,还要求学生能够持之以恒。学生只有不断地编程和调试程序才能提高自己的逻辑思维能力和程序编写能力;只有不断编程实践,才能更深入地了解数据结构、一些经典的算法、编程技巧、设计模式。

针对上海电力学院软件工程专业学生自主学习能力相对较弱以及软件技术发展迅速的现状,我们在课程体系建设中保证每个学期都有1门与编程语言相关的课程。从第1个学期到第7个学期,分别开设c语言程序设计、高级程序设计Java(1)、高级程序设计Java(2)、数据结构(JaVa)、J2EE、Java程序设计实训、Net程序设计、游戏设计实训等8门编程语言课程。

3)“课程实践”不断线。

上海电力学院培养应用型人才的成功举措是注重在教学过程中培养学生的实践能力。在软件工程专业课程体系建设中,我们同样采用这一措施,针对各个学期不同的专业课程设置,分别对应地开设为期1周或2周的课程设计。这些课程设计的开设都遵循“系统性、实践性和工程性”3个原则,要求不仅帮助学生巩固理论教学内容,还帮助学生系统地掌握软件开发的工程性特性,把每个课程设计都当成一个工程,从“构思-设计-实现-运作”4个环节开展实践。

2.2 教学模式研究

为了培养卓越的软件工程人才,我们在基于CDIO工程教育理念进行课程体系设置的同时,还需要从教学方法、手段等方面进行改革,保证在教学过程中贯彻CDIO的教育理念。

1)项目式驱动的一体化理论教学。

软件工程是一个注重实践的学科,如何在教学过程中有效地引入实践内容是一个非常值得研究的问题。实践内容一方面能够巩固理论知识,使其简单易懂,另一方面还能够让学生对理论教学内容感兴趣并活学活用。在项目驱动式教学过程中,教师要始终以学生为中心,起到组织和指导作用。在整个教学过程中,教师利用情境、协作、会话等学习环境要素,充分发挥学生的积极性、创新性和主观能动性。

项目驱动教学法的基本思想是将工程的概念引入教学中,把教学内容抽象为实践项目,但教师在项目的设计过程中要把握如下几个原则:①项目的设计要有可行性;②项目的设计难度要适中;③项目的设计要有综合应用性。例如,在面向对象分析与设计的教学过程中,笔者始终贯彻项目驱动式的教学思想,在理论教学中以教学管理系统为项目案例,讲解面向对象的分析方法、UML的基本概念以及Enterprise Architect软件的应用;在综合应用阶段则利用电力营销系统作为案例,综合所有的概念以升华知识点;在课程实验阶段,要求每个学生选择一个自己熟悉的软件系统并对该软件系统进行面向对象分析。

2)注重个人素质和团队合作能力的培养。

具有个人素质和团队合作能力是对现代大学生进行培养的基本要求,但在教学过程中如何同时做到这2方面能力的培养却让很多老师为难,特别是团队合作能力的培养,经常出现一个团队只有1~2个学生动手,而其他学生无所事事的情况。针对这种情况,在课程实验过程中,教师可以要求每个学生独立完成一个题目,而且题目内容与其他同学的内容不能重复;而在课程设计中,教师可以要求团队协作并实施组长负责制,同时加强过程监管,真正做到团队协作,人人动手。

2.3 实践基础设施和师资队伍研究

有了良好的课程体系和先进的教学方法,如果没有良好的实践教学平台和优秀的师资队伍,那么一切都是空谈。

1)“企业化”实践平台建设。

现有的很多高校在软件工程专业实践教学平台建设方面普遍存在2个问题:①每门课程实践平台相互独立,不构成统一的体系,特别是很多学校大多只有c、C++、Visual Studio 2008、Java、J2EE等编程语言环境,而真正对软件工程专业的项目管理理念和工程思想很有帮助的实践教学平台却很少,如Enterprise Architect统一建模软件、Visual Source Safe源代码管理等软件工具,使得培养出来的学生只懂得编程,却对辅助编程的工作平台一无所知;②学校课程实践平台与软件行业严重脱节,很多毕业生普遍反映在学校学到很多的理论知识和软件工具,但是到了公司后还要重新学习大部分知识,原因在于大学开设的课程以及课程实践都是独立的个体,没有形成一个完整的软件开发体系。

基于以上2个问题,我们将在软件工程课程实践平台建设方面,加强与东软、上海浦东软件园内高科技IT企业的合作;根据CDIO的教学环节合理设置实践教学内容,建设与企业普遍采用的软件开发环境相一致的“企业化”实践平台。

2)“双师型”师资队伍建设。

教师在教学过程中主要起到“引导学生入门、指导学生学习”的作用,如果教师在实践方面不合格,那么培养出的绝大部分学生都不会成为卓越工程师,因此为了培养优秀的软件工程师人才,各高校必须加强理论和实践都要硬的“双师型”师资队伍建设。在软件工程课程体系建设过程中,我们计划借助“上海高校教师产学研践习计划”平台,根据软件工程专业课程教学的需要,有计划、有目的地指派专业教师进企业学习与锻炼。目前,软件工程专业已有3名教师参加通用电气(中国)有限公司的产学研践习,并成功地在学校搭建SmallWorld软件平台,指导学生参加“涉电”以及GIS方面的监控软件开发。

3、结语

软件工程专业作为一个成立历史尚短的专业,在课程建设、培养方案等方面还有很多的工作需要开展。笔者在著名的CDIO工程教育理念指导下提出一些切实可行的方案,为软件工程专业的建设提供有力支撑,为培养更加优秀的软件工程人才提供保证,但CDIO工程理念的实施需要全面的、立体化的支持环境,如何构建一个良好的支持环境是有待深入研究的课题。

猜你喜欢
产学研实践教学
精益求精产学研 继往开来朝阳人
完善转化机制 推动产学研融合
纺织摘奖项目产学研居多
茶学专业校企合作实践教学探索
《电气工程毕业设计》 课程的教学设计
高职院校商务礼仪课程教学改革探索刍议
《数据库高级应用》教学创新方法研究
学前音乐教育专业产学研人才培养模式探讨