CDIO模式在“数据结构”课程中的运用

2009-01-18 07:44
计算机教育 2009年20期
关键词:数据结构项目

和 薇

摘要:CDIO教学模式是一种倡导“做中学”和“基于项目的教育和学习”的新型教学模式。本文将CDIO理念引入大学计算机专业“数据结构”课程的学习中,着重介绍了在课堂中利用课堂讲授、课堂讨论和课后作业等方式对“项目”的理解,以及在教学中通过课程实践对“做中学”的体会。

关键词:CDIO教学模式;数据结构;项目

中图分类号:G642 文献标识码:B

CDIO原本是工程教育领域内的一个概念,它是构思(Conceive)、设计(Design)、实现(Implement)、运作(Operate)的集合体,是2001年由瑞典查尔姆斯技术学院、瑞典林克平大学、美国麻省理工学院、瑞典皇家技术学院合作开发的一个新型工程教育平台。它以工程项目(包括产品、生产流程和系统)从研发到运行的生命周期为整体,让学生主动地参与到理论到实践的转化过程中来,是一种倡导“做中学”和“基于项目的教育和学习”的新型教学模式。CDIO既注重抽象理论知识的“教”和“学”,又强调了教学过程中“做”的重要意义;既增强了学生的动手能力,又培养了学生的创新意识、项目设计的能力和团队协作的精神。CDIO教学模式应用于我国的一些高校,已经取得了初步成果。比如清华大学工业工程系的顾学雍教授就曾创造性地将CDIO方法运用于“数据结构”和“数据库原理”两门课中,取得了突出的成效。笔者也在本院计算机专业“数据结构”课程的建设过程中遵循CDIO原则,进行了一系列教学实践与探索。

1CDIO能力培养大纲

CDIO模式以构思、设计、实现、运作为主线,将基础知识、个人能力、团队协作与社会环境融合在一起,注重理论与实践的结合。图1为CDIO大纲的主要内容。

大学计算机专业也是实践性很强的学科专业,借鉴CDIO大纲对工程师的培养目标,我们对于专业性人才的培养也应该首先立足于加强学生对专业基础性知识的学习和基本技能的掌握,倡导产学研相结合,在实践中培养学生的专业技能与合作沟通的能力,最终让毕业生满足企业对人才的需求并服务于社会。

2“数据结构”课程的重要性

“数据结构”是整个计算机学科体系的一门核心课程,也是计算机相关专业的专业必修课。学好这门课程,不仅可以为软件开发奠定良好的编程基础,也可以培养学

生良好的编程思想和编程风格。这门课程主要介绍各种离散结构,如表、树、图、集合等在计算机内的存储和处理,以及各种常用算法及其应用。课程除了要求学生有较好的离散数学基础外,还应至少掌握一门程序设计语言(Pascal、C、C++、Java等)。因为课程既包含抽象的理论,又强调算法的实践,所以一直以来都被学生认为是最难学的课程之一。

3基于项目的学习

CDIO教育模式要求学生基于工程项目的全生命周期进行学习与实践,项目最好来源于企业的真实题目或结合教师的科研课题组织和设计,以项目作为基础知识传授与基本技能掌握的载体。考虑到“数据结构”课程一般开设在计算机专业大学本科二年级,此时学生刚刚学习了一至两门程序设计语言,对编程语言的运用还处在初级阶段,还没有经过软件工程的系统培训,所以教师在设计项目时,还必须讲究方式方法,结合学生的实际情况来组织教学。

3.1课堂讲授

课堂讲授是贯彻CDIO教学大纲,学习基础知识的主要方法,要求教师对“数据结构”课程中所有的知识点、重点及难点有很好的设计。在讲授教学内容时,教师可以适当地引用实际项目,引导学生体会产品从构思、设计、实施到运作的完整过程。

比如在讲解树结构时,引入ERP企业资源计划系统中的BOM(Bill of Material)物料清单的实例。BOM是一种描述配套件结构的零件表,包括所有子件、零件、原材料的清单以及制造一个配件需要的所有物料数量。BOM是制造业信息系统的一个核心部分,在ERP系统的MRP分析、制定生产计划、采购及销售控制及生产过程控制等环节都具有重要的作用,设计合理的BOM结构可以取得事半功倍的效果。针对对BOM特点和作用的简单讲授和对树型结构的分析,教师可以引导学生从实例入手,锻炼学生从分析实例产品的构成和用户的实际需求出发,构思并设计合理的数据结构,促进学生对树型结构的掌握。

3.2课堂讨论

课堂讨论是课堂讲授教学内容的有效补充形式。现代教学理念主张启发式教学,在适当的时候抛出一个问题,给学生5~10分钟的自由发言或分组讨论时间,效果会更好。比如上一个问题,教师可以在讲解BOM的时候直接给出树型结构的解决方案,但是如果教师在讲授了基础知识和问题背景后,让学生自行讨论设计方案,自由发言或由小组代表提出设想,再由全班讨论,经教师总结后给出结论,则可以充分地激发学生的积极性,也让学生体会了“提出问题—分析问题—解决问题”的过程。在这个过程中,教师要注意对学生的思路加以引导,对学生所提的方案加以鼓励,帮助学生树立创新意识,让他们不墨守成规,学会从多角度思考问题。

3.3课后作业

课后作业是对课堂教学内容的延伸和对课堂教学效果的验证。在教学时间紧任务重的前提下,科学地设计课后作业可以弥补缺憾,也可以促进学生主动学习。比如可以针对具体项目,让学生通过上网查阅资料补充项目背景知识,也可以让学生查找相关问题的其他解决方案,或对课堂提出的算法进行代码实现。教师可以从这些内容中挑选出精彩的部分,安排合适的时间,在课堂上由学生进行汇报讲演,交流心得。这种形式既对课堂教授有很好的补充,又有效杜绝了学生的作业抄袭现象。

4通过课程实践体会“做中学”

CDIO理念是总结了欧美20多年来工程教育改革的产物,目的是能够培养出全面发展的工程师,他们不仅要具有扎实的专业知识和熟练的专业技能,理解构思—设计—实施—运行一个完整系统的复杂性,还要能够在一个现代的、合作的环境中让这个产品升值。CDIO强调学生的工程能力不是单纯的理论知识或直观技能,而是两者的综合运用,也就是所谓的“做中学”。

“数据结构”课程的实践环节由两部分组成:课内上机和课程设计。课内上机一般有2~4个学时,以验证性实验为主,侧重学生对每章知识点的上机验证和内容的延伸;课程设计时间相对较长,一般有20~40个学时不等,学生可以在这个过程中完整地体验一个项目的设计和实施。

4.1项目的选择

课程实践的项目最好来自企业一线,或者是一些具有实际意义的题目,考虑到学生知识的局限性,教师可以对这些题目稍作改动。比如“北京市城市轨道交通咨询模拟系统”要求参考北京地铁运营线路图,见图2,以无向图的形式描述城市轨道交通状况,给出从甲地到乙地的最优换乘方案。此项目来源于实际问题,学生很容易理解题目的要求和最终的结果。由于实际地铁运行线路中站点比较多,所以布置题目时可以适当简化,比如减少站点数目(但要保留换乘站),忽略两站之间的运行时间和每站的停靠时间,以途经的站数来作为最优路径的计算依据等。

在课程设计阶段,学生首先选择自己感兴趣的项目,然后从问题需求入手,设计合理的数据结构,明确输入和输出信息,进行模块设计,最后进行详细代码的编写和模块测试。整个过程始终遵循CDIO“做中学”的原则,让学生在实际动手的过程中不断增强解决实际问题的能力。部分能力较强的同学还在原题的基础上进行功能扩展,形成了一个带有友好人机界面的可视化软件,既提高了学生的学习兴趣,又激发了学生的创造力。

4.2分工与合作

《礼记•学记》上讲:“独学而无友,则孤陋而寡闻”。由于CDIO强调的项目具有完整性和综合性,一个学生很难在短时间内完成,因此可以考虑采用分组的形式,由多名学生组成小组,由组长负责安排整个项目的进度。这种团队的形式最能锻炼学生的协作精神、沟通能力和领导能力。李开复教授在给中国学生的信中这样写道:“像Windows 2000这样的产品研发,有超过3000名开发工程

师和测试人员参与,写出了5000万行代码。没有高度统一的团队精神,没有全部参与者的默契与分工合作,这项工程是根本不可能完成的。”CDIO模式就是要让学生在不断的碰撞和沟通中学会相互支持,共同讨论,共同进步。

4.3项目考核

课程设计结束时,教师要对项目的完成情况进行考核,CDIO教学模式的标准之一就是要对学生个体进行评估验收。考核的形式可以是多样的,比如采用“答辩”的方式,由学生演示程序的运行结果,然后针对自己在小组

中的分工情况,详细介绍具体算法和遇到的问题,最后提交项目总结报告。较之传统的考试,这种考核方式更加强调学生的表达能力和科技文章的撰写能力,既分享了学习经验,又拓宽了知识面。教师在考核过程中要起到主导作用,要站在企业、用户或用人单位的角度来设立问题,将学生置于一个大的环境中,使学生具备业界所需要的素质和能力。

总之,通过将CDIO教学模式运用于“数据结构”课程,倡导“做中学”和“基于项目的教育和学习”,使学生在掌握基本专业知识和技能的同时,既提高了学习兴趣,又增强了从业所要求的各项素质,对学生毕业走上社会的可持续发展起到积极的作用。

参考文献:

[1] 陶勇芳,商存慧.CDIO大纲对高等工科教育创新的启示[J].中国高教研究,2006(11):81-83.

[2] 顾学雍.联结理论与实践的CDIO[J].高等工程教育研究,2009(1):11-23.

[3] 查建中.论“做中学”战略下的CDIO模式[J].高等工程教育研究,2008(3):1-6.

猜你喜欢
数据结构项目
数据结构线上线下混合教学模式探讨
重典型应用,明结构关系
工程项目投标策略研究
房地产开发项目精细化管理研究
加强公路工程成本管理的措施分析
数据结构与算法课程设计教学模式的探讨
高效学习数据结构