首页 > 范文大全 > 正文

CDIO教育模式在数据结构与算法教学中的应用

开篇:润墨网以专业的文秘视角,为您筛选了一篇CDIO教育模式在数据结构与算法教学中的应用范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

1968年,高德纳(Donald E. Knuth)出版了经典的《计算机编程艺术》,提出了数据结构及算法的概念,从此数据结构与算法与软件编程紧密联系,让程序设计人员也登上了艺术的殿堂。可以说,数据结构与算法在当今各种应用软件和系统软件的开发中都具有举足轻重的地位。我们每天手持的移动通讯设备,工作学习用的笔记本电脑,信息访问的万维网都有数据结构与算法应用其中。因此,国内外高校的软件工程和计算机等专业都把数据结构与算法作为一门核心的专业基础课程进行教学,为后续的相关课程的学习打下坚实的基础。

一数据结构与算法教学中存在的问题

国内多数高校在数据结构与算法的教学中依然采用传统的教学模式,一般存在以下一些问题。

第一,师资方面。教师普遍具有高学历及较强的科研能力,所以课堂上的讲授以理论知识为基础,学科发展为导向,追求专业知识的完备性,不问软件行业的需求。

第二,讲授方法。教师在授课过程中容易只专专注于自顾自地讲解教材上的抽象的数据结构以及算法思想,不顾及学生的接受程度和融入课堂的积极性,更忽视学生课后学以致用的实践能力的培养,从而陷入“教师讲,学生被动接受”,甚至是“教师讲,学生睡”的填鸭式教学误区[1]。

第三,人才培养。缺乏与软件产业界的联系,依然把讲授理论放在首位,忽视工程实践性和应用环节,不利于学生对课程内容的掌握和工程实践能力的培养。

第四,教材内容。内容偏向理论,更新缓慢,由于内容较抽象,学生阅读后,通常只能停留在理解层面,难以付诸工程实践。

第五,实验环节。相对薄弱,通常实验的目的为验证书上的理论知识,缺乏创新能力和综合分析、解决问题能力的培养。

第六,素质培养。本门课程涉及的内容比较多,课上不可能涵盖所有知识点。学生由于惰性,多数只是掌握书本理论,机械地实践后,不再更多地领悟专业知识背后的思想。同时,缺乏团队合作意识,不能及时分享学习心得,导致专业素质提高的缓慢。

cdio工程教育模式数据结构算法中的实施方法

针对这样的情况,哈尔滨理工大学软件学院从2007年就开始研究CDIO教学模式的相关理论,在数据结构与算法的教学中取得了初步的研究成果。“CDIO”是构思(Conceive)、设计(Design)、实施(Implement)、运行(Operate)4个英文单词的首字母缩写,它是“做中学”原则和“基于项目的教育学习”的集中体现,是当今国际高等工程教育的一种创新模式[2]。我们学院CDIO工程化的教学理念的具体践行方法如下。

1建设具备高水平工程化素质的教师队伍

注重教师自身工程素质的提高,使其能够胜任CDIO课程体系的教育模式[3]。完善与国内外著名企业开展师资培训与交流合作的机制,一方面选派专职教师到企业研修,丰富专业教师的工程实践经历和经验,获取最新的技术信息,保证学生学以致用。另一方面建设由企业高级工程技术人员组成的兼职教师队伍,解决教师队伍工程实践经验薄弱的问题,提高工程教育教师队伍的整体素质。

2以培养软件卓越工程师为目标

基于CDIO的理念,我院提出“基于校企合作"2+1+1"模式软件卓越工程师教育培养的研究与实践”。面向软件行业,面向未来软件工程的需求和对未来软件工程师的素质要求,培养造就一大批能够适应和支撑软件产业发展、实践能力强、创新能力强、具有追求卓越的精神和态度、具有国际竞争力的高质量软件卓越工程师,建立社会主义市场经济条件下的现代高等工程教育体系。

3以学以致用为导向

学院每门专业课程的设置都是为了更好地培养软件卓越工程师。软件行业素有更新快的特点,而数据结构与算法这门课程是未来软件工程师以不变应对日新月异软件技术的内功。在教学中强调课程的重要性,在学习每一部分内容前,首先明确学习目标,告诉学生在什么地方应用,让同学们带着目的、本着学以致用的原则来汲取知识,减少学生学习中存在的迷茫,切实提高学生分析和解决实际问题的能力。

4以案例为中心的教学

为了切实提高学生专业学习的兴趣和解决实际问题的能力,依据CDIO工程化模式提出的“做中学”和“以案例为导向”的教学方法,数据结构与算法课程本身具有抽象难于理解的特点,结合应用相应理论的有实际意义的案例进行教学,使学生能够有目标地学习和实践,更好地掌握、完善和运用理论知识。数据结构与算法相关知识点及案例设置如下表1所示。

5以实战平台为驱动力实践教学

鼓励学生参加软件编程竞赛,激发学生的强烈的求知欲和自我学习兴趣。通过各种级别的比赛,丰富了实践教学的形式,让学生可以有针对性地学习,提高了学生的参与性和主动性。我们鼓励学生参加校、省级ACM比赛、全国软件专业人才设计与开发大赛软件大赛和全国大学生ITAT程序设计大赛等比赛。通过这些实战比赛,有效地提高了学生的工程实践能力,取得了很好的效果。本院学生在过去的三年里,在相关比赛中已经取得非常优异的成绩。通过比赛获得证书的同学,编程能力会有超出常人的进步,增加了他们就业的砝码,大赛获奖同学现在有的在百度、腾讯、华为等大公司工作,很好地适应了工作环境。我们学院这两年也组织了两届ACM程序设计大赛,通过大赛向广大同学宣传了软件设计比赛和相关数据结构与算法的知识,提高了他们学习这门课程的热情,更好地走上软件卓越工程师之路。在实验教学环节中,除了安排综合案例的设计之外,我们也从竞赛的试题中选择适合学生设计的题目,提高他们解决实际问题的能力,有效地夯实了他们的基本功。

6提高软件工程专业素质

首先,我们注重培养学生良好的软件开发习惯。在相关数据结构与算法的实施过程中,要养成加注释、“见名知意”、代码的可读性等良好习惯。其次,注重软件工程思想的培养,很重要的一个思想就是“分而治之”,问题定义、功能划分、数据结构选取、算法设计、编码和测试基本解决软件设计问题的工程化思想要时刻牢记。同时,还要培养学生的团队意识,让大家懂得分享知识的重要性,课下相互讨论,弥补思路上的盲点。我们为学生建立了网上的QQ群,如软件学院ACMer、哈理工大学软件设计群等。这些平台的搭建使学生更好地交流,培养了他们与人沟通的能力。最后,最重要的一点就是激发学生主动获取知识的求知欲,最重要的是我们用CDIO教育理念和培养软件卓越工程为目标完成教学之后,学生痴迷于键盘和鼠标,真正获取了能够捕食的“渔”和“猎枪”———工程实践的能力。

三教学效果

变被动学习为主动学习,提高了学生的参与度和主动性,明确了学习动机,学习效率大幅度提高。学生在课堂上积极主动地思考,课下能够主动找老师提出自己的设计方案,同老师讨论案例问题的优化思路。能够在老师的指导下,参与到实战性的程序竞赛中,把学到的数据结构与算法的知识应用到其中。通过2009和2010级两届学生的培养,使他们夯实了成为软件卓越工程师的基本功,为后续专业方向课程(如:J2EE、NET、嵌入式、物联网等)的开设打下坚实的基础,学生们也可以更快地在掌握相关方向,设计出相应软件。在CDIO工程化的教育理念下,学生的主观创新能力得到充分提高。在创新实验设计中有的同学将案例“旅游信息导航系统”拓展为“智能旅游一站式服务系统”,拓展了目前软件的功能,有很好的应用前景。

参考文献

[1]金静,杨朝霞.现代教学模式与CDIO理念在数据结构课程中的实践[J].高等教育,2011(5):144-146.

[2]顾佩华,沈民奋,李升平.从CDIO到EIP-CDIO:汕头大学工程教育与人才培养模式探索[J].高等工程教育研究,2008(1):12-20.

[3]于波,李阳阳. CDIO工程教育模式在Windows CE嵌入式系统教学中的应用研究[J].大庆社会科学, 2010(6):