CDIO教育理念在课程项目设计中的运用
2010-12-31金伟祖潘璐黄杰
计算机教育 2010年11期
摘要:因工程教学的特性和可操作性,构思、设计、实现、运作(CDIO)教学模式日益受到关注和重视。作为对教学改革的探索,我国高校普遍推行了课程项目。笔者结合软件工程教学实践,提出了CDIO教育理念在课程项目设计中的运用。
关键词:构思、设计、实现、运作;工程教学;课程项目;CDIO
我国高校教学一贯重视知识传授,绝大多数还停留在以知识讲授为主,教学目标、内容和手段缺乏对学生能力的培养体系。个性心理研究表明,尽管能力和知识具有密切联系,能力是在掌握知识的过程中发展起来的,但两者截然不同,不能划等号。理想的智育应该具有开放性,注重实践性与生活相联系,与社会相沟通,在实践中活学活用知识,同时把这种活的知识变成能力。只有当学生在社会生活的时间中获取知识,巩固知识,运用知识时,才能把知识化为修养,注入社会,铸就人格,同时也才能真正逐步形成改造生活和社会的能力。在工程教学中,如果将知识与能力培养混为一谈,培养的学生能力就不够全面,严重脱离实际需要,毕业进入企业后,需要花费很大精力适应企业环境。因此广大教师要认真反思,勇于探索和改革现有教学模式。
CDIO是构思(Conceive)、设计(Design)、实现(Implement)和运作(Opemte)的缩写,CDIO工程教育模式是近年来国际工程教育改革的最新成果。2000年,美国麻省理工学院、瑞典查尔姆斯技术大学、林克平大学以及皇家技术学院四所高校进行了工程教育的探索研究,创建了全新的CDIO工程教育理念,并成立了以CDIO命名的国际合作组织。CDIO将工程毕业生的培养目标分成工程基础知识、个人能力、人际团队能力和工程系统能力四个层面,在注重培养学生扎实的工程基础理论和专业知识的同时,努力将教育过程放到工程领域的具体情境中,经过近似于实际工程场景的实践训练,造就新一代高水平工程师。CDIO理念不仅继承和发展了欧美20多年来的工程教育理念,更具有可操作性。迄今为止,已有几十所世界著名大学加入了CDIO组织,按CDIO模式培养的学生受到社会和企业的普遍欢迎。
课程项目作为工程课程的有机组成部分,日益受到广大高校和教师的重视,对于强化学生的项目实践能力、自学创新能力、团队合作能力和交流表达能力具有极大的促进作用,受到了企业和学生的一致好评。但课程项目的设计还缺乏标准化、规范化,运用CDIO理念进行课程项目设计,可以明确发展方向,进一步推进课程项目向纵深发展。
1 COIO内容标准
根据CDIO研究成果,全面实施及检验测评的CDIO标准可以归纳为12条标准,具有很强的可操作性。
(1)标准1:以CDIO为基本环境。
全面采用CDIO教育理念。学校使命和专业目标要反映CDIO理念,把构思、设计、实施和运行作为工程教育的基本内容和要求。将CDIO作为一种产品生命周期模型,成为工程教育的框架及实施模式,实行技术知识和能力的教学实践,体现工程专业领域的本质。

(2)标准2:学习目标。
学习目标必须使学生个人能力、人际能力和对产品、过程及系统的构建能力获得锻炼和提升,保证这些学习成果与项目目标的一致性,并获得领域专家的验证。通过经历从项目构想、设计、实施到运作的全过程,让学生提高能力,获得必要的技能,以面对未来更艰巨的挑战。
(3)标准3:一体化教学计划。
个人能力、人际能力和对产品、过程和系统的构建能力要反映在教学培养计划中。培养计划的设计要考虑各学科之间的相互支撑,也要明确地将基本个人能力、人际能力和对产品、过程和系统构建能力的培养融于学科课程学习中。
(4)标准4:工程导论。
要开设工程导论课程或导论内容,主要介绍相关产品和系统构建在工程实践中的框架模式,为学生的学习指明学习方向。要激发学生对核心工程领域知识的兴趣和动力,还要阐述个人除知识以外必须具备的基本能力和人际交往能力。
(5)标准5:设计一实现经验。
课程实施计划必须包括两个或以上的设计一实现经验,一个是基本水平的经验,另一个是高级水平的经验。在课内外活动中创造各种机会,让学生参与到产品、系统的构思、设计、实施和运行环节中。在项目的早期提供一些更简单易懂的产品和系统,到后期逐渐传授难而复杂的系统设计一实现经验,有助于学生在课程学习和项目活动中将所学知识和技能进行合并,提高综合能力。
(6)标准6:工程实践场所。
工程实践场所和其他学习环境至关重要,能帮助学生开展动手活动,获取初步的社会经验,通过实践提高从事产品、过程和系统建构能力,以便今后更好地胜任系统构建和产品支持工作。实践场所的构建要以学生为中心,学生可以自由进入,更易于相互交流。
(7)标准7:综合性学习经验。
综合性学习经验将学科学习和工程职业训练融合在一起,使教师更有效地帮助学生应用学科知识,并获得基本个人能力、人际能力和产品、过程和系统构建能力,更好地适应工程领域的需求。
(8)标准8:主动学习。
在CDIO环境下,采用主动学习和经验方法学习可以促进专业目标的达成。实践证明,学生更积极地参与思考新的概念或创意并做出反馈,比一味接受更有价值。学生不仅可以学到更多知识,也能意识到自身需要和渴望学习的知识,提高学习积极性,并形成良好和长久的自我发现和独立学习习惯。
(9)标准9:教师能力的提升。
要提升教师基本能力、人际能力及产品、过程和系统构建能力。许多教师在某一研究领域知识丰富,成绩突出,但缺少足够的商业和工业实际项目开发应用的经验,同时知识快速更新换代也要求教师不断充实工程领域的知识和技能,以给学生更多的实际范例和经验。
(10)标准10,-教师教学能力的提高。
采取措施提高教师运用主动和经验学习方法以及学生考核等方面一体化经验的能力。如果教师期望以一种全新的教学和评估学生能力的方式,他们必须以提升自身的技能为前提。
(11)标准11:学生考核。
学生的基本个人能力和人际能力,产品、过程和系统构建能力及学科知识要融入专业考核之中,作为学习成果进行评估,必须采取一套行之有效的评价体系。对学习成果的不同分类将采用不同的考核方法,用丰富多样的评估方法评价多样的学习方式,以增加最终评估结果的可信度和有效性。
(12)标准12:专业评估。
针对CDIO12条标准,采用系统化的评估过程,提供反馈给学生、教师及其他利益相关者,以促进持续改进。
2 课程项目设计
2.1 存在的问题
在工程课程中,课程项目一直是理论课程的有机组成部分。在教学市场化环境下,虽然课程项目日益受到重视,教师们对教学改革进行了有益探索,但依然存在两个问题:
(1)缺乏标准化和规范要求。具体表现为随意性很大,对教学目标、教学内容和教学手段缺乏明确的要求;二是千篇一律,虽然各个课程的性质和内容不同,但实施方案和考核方式却雷同,甚至流于形式。
(2)课程项目工作量缺乏考量。在标准化软件工程中,设计和管理远远超过了代码工作量。同样,实际课程项目管理的工作量远远超出了课堂讲授时间。一是教学管理制度迟后,对课程项目的考核管理缺乏科学合理的管理制度,以课堂讲授时间为考核依据,无法反映实际情况;二是课程项目设计很少将工作量作为重要因素来考量。
2.2 CDIO理念的运用
CDIO的核心思想是工程化,面对现实,用有限的资源获得最大的成果,因此可以解决课程项目设计中存在的部分问题,至少可以改善。
(1)在工程课程中全面推行项目考核,代替传统试卷考核。将能力考核放在首位,用能力促知识,强化学生解决实际工程问题的能力。项目考核可以提高学生的主观能动性,从传统的自上而下的学习模式变为自下而上的学习模式,学生根据自身的兴趣及技术能力特点选题。项目活动更能体现CDIO能力大纲的精神:第一是个性化考核。学生可以利用积累的基础知识和能力,发挥特长,进行创造性学习和思考。第二是综合能力考核。项目实施为学生提供了一个很好的交流平台,可以提高学生的口头表达能力、专业交流能力和人际交流能力。在选题过程中,各组的讨论有利于成员间的知识交换,挖掘创新点。
(2)精心设计一套具有项目特性的课程项目示例,推行自主选题的课程项目。课程项目示例一定要以实际项目为背景,依据项目设计与开发的顺序进行项目实施演示,巧妙地将基础技术融合其中,并进行必要的比较和分析,便于学生模仿。自主选题的课程项目要涵盖项目构思、项目设立、项目设计建模、项目开发、项目测试和项目实施方案等全过程,这一系统化过程包含了系统构建的生命周期,体现CDIO提倡的构想一设计一实施一运作理念。
(3)科学地简化项目管理环节和内容。课程项目管理工作量巨大,一定要在保留必要工程环节的基础上削减次要环节,各个环节的内容也要突出重点,体现有保有压。
(4)采用同工程实际一致的项目实践环境。首先,及时引进和升级各类主流开发平台,保持同实际生产环境同步,为学生提供近似实际的工作环境;其次,采用同样的项目组织结构和运行方式管理课程项目,提供近似实际的工作氛围,提高学生的实战能力。
(5)注重主动学习。可以选择一些内容,不在课堂上讲解,而是让学生自学,提倡多学科之间的相互融合,培养学生的好奇心及终身学习的习惯,激发学生主动学习的积极性。学生不仅可以学习到更多的东西,也能意识到自身需要和渴望学习的知识。对许多问题来说,这些“更多的东西”就是打破常规,重新构建问题,用一种新的方式审视问题情境,常常能得到意外的收,是CDIO标准8体现的精神。
3 基于CDIO的J2EE项目教学实践
基于上述CDIO思想,笔者在J2EE课程项目设计中进行了有益的实践。J2EE、Java 2 Platform、Enterprise Edition是当今软件工程主流的应用程序开发技术,J2EE是一种开源技术,发展十分迅速,适合于从网站到银行系统的众多以管理为主体的应用项目的开发。J2EE项目的涉及面非常广,需要理解和运用数据库、Java语言、HTML语言、JavaScript等多种知识和技术;课程项目的工作量普遍比较大,需要多人合作才能完成,必须以团队方式开展教学活动;更难能可贵的是,J2EE项目一般都是面向方案的问题解决,具有创造性和全过程特点,十分适合基于CDIO教学模式的开展,教学效果显著。
整个J2EE课程设计以CDIO理念为指导思想,以开发能力为最终学习目标,由讲授和学生课程项目组成。除了理论、各类主题实验外,讲授课包含一个课程项目示例,即一个完整的在线考试系统的开发。依据软件设计与开发顺序,进行实际代码开发的演示,巧妙地将基于J2EE的各种技术融合其中,为学生的课程项目提供参考。本节主要介绍J2EE课程项目。
课程项目以软件产品的生产周期为工程教育的框架或环境,将综合性学习经验,基本个人能力、人际能力和对产品、过程和系统构建能力的培养融于一体。课程项目同企业管理一样,提高质量的关键在于加强对学生的管理,细节决定成败,因此必须在检查和督促上下功夫,紧紧抓住每个环节,不能放任自流。考虑到工程管理的巨大工作量,课程项目管理进行了适当简化,只保留了最主要的四个管理环节:课程项目立项、设计与计划、开发跟踪和项目评分。每个环节都有各自的工作重点,各个环节又环环相扣,前面环节为后面环节的成功创造条件。
3.1 项目立项
课程项目立项报题是课程项目的起点,题目选择是否合适,将部分决定最终的项目成败。由于学生刚开始上课,对具体内容并没有多少了解,又不具有项目经验,所以选题往往存在许多问题。如项目类型不合适,选择项目根本不适合J2EE技术实现:二是项目内容太简单,工作量太小,技术要求太低。教师要加强指导和引导。
任何人都可以发起建立项目小组,但必须自我寻找项目,并建立开发组织,立项要经过申请、初步审批和答辩三个环节,流程图如图1所示。
(1)立项报告。
立项报告包含两项内容:项目报告和项目组织机构章程。项目报告阐述软件用途、主要功能和系统要求;项目组织机构章程包含组成人员、参与人员及职责分工,主要角色包括项目经理、数据库管理员、质量管理员和开发人员;组长产生规则,对项目的最终结果负有全部责任,设立任命与解聘规则,组长有分配工作和成绩建议的权利。申报时间一般安排在两周时间内。如果项目未通过审批,教师应做好思想工作,鼓励学生表达不同的意见,但一定要以理服人,给予必要的帮助和指导,进行必要的修改调整。
(2)立项答辩。
获得初步批准的项目将安排立项答辩。首先简单介绍项目概况,其次回答教师提问。教师还要对学生的答辩进行点评,指出存在的问题,提出改进的意见。该环节将增强学生的工程基础知识、个人能力以及发现问题、文字表达、演讲和组织能力。
3.2 设计与计划
设计与计划标志着设计已完成,项目进入编码阶段,要求学生提交文档需求分析报告、详细设计和开发测试计划。考虑到工作量,需求分析报告提交是可选的;详细设计主要描述系统功能概述,分外部设计和内部设计;开发测试计划要强调里程碑式的完成时间表,各个环节和各个模块的时间节点,Q版和B版完成时间,为今后的项目督促提供线索。该阶段让学生充分体验设计经验,教师要检查其合理性,充分发掘学生的主动学习动力。
3.3 开发跟踪
开发跟踪是课程项目的主体,将覆盖整个学习周期。主要任务有两个:一是构建近似生产环境的代码开发环境;二是项目进展的督促检查。代码开发环境同上课环境均采用Eclipse环境,并设立统一的CVS服务器,对代码进行版本控制。项目进展的督促检查以文档方式进行,要求项目组以周为时间周期,把开发文档及时放入到各自工程组目录中,主要内容包括上周工作总结、总体进展情况、本周工作计划和设计改动。教师主要采取抽查方式检查,发现进展缓慢的组就必须直接找组长谈话,了解原因,解决问题,进行工作督促。应维持督促力度,保持一定推动力。该阶段提供一致性的工程实践场所,让学生充分体验实现经验,在项目实践中学习解决问题的方法,开展主动学习,积累综合性学习经验。
3.4 项目评价
项目评价是课程项目的最后也是最核心阶段,工作量最繁重。为保证课程项目最终能顺利交付,需要将项目评分细分成三个子阶段:系统预演示、系统交付演讲和最终评价。
系统预演示的主要目标是项目检查,抓好最后阶段的冲刺工作。通过预演示,教师可以真正了解项目的实际进展情况;主要抓两头,拉先进促后进;对于优秀项目,以提出改进意见为主,要求予以修改,提高项目的质量,同时让学生体验项目修改的过程:对于落后项目,必须立即确定开发重点,力图在最后的时间内努力完成基本内容。
系统交付演讲是项目评价的主要环节,主要考察项目的完成质量,从完整性、实用性、美观和表达四个方面考评。学生要进行公开演示和讲解,并接受教师的咨询。
最终评价是项目评价的最终环节,主要考察项目的完成工作量。学生要提交使用说明、基础数据、可执行程序和源程序,教师根据这些文档进行公正的评分。
项目前两个子阶段是师生互动阶段,开展合作性学习,对于提升教师能力和教学能力都深具意义。
4 结语
J2EE课程是同济大学软件学院首次推行课程项目,是教学改革的有益探索,效果显著。尤其有了CDIO的指导思想后,改革发展更具方向,内容更能深入。但要在我国顺利实施CDIO,困难也是很大的。如教学制度迟后,至今还没有项目课程考核的管理科学和合理的管理制度,教学模式比较单一;又如项目的评价存在不公正性,项目组内存在苦乐不均现象等。这些都有待我们进一步探