您好, 访客   登录/注册

《数据结构》课程教学改革初探

来源:用户上传      作者: 何福保 吴德道 严世标

  摘 要: 《数据结构》课程是计算机专业的一门非常重要的专业基础课,在教学过程中存在的诸多问题导致教学效果不佳。本文结合该课程的特点,分析教学效果不佳的成因;从做好课程衔接、教学方式的合理运用、实验设计与安排、通过课程设计锻炼学生理论与实践相结合的能力四个方面,对《数据结构》课程教学改革进行初步探讨,以提高教学质量。
  关键词: 《数据结构》课程 教学效果 教学改革
  
  1.课程介绍
  《数据结构》是计算机专业的一门重要的专业基础必修课程,是计算机专业后续课程的基础,主要用于处理非数值计算问题。学习《数据结构》就是要让学生掌握数据在计算机中的表示、组织和相应结构上的算法设计,以便学生在软件的开发过程中能选择适当的逻辑结构、存储结构,高效设计算法,并初步掌握算法的时间和空间分析技术。
  《数据结构》课程主要介绍:线性表、栈、队列、数组、串、树和二叉树、图等基本数据结构及其应用;排序和查找的原理与方法。通过本课程的学习,学生能较熟练地掌握数据结构的基本概念、特性,存储结构及其相关算法;熟悉它们在计算机科学中最基本的应用;培养和训练运用高级程序设计语言编写结构清晰、可读性好的算法及初步评价算法的能力;为《编译原理》、《操作系统》、《数据库系统原理》等后续课程的学习,以及计算机软件的研制和开发打下一定的理论及实践基础。
  2.教学效果不佳的成因分析
  《数据结构》课程的基础性,以及该课程在计算机专业全国考研统考专业课程中所占的比重,使得大多数学生都能较认真地对待本课程。但在实际的教学过程中,我发现教学效果一直不尽如人意,不仅表现在期末考试补考率居高不下,还表现在课程实验和课程设计两个实践环节中,学生难以将课堂教学内容转化为可实际运行的程序,以及解决实际问题的能力较差。学生普遍反映的问题是:课堂上听老师讲解觉得很好理解,但等到要学生自己选择数据结构,并设计算法来解决实际问题的时候就感觉力不从心了。部分学生觉得数据结构理论性太强,过于抽象,在实际的应用中很难抽象出各种数据类型。另外一个常见的现象就是只知道本课程很重要,但不知道重要在什么地方,与实际生活相脱节,不能用来解决实际问题。教学效果不佳,我认为大致有如下原因。
  2.1先修课程基础不扎实
  《数据结构》的直接先修课程主要是高级程序设计语言(我校为C语言),但是同时也要求学生具备一定的数学知识。对大多数学生而言,数学课程和高级程序设计语言的学习也是有一定难度的,所以部分学生无法理解课堂上讲的例题和思路,难以进行算法分析、比较算法性能和算法的编程实现。
  2.2教学方式单一
  现在很多高校在《数据结构》教学过程中都已经采用多媒体的形式进行教学,我院就是这样。我认为,多媒体教学是把双刃剑,即使用不当不但不会带来任何益处,反而会带来弊端。曾有学生向我反映,通过PPT,传授的信息量太多,同学们理解困难,跟不上节奏,严重影响了教学效果。
  2.3没抓好课程实验环节
  课程实验环节是紧密配合理论教学,通过实验,帮助和加深学生对相应数据结构的物理结构和逻辑结构和编程实现等各个环节的整体理解。但是学生面对程序错误的时候,总是显得手足无措,老师如若不能采取相应的措施,抓好课程实验环节,则会直接影响教学效果。
  2.4理论教学与实际应用相脱节
  数据结构课程是建立在抽象数据类型的基础上,用于解决非数值计算问题的一门学科,内容相对比较抽象、琐碎、庞杂,并且涉及很多概念和技术。因此,如果单纯地按照课本照本宣科,就不能和实际应用相结合,学生就会很难接受。而即使有相关的实验,但是由于基本上都是一些验证性实验,做完结束,实际上也并没有体会到知识的实质,更别说做到融会贯通了。
  3.教学改革探讨
  3.1做好课程衔接
  数据结构课程的直接先修课程虽然只有高级程序设计语言一门(C语言),但实际上与高等数学和离散数学中的相关知识点也联系甚密,做好课程衔接是数据结构教学改革中必须探讨的问题。例如,算法分析的研究必须以一定的数学理论为基础;非线性结构的分析必须用到树和图的基本知识。另外,数据结构编程实现过程中,高级程序设计语言中的指针和结构体是频繁出现的知识点。因此,针对课程衔接过程中的重要知识点,一定要采取适当的办法加以回顾,我院在实际教学中就已经安排了一到两次的衔接课程。
  3.2教学方式的合理运用
  在多媒体辅助教学普及的今天,一定要根据数据结构课程的各知识点的特点,将多媒体辅助教学与传统教学有机结合。所以在数据结构的课程教学中利用多媒体技术时,一定要注意扬长避短,并根据该课程概念多、内容抽象、逻辑性强等特点,精心设计、制作多媒体课件,进行一些必要的动态演示,并适时地运用传统教学模式,组织必要的课堂讨论、课堂提问等形式多样的课堂交互环节。
  3.3课程实验设计与安排
  课程实验是伴随着《数据结构》课程的课堂教学而进行的实践教学环节。与课程设计实践教学环节不同的是,课程实验的时间安排上是松散的;根据实验教学大纲的要求,依据不同的章节内容安排不同的实验项目。课程实验的目的主要在于掌握各种数据结构的物理实现方法和掌握基本算法的设计实现方法。通过实验,强化培养“结构―算法―编程”三者密切相关的意识。所以在课程实验的设计上,一般较偏重于如何编写功能单一的“小”算法的问题;而在实验安排上,一定要充分调动学生的积极性,并严格要求学生做好实验前的准备工作:主要是实验程序的准备和相关知识点的温习。我在实际教学过程中,一般在安排实验的前一次课堂教学中,会安排足够的时间,阐明实验项目要求,并演示实验效果,以便学生根据要求和效果做好实验前的准备工作。
  3.4通过课程设计锻炼学生理论与实践相结合的能力
  课程设计是《数据结构》课程课堂教学和课程实验的延续,是重要的一环。我院将其列为一门单独的考查课,主要是锻炼学生根据实际问题的要求,正确选择合理的逻辑结构,并采用适当的物理结构,解决实际问题的能力;更深层次的目标则是希望学生能够针对实际问题选择、扩展甚至设计全新的数据结构,然后设计相应的存储结构并加以实现,从而最终完成问题的求解。由此可以看出,课程设计环节是一个融会贯通的过程,是不能通过课程实验完成的,也不可能在课堂教学中就建立完整的意识。所以在具体的课程设计实践教学环节中,一定要让学生充分认识课程设计的重要性;通过给定学生不同的求解问题,让学生培养应用数据结构基本知识来分析问题、解决问题的全局意识;训练学生从系统的、规范的观点来进行计算机问题的分析、设计、编码测试等。总之,课程设计要有利于锻炼学生理论与实践相结合的能力。
  4.结语
  我针对《数据结构》课程的特点,分析了教学效果不佳的成因;并结合实践,总结了从做好课程衔接、教学方式的合理运用、课程实验设计与安排、通过课程设计锻炼学生理论与实践相结合的能力四个方面,尝试对《数据结构》课程进行教学改革。
  
  参考文献:
  [1]严蔚敏,吴伟民.数据结构(C语言版)[M].北京:清华大学出版社,2008.
  [2]叶双,吴清江等.提高“数据结构”课程教学效果的方法初探[J].计算机教育,2009,(11).
  [3]郝宗波.数据结构课程教学改革探讨[J].计算机教育,2011,(2).
  [4]朱小梅,杨先凤等.数据结构课程教学方法探析[J].探索研究,2011,(5).
  [5]邱保志.多媒体技术在《数据结构》课程教学中的应用研究[J].廊坊师范学院学报(自然科学版),2010,(2).
  [6]李群,赵玉霞等.《数据结构》实验课程设计与探讨[J].中国现代教育装备,2007,(3).
  [7]李治军,廖明宏等.数据结构与算法课程设计教学模式的探讨[J].计算机教育,2006,(2).


转载注明来源:https://www.xzbu.com/9/view-910273.htm