基于CDIO 的主动式项目驱动学习方法研究
——以Java 类课程教学改革为例
姜大志 孙浩军
【摘 要】教学改革是教学活动中的一个重要环节,是培养高质量学生的重要保证。本文结合CDIO 工程教育模式和主动式项目驱动学习方法,形成以“项目为主线、教师为引导、学生为主体、CDIO 能力培养”为基本特征的新型教学方法。用该方法对我校Java 类课程进行重新设计与开发,以期最大化课程教学效果,同时也为工程教学改革提供了一条可参考的思路。
【关 键 词】CDIO 工程教育 项目驱动 教学改革 【收稿日期】2011年9月
【作者简介】姜大志,汕头大学工学院计算机系副教授、博士;孙浩军,汕头大学工学院计算机系系主任、教授、博士。
CDIO 是由MIT 等四所大学历时四年的研究、探索以及教学实践建立起的一种先进的基于工程教育的教学模式,该模式贯彻产品研发到产品运行的生命周期,让学生以主动的、实践的、课程之间有机联系的方式学习工程[1-2]。但是对于具体某一门课程来说,CDIO 并没有也不可能给出具体的能力要求,同时也没有明确给出CDIO 能力目标的落实方法,这就需要教学设计者依据教学的需要来制定符合相应课程
的CDIO 能力培养目标及其贯彻方法。为此,我们依据CDIO 基本理念,结合一体化课程设置、主动式项目驱动学习、能力矩阵设置与保证和教学反思等手段,形成一个以“项目为主线、教师为引导、学生为主体、CDIO 能力培养”为基本特征的新型教学方法,并以Java 类课程改革为例,阐述在理工科类教学过程中,如何有效地在细观和微观层面践行CDIO 核心思想。1、孤立地传授知识,缺乏一体化的课
一、以往Java 类课程教学中存在的问题
Java 类课程包括Java 程序设计和Java Web 开发,是理论与实践并重的课程,在教学的过程中延循传统的教学模式易造成重理论而轻实践的结果。笔者依据以前的教学经验以及与同行间的交流,发现该课程不仅存在教学方法陈旧、实验教学相对薄弱等问题,还存在以下被忽视但极具重要性的问题。
本文受2010年度教育部人文社会科学研究“工程科技人才培养研究”专项课题(10JDGC005)支持。
程设计思想。教师在教学中不能单纯地传
授知识,也不能单纯地训练学生的某种技能,而是要在教学活动中整合学科专业知识、个人能力、人际交往能力及专业建造能力的教育与培养。
2、学生能力培养不足。传统的基于考试的评估方法把学生的注意力偏隅在课程的理论知识和局部技巧
上,导致学生无法对所学知识形成一个完整的认识,也不能灵活应用这些知识,不能解决实际问题,没有系统的分析能力和开发环境的操作能力。当遇到大型复杂的软件项目时,往往不能快速有效地进行构思、设计、实现与运行。
3、课程学习目标笼统设定,且目标是否达成没有可靠依据。据调查发现,大多课程的学习目标只笼统列举教授哪些知识点、学生应掌握哪些知识点,这种教学目标不仅使课程教学滞留在最基本的知识灌输阶段,而且弱化了教师职责,不利于学生能力的培养。此外,关于知识的掌握,我们认为知识的理解只是基础,灵活应用也只是过程,能力提高才是最终目标。由于没有具体的能力培养目标,那教学目标是否达成则必然是教学活动参与者脑中模糊的主观判断,目前极少有课程把课程所培养的学生能力明确地设置在与课程相关的档案中。
4、教学过程缺乏反思。课程教学中的反思是指就课程授课、项目开展与实施过程中遇到的问题进行对话与讨论。反思是一种互动式的教学活动,它把教师和学生绑定成一个合作学习的共同体,注重共同体中教师
与学生间的成功分享、合作学习和共同提高。缺乏有效的反思,不仅影响学生对知识的深层理解、影响教学目标的最终达成,也不利于教师进行教学重新设计、影响教学水平提高等。
基于上述问题,一些方法被应用到Java 类课程教学改革中,如项目驱动法[3]和案例教学法[4]。学生虽
受到一定的启发、训练与能力培养,但是在团队协作精神、工程认知、企业需求和环境认知等方面还是有一定的欠缺。CDIO工程教育模式也被一些学者应用到Java类课程的教改中[5-6],虽然通过模仿CDIO的操作手段来发挥作用,但在细观和微观层面对CDIO教育理念进行贯彻和践行上还是存在一定的不足。为此在我校Java类课程的教学再设计中,为提高学生的主观能动性和创造性,我们变项目驱动为以学生为主体的主动式项目驱动学习,贯彻CDIO的核心精神,形成以“项目为主线、教师为引导、学生为主体、CDIO能力培养”为基本特征的基于CDIO的主动式项目驱动学习方法,培养学生善于思维、表达、学习和协作的个人与职业能力,培养内在能力与实践能力兼备的软件工程师。
二、基于CDIO的主动式项目驱动学习
1.课程设置
Java类一体化知识型课程设置以现代教育思想和理论为指导,围绕Java软件工程师培养目标要求,将计算机专业培养方案中具有逻辑联系的若干课程整合构建形成有机的课程体系。Java类课程的一体化课程由三种类别的课程组成,分别是前驱课程、当前课程以及后续课程。其中,前驱课程为计算机基础和程序设计基础,当前课程为Java程序设计、Java Web开发和数据结构,后续课程为数据库原理、计算机网络和软件工程。有了前驱课程的学习,学生就有了学习Java程序设计和Java Web开发的基础与能力。当学生选修Java和Java Web课程时,同时也会选修数据结构,两类课程相互作用就可以
培养开发复杂程序的能力。在进行主动式项目驱动学习时,需要学生自学数据库原理、计算机网络和软件工程的相关知识,这种课程设置把与Java相关的课程糅合成一个紧密关联的有机整体,通过课程间知识点的关联,对当前课程的学习会加深对前驱课程的理解,同时也会后续课程的学习打下基础,可见Java和Java Web课程的学习是联系前驱课程和后续课程的重要纽带。这种一体化的课程设置整合了学科的知识,在一体化的教学中充分培养学生各方面的能力,同时使得学生对学科知识有一个完整的体系化认识。
2.能力培养目标矩阵
CDIO以工程化的角度确定了人才培养标准,这些标准以一种明晰的方式刻画出合格的工程师所应该具备的能力。在课程教学改革的过程中,首先要制定CDIO能力培养目标矩阵,以便清晰地给出课程的学习目标,明确课程服从了CDIO中的哪些标准,培养了学生CDIO中哪些相关的能力。这样做一方面可以使得教学设计者能够从微观的层面来综合考量专业培养目标的合理性,另一方面也使得学生的能力评估有了可靠的依据。
学习java的学习方法通过Java类课程的课程设置,发挥中间枢纽的Java类课程的学习目标的设置就要兼顾前驱和后续课程的能力培养要求。在CDIO模式下,Java类课程教学的学习目标由两个部分组成,分别是技术目标和CDIO能力培养目标。技术目标侧重于在教学过程中,学生技术水平的提高。技术目标主要是学生在课
程中所需要掌握的技术的具体要求,由6个方面组成:1、文档编辑能力;2、平台开发方法(Android、Eclipse 等);3、系统建模UML;4、Java和Java Web 等相关知识点与技术;5、分析软件构件的过程中所遵循的框架、设计模式与编码设计原则;6、系统设计中课程内其他知识的应用。在CDIO能力培养目标方面,Java类课程在4个大层次中的28个微观层次上建立了培养目标,目标矩阵如表1所示。
3.项目实施环节
除了课堂理论教学之外,主动式项目驱动学习是教学中一个重要的环节,它是保证课程学习目标达成的重要手段。结合CDIO 的基本思想,主动式项目驱动学习的实施过程主要由下面6个基本环节组成,每个环节包含一个具体的目标,环节I是传统的理论教学环节,环节II则是相关任务的下达以及学生进行组队,环节III到VI四个阶段则贯穿于CDIO中产品研发到运行的完整的生命周期。由于通过传统的教学对能力培养相对薄弱,不可能有效且全面覆盖能力目标,因此CDIO中的能力目标培养需经过项目驱动来实现,通过让学生在项目周期中进行锻炼与思考,既可锻炼技术性能力、也可培养内化的非技术能力。此外,每个环节有重点性地匹配于一定的能力培养目标,各个环节中的目标匹配虽然有侧重但
也可以存在交集。(1)环节I:Java类课程理论教学。其中包括背景介绍、开发工具介绍与环境配置、系统构建方法、课程理论基础知识与原理讲授以及与Java相关的新技术和新应用点介绍;(目标匹配:1.2、1.3、4.2.3)
(2)环节II:教师的任务有项目内容介绍、项目目标阐述、能力培养目标矩阵阐述以及组织有效团队的方法与注意点,学生的任务
有自行组织团队、项目所需知识与技术的补充;(目标匹配:3.1.1、4.2.4)
(3)环节III:系统构思。其中包括各项目小组的项目目标分析、可行性分析、预算分析与成本控制(预算、耗材、人员配置和软件资源)以及项目报告会I(项目目标与可行性阐述与评估、系统创意阐述与评估、预算阐述与评估);(目标匹配:2.1.1、2.1.4、2.4.2、2.4.3、2.4.4、3.1.2、4.3.1、4.3.2、4.3.4)(4)环节IV:系统设计。主要工作有开发方案制定、开发计划制定以及项目报告会II (项目设计方案阐述与评估、项目风险阐述与评估);(目标匹配:1.2、1.3、2.1.5、2.3.1、2.3.2、2.3.3、2.3.4、2.4.2、2.4.4、2.4.7、3.1.2、4.3.3、4.4.1、4.4.3、4.5.3)
(5)环节V:系统实现。由项目再思考、项目迭代重构和项目报告会III(中期检查)三个环节组成;(目标匹配:1.2、1.3、2.4.2、2.4.4、2.4.7、2.5.1、3.1.2、4.3.4、4.4.1、4.4.3)(6)环节VI:运行与评估。主要包括项目测试与验收、项目报告会IV(系统演示、系统成本分析、系统盈利分析和多层次评估)两大部分组成,其中多层次评估包括学生自评、同组者评估、不同组者评估以及模拟用户评估。(目标匹配:1.3、2.3.1、2.4.4、
3.1.2、3.2.6、
4.2.3、4.
5.5、4.
6.1)
4.课程教学中的反思
我们认为反思是课程教学中的极其重要的一个环节。对于学生来说,反思一方面可以启发学生积极进行教学思考,对问题进行思考回答的过程就是深化课程学习目标的过程;另一方面也有助于学生进行深层次的学与问,加深对理论知识、学习过程等的认识。对任课教师来说,反思是教师梳理教学过程的有效手段,通过教学结果的反思,教师会认识到教授的知识是否是准确的、是否是学生需要的、是否使学生了解知识的重点、是否使教学目标顺利达成等。同时,教师通过教学反思,可以对教学不断重新设计与提高,提高自身教育教学水平,使得教师能对自身的教育观念进行客观理性的认识、判断与评价,最终形成自身特质的教育观念,也可以在一定程度上确保学生项目的成功实施,达到预期的课程目标。在项目实施环节III、IV、V、VI的项目报告会I-IV中,可根据项目进展情况对每个项目小组成员进行提问,让学生进行反思后回答。表3是我们为Java类课程所设计的学生用反思问题清单样例,其中一些问题是极具开放性,答案也不唯一,关键在于引导学生积极进行反思。表4是教师用反思问题清单样例,反思分三个阶段进行,分别是课程教学前期、中期和结束,贯穿于整个教学周期。
学生的课程考试成绩、项目实施情况都是反映学生能力的有效度量指标,但是这两种指标都是刚性的、不全面的评价指标,我们需要一种柔性的、能够反映学生综合能力的度量指标。反思结果就是其
中的一种。虽然让学生反思的问题答案具有开放性、不确定和不唯一性,但是总能确定每个问题的核心思想与重点,然后看学生的回答与核心思想与重点是否背离,从而有效地度量学生的能力。对于“学生反思过程中的问题清单”,我们给出一些问题可能的重点来有效地度量学生的能力。如果达到能力培养目标标记为Y,没有则为N。
表3 学生反思过程中的问题清单
对于项目报告会I。问题1:需求不明确或前期准备不足则为N,没有在企业或者社会环境中思考需求则为N;问题2:没明确的搭档选择标准则为N;问题3:项目没有创新点、亮点或者吸引力的则为N;问题4:项目无预期收益或者项目设计没有商业考虑点则为N。
项目报告会II。问题1:能够解释面向对象的核心思想、能认识到设计模式的重要性则为Y;问题2:采用面向对象的思想提高系统的扩展性的则为Y。问题3:无预算、无项目进度安排的则为N。
项目报告会III。问题1:应用到软件文档并在迭代过程中对文档进行存档于更新的则为Y;问题3:认识到需求分析的重要性的则为Y。
项目报告会IV。问题2:认识到项目实施的关键因素以及自身能力不足之处为Y。
5.学生成绩评估
在基于CDIO工程教育模式的主动式项目驱动学习方法中,Java类课程的成绩评估由四个部分组成,分别是理论考试成绩(30%)、项目实施成绩(40%)、反思成绩(20%)和平时成绩(10%)。通过这四个部分的打分,项目实施为主、理论考核为辅、兼顾反思与平时成绩,主观成绩与客观成绩相结合,可以较为全面地评估学生的能力。
三、经验与建议
本文提出了一种基于CDIO工程教育模式的主动式项目驱动学习方法,它以CDIO 为核心指导思想,以主动式项目驱动学习为主要手段,具有一定的科学性和先进性。根
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论