搜索
您的当前位置:首页正文

“数据结构”课程教学改革与实践的研究

来源:爱go旅游网


“数据结构”课程教学改革与实践的研究

当前“数据结构”课程的教学存在以下问题:(1) 教学内容跟不上计算机技术的快速发展,教材都没有从理论、抽象和设计三种形态的高度来组织教学内容,理论性强,实践性弱。(2) 教学方法单一,不能让学生要掌握本学科系统分析、解决问题的基本科学方法。(3) 教学手段的落后,PPT讲稿只是简单地将教材内容翻成电子讲稿,教学效果还不如黑板加粉笔的教学手段。(4) 教学实践设置侧重于单一知识点的训练,与实际应用脱节。

针对以上所存在的问题,课程组对“数据结构”课程的教学内容、教学方法、教学手段、教学实践等方面进行了全方位改革,激发了学生的积极性,提高了教学效果。

1教学内容的改革

针对“数据结构”的教学内容具有多和杂的特点,本项目考虑把知识单元的概念推广引入到课程的内容组织中,并以知识单元为基点分阶段组织实施教学。知识单元就是由若干专题组成的知识模块,它的引入易于增加教学的灵活性,同时可以降低教学难度。知识单元易于扩展,也易于有机而适度地引入和补充新概念和新理论,也易于加强实验与实践环节的设计,有利于学生专业素质的提高和能力的培养。

根据基本数据结构的学习目标,我们可以把“数据结构”课程的教学内容设计为:(1) 预备知识单元;(2) 线性结构单元;(3) 树形结构单元;(4) 图结构单元。另外,再设计一个知识综合应用单元。这些知识单元教学过程的组织,依据由简单到复杂的系统科学分类原则,按照三个系统层次:一对一(即线性结构)、一对多(即树形结构)、多对多(即图结构)的方式呈由易到难的梯度逐步展开。预备知识单元内容主要包括: 数据结构的概念;数据结构的原则;问题、算法、程序;算法的效率等基本概念。线性结构单元内容主要包括:线性表、栈和队列这三个基本模型,以及一个线性表的特例——字符串。树形结构单元内容主要包括树模型、二叉树模型以及这些模型的典型用例。图结构单元内容主要包括图模型以及图模型的典型用例。综合应用单元的教学内容设计主要侧重于具体应用中的模型选择及其性能比较和分析,能够增加知识面的广度和知识点的深度。这部分可以根据应用场合再设计为五个相对独立的子单元:动态存储管理、排序、检索、文件和面向对象程序设计基础的抽象数据类型的概念以及相应的知识架构。

2教学方法的改革

课题考虑把整个“数据结构”的教学划分为两个阶段。第一阶段为课堂教学阶段,强调对书本理论知识的理解和掌握;第二阶段为课程设计阶段,强调利用所学到的知识解决实际问题的能力的锻炼和培养。

“数据结构”课堂教学阶段的主要任务是使学生掌握大量的系统的理论知识,要达到这一目的,我们在这一教学阶段采用奥苏泊尔有意义的接受式学习方法。有意义的接受式学习是指学生以主动性、积极性的思考为核心的一种理解性学习,其特点是学生身与心、认知与情感、逻辑思维与直觉等的和谐统一以及在学习过程中的投入。

为了实现有意义的接受式学习,我们在选择和安排教学材料时,充分考虑学习材料的逻辑意义及联系,并尽可能与学生认知结构中的有关知识相联系。这样新知识既可以在学生原有的认知结构中获得心理意义,又可以使学生原有认知结构经过吸收新知识而得到改造和重新建构。在讲授新知识前,先给学生提供涵盖面较广、概括水平高的引导性材料,即“先行组织者”。如在准备栈、队列等教学内容时,收集一些学生熟悉的实际生活中的现象、事例, 在讲授时深入浅出地把这些现象、事例和书本中的知识和理论联系起来,从而使学生对深奥的理论概念有个清晰的理解。另一方面,利用教师所掌握的知识和经验向学生讲清楚所学习内容的潜在意义(如二叉树、图以及各种数据结构在后续课程以及在实际工程中的应用等),提高学生有意义的学习意向和学习兴趣。并尽可能通过多种途径提高和改进学生的原有认知结构,最终使学生能积极主动地使这种具有潜在意义的新知识与其认知结构中有关的旧知识发生相互作用,使旧知识得到改造,新知识获得实际意义。

通过第一阶段有意义的接受式学习,学生对所讲授的基本理论、基础知识有了较好的理解和掌握,就开始教学的第二个阶段,即课程设计阶段。在这个阶段,我们采用布鲁纳的发现式学习理论来指导整个课程设计的全过程。“发现式学习”的模式就是:教师不是把知识直接呈现在学生面前,而是让学生自己通过一系列的主动的认知和发现行为去发现并获得所需要掌握的学习内容,通过自己主动的探索和寻找获得知识的答案,按照自己的学习方式去学习,然后便同接受式学习一样,把发现的内容加以内化,以便以后在一定场合下予以运用。在“数据结构”课程设计中,首先由教师创设一些学生感兴趣的、有实际应用背景的课程设计情境,使学生在这种情境中产生矛盾,从而进行积极、主动的思考,提出要解决的问题和设想,让学生充分发挥自己的能力进行研究和探索、自主地提出设计方案、独立地进行编码,最终解决问题并得出自己的结论。教师的主要任务是采用启发式教学方法培养学生良好的学习态度,激发学生的学习热情和学习积极性,并为学生发现知识创造条件和提供帮助。相对于前一阶段的接受式学习,这一阶段教学过程并非让学生“接受学习”,而是由学生自己去发现学习内容,并自己找到解决问题的办法和途径,因而更加注重学生的学习主动性,强调学习过程和学习方法的学习,这些也正是素质教育所强调和注重的。

3教学手段的改革

多媒体教学不应该只是简单地将教材内容翻译成电子讲稿,教师应当充分利用这些教学手段更新所带来的便利和视听效果以优化传统的课堂教学过程,增强教学效果和效率。那些在传统教学中用语言和板书难以表达(如复杂的图形、繁琐但无需推导的公式)、学生难以理解的抽象内容和复杂的变化过程(如用静止的流程图难以描述的动态过程等),考虑采用CAI以通过模拟、人机交互手段很好

地解决,并且可以优化过程和授课时间,使得课程的教学质量达到一个新的境界。

例如,在讲解利用堆栈和队列解决迷宫问题时,采用了多媒体教学手段,学生能够直观得看到迷宫中路线的变化,特别是在回朔时的变化,能够加深对问题的理解。尤其是通过CAI课件,教学可以个性化,而且可以使教学内容变得更形象、直观、生动和有趣,从而取得更好的教学效果。我们正在将已有的“数据结构”课件不断地改进升级,并应用到课程教学中,同时我们正在网站中开辟专门的网页和提供教师的Email地址,开展网上讨论和网上答疑。

应该指出,不能为了形象、直观和生动而削弱通过形式化数学方法进行逻辑推理抽象思维的教学,否则就会使课程沦落为著名计算学科专家Dijkstra所批评的幼稚化。而且,虽然CAI在教学环节上程度不同的发挥了作用,但不能完全取代教师在教学过程中的重要作用,应把它与本课程的课程体系、教学内容、教学方法等有机结合,才能发挥最佳效益。

4教学实践的改革

实践不仅要求学生实现每一章所讲述的基本算法,同时在学期末应要求学生完成两道综合实践题。

对于单一知识点实验题的设计,我们遵循由浅入深、循序渐进的原则,设计十道题,包括线性表操作、链表操作、串操作、栈操作、队列操作、树操作、图操作、查找、排序和文件操作。我们考虑设计的实验题来源于现实社会的实例,例如医院排队挂号看病的问题对应于队列的操作;计算机系统中文件和目录的建立对应于树的操作;网络路由的选择对应于图的操作。这样使学生觉得数据结构不再只是抽象的理论,而是一门与实际紧密联系的课程,可激发他们学习的兴趣。单一知识点实验题的练习与课堂授课和学生学习是相辅相成的,是强化学生理解数据结构局部知识的一种训练手段。

我们考虑设计的综合实验题有两道,一个是运用排序来对学生管理系统中的数据进行处理,该题包含了数组、线性表、查找、排序、文件存取及系统资源调用等内容;另一个是城市交通图的设计,该题包含了图的遍历以及递归算法等知识点的理解和综合应用能力。这两道题均覆盖了数据结构的大部分知识点,充分体现了静态数据结构与动态数据结构的结合,具有较强的综合性。通过对综合实验题的连联系,学生逐渐学会针对具体问题,自己选择合适的逻辑结构以及有效的组织这些数据的存储结构,学生的软件设计水平也会因此得到进一步的提高。

通过这次教学改革,能够调动学生主动学习的积极性,有效培养了学生的实践能力,也促进了教师业务素质的提高。我们这门课程目前正在申请校级精品课程,也希望能够将本课程的教改经验推广到整个计算机专业课程的教学中。

参考文献

[1] 李春葆. 数据结构教程[M]. 北京:清华大学出版社,2005.

[2] 张铭,许卓群,杨冬青等. 数据结构课程的知识体系和教学实践[J]. 计算机教育,2004.

因篇幅问题不能全部显示,请点此查看更多更全内容

Top