CDIO模式运用于《Windows应用设计》课程的教学方法探讨
2013-08-15陈海珠
陈海珠 郑 卉
(重庆电子工程职业学院软件学院 重庆 401331)
0 前言
CDIO工程教育模式是近年来国际工程教育改革的最新成果。自2000年起,麻省理工学院和瑞典皇家工学院等四所大学组成的跨国研究获得Knut and Alice Wallenberg基金会近2000万美元巨额资助,经过四年的探索创立了CDIO工程教育理念。CDIO分别代表构思(Conceive)、设计(Design)、实现(Implement)和运作(Operate),它以产品研发到产品运行的生命周期为载体,让学生以主动的、实践的、课程之间有机联系的方式学习工程。CDIO培养大纲将工程毕业生的能力分为工程基础知识、个人能力、人际团队能力和工程系统能力四个层面,大纲要求以综合的培养方式使学生在这四个层面达到预定目标。CDIO以完整的项目研发为载体,系统地培养学生专业技术知识、创新思考能力、职业能力和态度、团队协作和沟通能力,让学生以主动的、实践的、课程之间有机联系的方式学习工程。
CDIO具体目标就是为工程教育创造出一个合理的、完整的、通用的、可概括的教学目标,重点将个人的、社会的和系统的制造技术和基本原理相结合,使之适合工程学的所有领域。大纲的最大价值就是其基本原理简单,有很强的可操作性和广泛的适应性等特征,而且可被任何工程教育项目所采用。CDIO的应用将有助于工程教育课程的设置及教育方法的研究,而且还可以推动考核标准的制定,为我们现行的高等工科教育提供一定的借鉴。CDIO大纲上说明,主要分为三个大块:技术知识与推理、个人与职业的技能和人际技能。CDIO大纲的内容可以概述为培养工程师的工程,明确了工程师的培养目标是为了人类生活的美好而制造出更多方便于大众的产品和系统。据此,大纲要求工程院系的毕业生要能掌握工程原理,能致力于工程产品的改进,能够发展成为一个适应现代化工程需要的合格工程师。
CDIO的理念提出了系统的能力培养、全面的实施指导、完整的实施过程和严格的结果检验的12条标准,具有很强的可操作性。在CDIO的12项标准中,有7项体现了CDIO方法论区别于其它教育改革计划的基本特点,它们最为关键,而另5项则为补充标准。
本文就CDIO中与具体课程教学相关的几项,通过过程观察法,来进行课程教学方法的探讨。
1 CDIO在课堂教学中的运用
将CDIO的理念运用到软件开发的人才培养,可以帮助我们明确人才培养的目标,并对整个培养过程提供了理论依据,并且目前已有许多高校成功实施的范例可供学习,培养出能够适应我国信息化发展的软件开发工程师。
新加坡理工学院基于CDIO模式对项目教学进行改革,以项目为主线,把应达到的知识目标、能力目标和素质目标融入到项目教学中。其项目分为三级,一级以介绍本专业核心内容、调动学生兴趣为主,二级旨在加强核心课程的学习与应用,三级为单门课程内为增强该课程能力与理解而设。
汕头大学在CDIO的基础上提出了EIP-CDIO,即是一种以工程能力培养为目标的工程教育模式。通过项目设计将整个课程体系有机而系统地结合起来。其特点是:所有需要学习和掌握的内容都围绕项目设计为核心,形成有机的整体。通过导论性的基础课程,从开始阶段就将工程实践引导入门,在教学计划和教学实践中围绕项目设计将相关课程有机联系起来,通过贯穿专业学习全过程的CDIO项目,让学生在学习专业知识的同时直接体验高级设计过程,在知识的学习和应用之间形成良性互动。
清华大学结合CDIO理念,进行了创新性工程教育的探索。通过对《数据结构及算法》和《数据库系统原理》两门课程的实践经验,提炼出一个以科系整体为单位进行考量的知识传播和创造模式。其模式分为三层:首先,根据相关理念来构思教学大纲并确定学生分组规则;其次,使用开发的互联网信息技术工具,加强师生互动学习;最后,课程环境演化为知识交换市场,分享学生的共同学习成果,并展示设计中的创造性。
2 CDIO运用于《Windows应用设计》课程
《Windows应用设计》课程是软件技术专业的一门核心专业课程,对软件开发工程师的培养具有十分重要的意义,本课主要使用C#语言开发Windows应用程序,即要求学生熟练地掌握系统所提供的控件的使用方法,开发窗体应用程序,并能根据实际要求开发自定义控件和组件。
传统的课程教学过程一般采用以下几个步骤:(1)课堂讲授理论;(2)实验课程验证程序;(3)课后布置简单习题,加强练习;(4)期末纸质试卷统一考核。传统课程的教学优点在于:符合学生一贯学习的习惯,学生对学习过程驾轻就熟;其缺点在于:并不能培养学生解决问题的能力,学生不能清楚的领会该门课程在整个课程学习中的地位,知识点间相互割裂,课程间不能有机联系,不能理解工程项目的过程,最直接的体现是不能将该门课程中学习的技能应用灵活的运用到解决实际问题中。
为解决这个问题,我们将CDIO模式应用于《Windows应用设计》这门课程的教学活动,在整个课堂设计中,我们以12项标准为指导,进行了如下实践。
首先,明确学习的目标,突出学习重点,培养面向对象编程的思维方式。该门课程不同于面向对象程序设计语言这样的基础语言课程,其重点并不在基本的数据类型和标准的三大结构(顺序、选择和循环),和掌握理解面向对象编程的概念和思维方式,明确了这一点,在课程的教学之初,首先要强调类的概念,进一步强化学生之前学习到的内容,让学生试着用面向对象的思维去考虑问题,解决问题。为了激发学生的学习兴趣,我们使用了“角色扮演”的方法。具体做法是这样的,首先由学生自由组队(最多三人一组),成立虚拟的工作室,并选出相应的“组长,负责人”等角色,然后进行调研,选择想要开发的项目,此时教师根据学生选择的项目,扮演“用户”,提出软件需求,并协助学生完成功能设计。整个项目实现周报制,即一周一报,内容包含组员的一周工作目标和工作任务完成情况,并由组长签字确认周报的有效性。
其次,体现“设计”,具备了面向对象编程的思维方式后,应该通过一些工具,简单的如纸、笔,复杂一点的如一些软件工具VISIO等,让学生将设计过程中考虑的问题尽可能实例出来,例如用例图、时序图、系统类等画出来,在这个过程中,将传统学习中理解较为困难的一部分用图形化的方法呈现,而传统教育,通常将该课程和VISIO、UML等相关课程完全割裂开来,采用CDIO模式,将课程有机融合,做到“你中有我,我中有你”。而实践也证明了,这样融合的教学方式,在有限课堂中给学生传递了比较大的信息量,但由于课程的互补,在其他相关课程上,学生的学习压力明显减小,而且也能够自然地理解课程间的相关性。
再次,重点“实现”。有了前两个过程的铺垫,学生的学习兴趣已经被提升,迫不及待地想将自己的项目实现,此时再介绍具体的实现方法,无疑是“雪中送炭”,学生兴趣高昂,且有具体的项目作为依托,变传统的灌输为自动的“我要学”,课堂中集中介绍实现方法,课后学生主动上网、去图书馆、查论文解决自己项目中遇到的问题。例如:传统教学过程中的“文件读写”内容一般在比较靠后介绍,介绍过程也是举一些简单读写的例子,学生学习效果并不好,在CDIO模式下,学生的项目中一般都会希望将数据进行保存,此时介绍“文件读写”的时间提前,且学生活学活用,运用到了自己的项目中。在这个阶段中,要对学生的阶段性代码提出修改意见,例如:出现了大量的类似代码时,再带领学生回顾“封装”概念,出现代码的复用时,集中回顾“继承”概念,再延伸出“多态”概念,并要求学生运用解决问题。
最后,进入运作阶段。经过了前一阶段的实现,大部分的学生项目还处于“闭门造车”阶段,这个时候,给学生提供一个集中展示的机会,也是一个交流的机会,将学生们写的代码展现在他们自己的面前,通过对比找差距、找问题,并要求学生对代码进行再优化。此时,整个过程的文档化材料也已经形成,考核有了依据和资料,同时学生通过文档的回顾,总结整个开发过程,为后期课程中项目的开发提供了第一手的学习资料。
3 结束语
CDIO模式下的Windows应用设计课程教学方法的改革实践,通过系统的能力培养、全面的实施指导、完整的实施过程和严格的结果检验,使学生的学习主动性增加,学习态度也有了比较大的改观,对比传统的教学,取得了比较好的教学效果。
[1]查建中.论“做中学”战略下的CDIO模式.高等工程教育研究.2008.3: 1-6
[2]陈文杰,任立军等.新加坡理工学院基于CDIO模式的项目教学改革.职业技术教育.2009, 35: 91-93
[3]顾佩华,沈民奋等.从CDIO到EIP-CDIO——汕头大学工程教育与人才培养模式探索.高等工程教育研究.2008, 1: 12-20
[4]顾学雍.联结理论与实践的CDIO——清华大学创新性工程教育的探索.高等工程教育研究.2009, 1: 11-23