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

  • 格式:doc
  • 大小:28.00 KB
  • 文档页数:4

“数据结构”课程教学改革与实践摘要:数据结构课程是计算机程序设计的重要基础课程,但现在的教学过程中存在着若干问题,影响了该门课程的教学效果。

本文从教学实践出发,提出了一些“数据结构”课程教学中存在的问题,并针对这些问题提出了相应的改革措施。

关键词:数据结构;教学;改革“数据结构”课程是计算机程序设计的重要基础课程,它不仅是计算机专业的核心课程,而且已成为许多高校信息类相关专业的重要课程,是设计和实现编译程序、操作系统、数据库系统及其它系统程序和大型应用程序的重要基础。

本课程要求学生学会分析计算机所加工数据的数据结构特性,为程序设计涉及的数据选择适当的逻辑结构、存储结构及相应的算法,并初步掌握算法的时间效率分析和空间效率分析的技术。

同时,本课程的学习过程也是复杂程序设计的训练过程,要求学生编写的程序结构清楚、正确易读,要符合软件工程的规范,目的是培养学生的数据抽象能力。

学生对本课程的学习效果直接影响到学生数据抽象能力和程序设计能力的培养。

但现在的教学过程中存在着若干问题,影响了该门课程的教学效果。

本文从教学实践出发,提出了一些“数据结构”课程教学中存在的问题,并针对这些问题提出了相应的改革措施。

1 “数据结构”课程教学中存在的突出问题学生的学习兴趣不高。

在教学中,学生刚接触到“数据结构”课程时,总认为“数据结构”是一门理论课,感到枯燥、乏味,学习兴趣不浓,甚至有学生认为不学数据结构照样能编出程序。

数据结构是门理论性与实践性并重的课程,注重培养学生利用理论知识解决具体问题的能力的培养。

如果仅仅满足于讲解清楚,而不注意教学的生动性,学生的学习行为只能是种被动行为,为了考试而学习。

最后导致学生死记硬背课堂讲解的知识点,把一门实践性很强的课程变成了一门内容枯燥、乏味,需要大量记忆知识点,与实践完全脱钩的课程。

学生程序设计能力不足。

学生在学习“数据结构”课程时,由于其前导课程掌握不好或没能熟练掌握(高级程序设计语言或面向对象程序设计),导致学习“数据结构”课程时感觉很困难。

数据结构中的算法多数由类C或C++实现,在学数据结构之前,应该已经系统的学习过C和C++的相关知识。

但由于学生刚刚开始接触程序设计语言,对计算机语言的许多约定理解得不是很透彻,用计算机解决问题不可能得心应手,程序设计水平有待进一步提高。

对类C、类C++语言描述的高度抽象的算法理解困难,算法思路有,但编制程序又无从下手,不能熟练地用程序设计语言描述出来。

传统教学模式限制课堂教学效果。

在“数据结构”课程的教学过程中,长期以来,我们遵循以教师为主体,学生被动学习的传统教学模式。

教学过程严格按照教学日历、教学大纲和教学进度来组织进行。

在整个的教学过程中学生被动地接受知识,教师很少考虑学生的需要、情感、态度和价值观。

对于数据结构这样一门概念、算法繁多,需要较强逻辑思维能力的课程仍采取传统教学模式,就很难取得良好的教学效果和达到预期的教学目的。

在教学活动中,学生容易对课程学习的意义产生怀疑,失去学习方向,学习的兴趣和主动性逐渐减退,最后变成机械式地听课、作笔记、上机实践。

理论教学与实际应用脱节。

“数据结构”课程内容抽象、琐碎、庞杂,涉及很多概念和技术。

所有这此内容均自成体系,相互之间的衔接线索很少,总体感觉内容零散,没有个整体的知识框架体系。

这些内容在实际应用中又都很重要,而现行的教学计划实践课时普遍不足,实验课安排的实验项目很难含盖课程的所有知识点。

同时实验内容的设置上,往往都是大量的验证性实验内容,缺乏对实际问题的解决,学生在实验之后仍然不知道学习数据结构在解决实际问题的时候能对编程有什么指导意义。

教学手段单一。

数据结构中有些算法的演示利用传统的粉笔加黑板的教学方式,缺乏直观性效果,难以充分展示算法的动态变化过程,学生难以想象数据之间的复杂关系。

近年来,数据结构的教学已经大量采用多媒体教学,但是采用简单的PPT,仍然不能很好的解决这样的问题,且存在多媒体授课信息量大,学生听课时强度大,理解困难,严重影响了教学效果。

2 “数据结构”课程教学的改革措施注重培养学生的学习兴趣。

兴趣是最好的老师,只有学生对“数据结构”课程的产生了兴趣,才能够变被动学习为主动学习,取得事半功倍的教学效果。

在教学的过程中,首先不要讲枯燥、乏味的理论,使学生对该课程产生恐惧心理,而应该从实际应用出发,通过实际问题的分析,明确数据结构课程的重要性与实用性,激发学生学习兴趣。

同时可以在实践环节安排学生利用数据结构的知识与理论,开发一些学生感兴趣的小程序,比如利用堆栈的原理开发迷宫求解的程序;还可以建立学习讨论组,结合数据结构课程的知识来求解一些实际问题。

通过实践进一步激发学生的学习兴趣。

教学中穿插复习前导课程的教学内容。

“数据结构”课程是在学生有一定的程序设计基础的前提下开设的,“数据结构”课程最大的特点是以算法为教学模块。

基于C语言的数据结构,一个算法对应一个函数,这样做的目的是为了摆脱源程序的繁琐,以便将精力集中在算法思想上。

所以在大部分教材中,几乎看不到一个完整的程序,也正是这个原因,给初学者带来了很大的不便。

首先,C语言本身很灵活,对刚刚学完程序设计的学生运用不一定很自如。

其次,C语言难点就是指针、函数、地址做函数参数、结构体等,而“数据结构”课程教学过程中恰好用到这些知识点,教材上所见的全是C语言函数,上机试验要得到完整无错的源程序,这就要求学生对C语言握得非常熟练,而此时学生的程序设计语言运用能力又不是很强,所以在开始的时候需要用一两个课时复习一下C语言的相关知识,如数组、指针、函数(特别是指针做函数参数)、结构体等。

然后,对刚进入本课程学习的前几个算法给出完整的程序,并加以详细讲解,使学生理解算法和源程序之间的关系。

建立以学生为主体的教学模式。

在数据结构课程的教学过程中,教师除了讲解基本的理论知识外,还要注意引导学生去分析问题、抓住本质、组织数据、设计算法、解决问题,并且要求学生能举一反三,触类旁通,从而培养学生的综合能力。

采用问题驱动教学法,问题驱动是指学生在教师创设的情景下,应用已学知识提出相关问题,继而解决问题的过程。

它要求教师在理论教学过程,采用发现学习模式,应用启发教学方法,提出与所学理论相关问题,要求学生思考解答,并逐步引导学生解决问题,培养学生解决实际问题的能力。

注重实践教学环节。

“数据结构”课程有很强的实践性,注重培养学生利用理论知识解决具体问题的能力的培养。

如果仅仅满足于讲解清楚,是远远不够的,应适当调整教学计划,加强实践环节,有条件的情况下,可以单开实验课。

学生在“数据结构”课程的学习过程中,比较困惑的是理论不能和实践相结合,不知道学习数据结构能做什么。

所以在课程讲述中,除了要求学生上机实现基本算法外,还要完成一定数量较大的典型程序,同时给学生以大量的实例,提高学生解决实际问题的能力。

采用多种教学手段。

为了让学生在有限的时间内更好的掌握知识,可以采用融合了多媒体技术的计算机辅助教学(CAI)。

CAI作为现代多媒体技术的应用,是常规教学手段的重要补充,在教学中起到了不同于其它教学手段的独特作用。

那些在传统教学中用语言和板书难以表述、学生难以理解的抽象内容和复杂的变化过程,CAI均可以通过模拟、人机交互手段很好地解决,并且可以优化过程和授课时间,使课程的教学质量达到一个新的境界。

尤其是通过CAI课件,可以使教学内容变得个性化,更形象、直观、生动和有趣,从而取得较好的教学效果。

因此,运用这种现代化的教学手段,改善课堂教学中的不足,已成为教学方法改革的方向。

我们在利用CA1与网络作为计算机辅助教学时,不能为了形象、直观和生动而削弱通过形式化教学方法进行逻辑推理抽象思维的教学。

虽然CAI 在教学环节上程度不同的发挥了作用,但不能完全取代教师教学过程中的重要作用。

只有使它与本课程的课程体系、教学内容、教学方法等有机结合,才能发挥最佳效益。

利用计算机网络构建教学支持平台。

充分发挥校园网的作用,利用计算机网络辅助教学,将“数据结构”的教案、课件以及相应的教学资料,进行汇集整理,逐步积累,最终集成一个资料丰富的网站,放在校园网上师生共享,形成一种全新的教学模式,因材施教,以便充分发挥学生的学习积极性和主观能动性。

另外也可以设立辅导答疑时间,利用网络进行答疑,解决同学们在课余时间遇到的问题。

注重备课的质量。

教育实践证明,教师的知识越丰富、越深厚,就越能在教学过程中把知识教活,避免“照本宣科”的现象。

才能指导学生灵活地运用知识,才能正确地处理教材,把道理讲得通俗易懂。

再加上“数据结构”本身的特点,如果照本宣科,学生很难理解,由此很可能导致学习兴趣不浓。

因此,必须认真备课。

在备课中要查阅大量的参考资料,对每个概念、原理做到深刻理解,然后用学生能够接受的方式简明扼要地去介绍。

从而起到分散难点、化难为易的效果。

3结束语总之,“数据结构”课程的教学是一个复杂的系统工程,具有鲜明的特点,不能单纯依靠简单的模式和手段就能搞好,必须依靠各教学环节的不断协调与配合,采用系统科学的方法来提高“数据结构”课程的教学质量。

参考文献:[1] 严蔚敏,吴伟民.数据结构(C语言版)[M].北京:清华大学出版社,1997.[2] 朱战立.数据结构[M].北京:高等教育出版社,2004.[3] 徐孝凯.数据结构实用教程[M].北京:清华大学出版社,1999.[4] 殷人昆.,陶永雷.数据结构[M].北京:清华大学出版社,1999.。