CDIO工程教育模式下的主动式项目驱动学习——以“Java程序设计”课程为例
2012-01-05姜大志
姜大志
(汕头大学工学院计算机系, 广东 汕头 515063)
CDIO工程教育模式下的主动式项目驱动学习
——以“Java程序设计”课程为例
姜大志
(汕头大学工学院计算机系, 广东 汕头 515063)
Java程序设计语言是当今软件开发的主流语言,也是计算机软件类专业的学生必须掌握的一门基础性面向对象程序设计语言。在大多数高校中,Java课程已成为计算机软件类专业教学的骨干课程之一,其教学效果直接影响IT人才的培养质量。结合“CDIO”工程教育模式,以主动式项目驱动学习的方式对汕头大学《Java程序设计》课程进行重新设计与开发,进而提高学生的学习兴趣和效率,强化实践教学,增强职业能力,培养合格的软件工程师。
Java程序设计;CDIO工程教育模式;教学改革
CDIO工程教育模式是由麻省理工学院、瑞典皇家工学院等四所大学通过4年的研究、探索与教学实践建立起的一种基于工程教育的先进教学模式,是一项关于国际工程教育改革的新型教育模式与成果,其中C、D、I和O分别代表构思(Conceive)、设计(Design)、实现(Implement)和运作(Operate)。CDIO教育模式贯穿产品研发到产品运行的生命周期,让学生以主动的、实践的、课程之间有机联系的方式学习工程。在能力要求方面,CDIO培养大纲将工程毕业生的能力分为工程基础知识、个人能力、人际团队能力和工程系统能力4个层面,大纲要求以综合的培养方式使学生在这4个层面达到预定目标[1-3]。
《Java程序设计》是一门理论性与实践性并重的课程,目前很多高校把Java课程作为计算机相关专业的基础性课程,笔者依据以前的教学经验以及与同行间的交流,总结该课程存在:(1)课堂教学方法陈旧,以理论与语法教学为主,限制了学生的思维;(2)实验教学方法薄弱,实践能力没有得到充分培养;(3)学生的能力评估方法不足,理论考核的方式过于片面地评估学生的能力等问题。基于上述问题,很多高校在其教学方法方面做出改革与改进。如采用基于案例的教学方法[4]或者项目驱动教学方法[5]来辅助课堂教学,学生在此过程中虽受到一定的项目和团队工作的实际训练,但是在团队协作精神、工程认知、企业需求和环境认知等方面还是有一定的欠缺。作为一种优秀且新颖的工程教育模式,CDIO已被一些学者应用到Java课程的教学改革中来[6-8],虽然能发挥一定的作用,但主要是在宏观的层面借用CDIO的概念、模仿其过程,并没有在细观和微观的层面贯彻和落实CDIO教育模式。
基于此,在汕头大学《Java程序设计》课程的教学设计过程中,我们贯彻CDIO的核心精神,以CDIO过程为主导,以主动式项目驱动式的方法使所学和所需相结合,最终实现把学生培养成为有专业技能、有社会意识和适合软件企业多种工作性质的软件专业人才的培养目标。
一、CDIO工程教育模式下主动式项目驱动学习
(一)学习目标
在CDIO的教学模式下,《Java程序设计》的学习目标由两个部分组成,一个是技术目标,另一个是CDIO能力培养目标。
技术目标主要是学生在课程中所需要掌握技术的具体要求,由9个方面组成:1、具有需求分析文档、设计文档和使用说明文档等的编辑能力;2、探索系统的理解分析、系统的设计、系统的实现和实际运行效果之间的综合影响;3、掌握Android平台手机开发方法、掌握Eclipse平台开发方法;4、应用系统建模工具进行系统的初步建模;5、应用面向对象的思想来设计系统;6、使用多线程技术来优化系统效率;7、分析面向对象的程序设计与面向过程设计方法的异同;8、分析软件构件的过程中所遵循的编码设计原则,说明编码设计原则给系统构建带来的作用;9、分析系统构思与系统设计之间不一致性以及产生的原因。
CDIO能力培养目标主要是培养学生的技术知识与推理能力,个人能力、职业能力和态度,人际交往能力以及在企业和社会环境下构思、设计、实施、运行系统的能力。在CDIO能力培养方面,《Java程序设计》课程在4个大层次的26个微观层次上建立了培养目标,目标矩阵如表1所示。
(二)主动式项目驱动学习
主动式项目驱动学习方法要求学生在课程学习的过程中,以完成一个具体的项目(任务)为主要线索。其具体实施步骤是学生自主地提出一个项目,该项目把教学内容隐含在其中,经过可行性验证之后进行自主、自治的项目实现。这种学习方法不仅深化了学生对理论知识的理解,从而真正有效地掌握知识,而且在最大程度上培养学生自主学习、自主管理、自主提出问题和解决问题的能力,同时也培养了学生的创新能力。
结合CDIO基本思想,主动式项目驱动学习的实施过程主要由以下6个项目实施的基本环节和1个综合的反思环节组成:
环节I:课程理论教学,其中包括Java开发工具介绍与环境配置、Java语言基础讲授、用Java语言实现算法(与数据结构相结合)以及Java相关的新技术介绍;环节II:项目目标下达与学生组队;环节III:系统构思,其中包括各小组项目目标分析与确立、项目可行性分析、项目预算与成本分析(预算、耗材、人员配置和软件资源)和项目报告会I(系统分析及其创意分析与评估)环节IV:系统设计,主要工作包括制定开发方案、制定开发计划以及项目报告会II(项目设计方案评估、项目风险评估);环节V:实现系统,由系统重构、项目报告会III(中期检查)两个环节组成;环节VI:运行与评估,主要包括系统验收与测试、项目报告会IV(系统展示、系统成本分析、系统盈利分析、为我最喜爱的项目投票)和评估(学生自评、同组者评估、不同组者评估)。
表1 《Java程序设计》课程的CDIO能力培养目标矩阵
(三)环节保证
与传统的模式不同,CDIO以工程化的角度确定了培养标准,这些标准以一种明晰的方式刻画出合格的工程师所应该具备的能力,因此在课程教学改革的过程中必须明确某一门课程服从了哪些标准,培养了学生哪些能力,这就是制定CDIO能力培养矩阵的原因。但是有了能力培养矩阵,如何在教学过程中有效实现能力矩阵所设定的能力是一个更为关键的问题。因此我们采用主动式项目驱动学习中提出的实施过程中的6个环节,依据实施环节与CDIO的相通之处,创造性地提出了环节保证矩阵来说明我们是如何实现能力培养目标的。
从表2可以看出,6个环节覆盖了表1的能力培养矩阵。新型的教学模式在一定程度上弱化了课堂理论教学,而更加注重基于项目的教学与研讨环节(环节III-VI)。此外在三个环节IV-VI中,学生将有机会在项目过程中深刻体会课程中的专业技术知识在实践中的应用,加深理解。
二、课程的特色与效果
本课程在保持了传统高校培养Java人才的能力要求(Java基本编程能力、Java编辑工具的使用、测试与调试)同时具有以下特色:(1)以CDIO为核心指导思想,以主动式项目驱动学习为主要手段的教学方法具有一定的科学性和先进性。(2)学生依据项目的要求查找自己所需的各类资料,提炼并组织可用信息,设计项目方案,自我主导实施过程,变被动学习为主动学习,不仅有效地激发学生的主观能动性,而且初步培养学生的科技创新素养。(3)学生向大家展示自己的设计方案、设计成果,锻炼了学生自我表现能力和交流能力,为今后的毕业设计和工作打下了良好的基础。另外以学生自身为主体的教学方式有较强的互动性,改善了课堂环境,提高了课堂效率,深化了教与学的效果。(4)主动式项目驱动式的教学模式改变了过去由老师主讲学生被动接受的局面,确立了学生的主导地位,调动学生的学习积极性,激发学生的学习兴趣,挖掘并培养学生的学习潜能和创新意识,有效提高学生的综合素质和能力。
为了对CDIO工程教学模式下主动式项目驱动教学模式的教学实践效果进行调查与验证,笔者对汕头大学计算机系学生(2006、2007、2008和2009级)进行问卷调查。调查问卷统计结果显示,有92%的学生认为改革后的《Java程序设计》课程实现了该课程预设的学习目标;96%学生认为改革后的课程是新颖、有效的课程,与其他未经过CDIO教学模式改革的课程相比,本课程能多层次多角度地培养能力;94%的学生认为《Java程序设计》课程中学习到的内容对他们终身受益。经过统计发现,学生认为在“团队与领导”、“时间管理”、“责任心”、“交流与沟通”、“问题的分析与理解”以及“系统全面地构思”6个方面的能力培养方面收益最大,同时也认为课程中的主动式项目驱动学习方法能使自己快速地掌握并应用书本中的理论知识。在全校性的课程评估上,《Java程序设计》的课程的评分是93.02,而系平均得分是88.03,全校课程平均分是89.70,《Java程序设计》的课程评估得分明显高于系平均和学校平均水平,由此可见,CDIO工程教学模式下主动式项目驱动学习在课程教育中的有效性。
表2 环节保证矩阵
三、需要注意的问题
CDIO工程教学模式下主动式项目驱动学习方法是对传统教学方法改革的一种尝试性探索,是一种全新的教学方法。随着教学方法的改变,教师的核心职责也应顺之发生变化。在教学中,教师应该注意以下问题:(1)项目可行性分析是前提:项目的可行性评价是主动式项目驱动学习取得成效的关键,它直接影响着教学效果。由于学生之间个体能力的客观差异,如学习能力、动手能力以及快速理解能力等方面,因此教师要合理地把握每个项目的深度和广度,因地制宜、依“队”而异地评估项目,从而在保证项目顺利开展的同时,多层次、多样化、多角度地培养学生。(2)情境建立是条件:情境设定是激发学生学习兴趣的关键。教师应该正确地把握学生现有的知识水平,力求创设能从不同侧面、不同角度表现学生任务的多种情境,让学生在真实的任务中解决问题,使学生能深刻地认识到这门课的应用前景,从而更主动、更积极地参与到学习中去,达到我们的教学目标。(3)角色转变是关键:CDIO工程教学模式下主动式项目驱动学习形成了 “以项目为主线、教师为引导、学生为主体、CDIO能力培养”的基本特征,因此教师必须实现自身角色的转换。首先,要求教师认识到学生的知识不是靠教师的灌输被动接受的,而是在教师的引导下,积极培养学生的兴趣,通过基于项目学习的方式,让学生在项目实践的过程中主动地构建专业知识体系,并深刻地体会知识的重要性以及如何被应用;其次,鉴于CDIO是一种多角度培养的教学模式,教师也应该认识到课程的教学不应该仅仅教授部分的、独立的知识,而是应该在教学“一体化”的思想下,让学生把所学知识“串联”起来,形成较为完整的知识体系;再次,教师不再是课程教学中简单授课者的角色,而是一个集教师、项目需求者、项目设计者、项目管理者以及项目评估者于一身的综合角色。(4)奉献是根本:教育方法的改变,造成教师角色复杂化、工作任务加重,教师需花费更多的精力进行有效的教学,这些实际问题就需要教师有着更为崇高的奉献精神,以促使学生成才为己任。
[1]顾佩华,沈民奋,李升平,庄哲民,陆小华,熊光晶.从CDIO到EIP-CDIO——汕头大学工程教育与人才培养模式探索[J].高等工程教育研究,2008(1):12-20.
[2]Zhao Hongbo.Teaching Innovation ofGeotechnical Engineering Based on CDIO [C]//2010 International Conference on Optics, Photonics and Energy Engineering,2010:75-78.
[3]Yang Liu,Chunting Yang,Xiaoyan Yang.Teaching Reform and Innovation based on CDIO [C]//2009 International Conference on Education Technology and Training,2009:301-304.
[4]陈涛.基于案例教学的 Java语言课程改革研究[J].教育研究与实验,2009(9):59-63.
[5]莫足琴.项目驱动教学法在Java程序设计课程中的应用[J].中国教育技术装备,2008(8):24-26.
[6]王卫生.基于CDIO教学模式的《Java程序设计》课程开发实践[J].软件工程师,2010(12):60-63.
[7]马晓梅,韩娜,张剑飞.CDIO理念下Java语言课程的设计与探讨[J].高教论坛,2010,12(12):95-96.
[8]陈红军,耿永军,闫洪亮.《JAVA程序设计》课程教学改革探讨[J].信息系统工程,2010(1):128-130.
Active Project-Driven Learning Method based on CDIO Engineering Education Model--take “Java Programming” Course for example
JIANG Da-zhi
(Department of Computer Science,Shantou University,Shantou,Guangdong 515063)
Java programming language is not only a mainstream language for software developing,but also a basic object oriented programming language for computer software students.In most colleges and universities,Java programming has become one of the backbone courses for computer software major.Actually,its teaching effort influences the quality of IT talents directly.In this paper,our university’s"Java Programming"course is re-designed and developed based on CDIO Engineering Education Model and Active Project-Driven Learning Method to improve student’s learning interest and efficiency,strengthen the practice of teaching,enhance professional competence,and culture the qualified software engineers finally.
Java Programming;CDIO;Teaching Reform
G 642.0
A
1001-4225(2012)04-0079-04
2011-08-18
姜大志(1982-),男,江苏南京人,工学博士,汕头大学工学院计算机系副教授。
教育部人文社会科学研究“工程科技人才培养研究”专项课题(10JDGC005);汕头大学教育改革研究项目“基于CDIO和能力成熟度模型的主动式项目学习”
佟群英)