您好, 访客   登录/注册

《数据结构》课程教学改革研究

来源:用户上传      作者:

  摘 要:《数据结构》是计算机专业一门重要的专业基础课程,也是一门理论性和实践性较强的课程。为提高《数据结构》课程的教学效果,在分析《数据结构》课程特点及教学现状的基础上,总结出普遍存在的问题,提出了解决问题的策略,探讨了合适的教学方法与手段,以期提高教学活动的组织与实施以及实验教学设计的科学性。
  关键词:数据结构;实践教学;教学改革
  DOIDOI:10.11907/rjdk.151869
  中图分类号:G434
  文献标识码:A 文章编号文章编号:1672-7800(2015)012-0208-02
  0 引言
  《数据结构》作为计算机专业一门重要的专业基础课程,其作用毋庸置疑,但是,在各高校的具体教学中,因该课程教学内容安排不合理等各种原因,导致教学效果不佳,影响了后续的专业课程学习,进而影响学生的整体专业素质。探讨建立一种科学有效的教学方法,提升教学效果,对推进《数据结构》教学意义重大。
  1 课程概述
  《数据结构》的主要任务是讨论各种数据结构的逻辑结构、存储结构及相关操作算法,以确定怎样合理组织数据,为所涉及的数据选择适当的存储结构、逻辑结构,设计、优化算法,以提高计算机执行程序时间、空间效率 [1]。它为操作系统、数据库原理、编译原理等后续专业课程的学习奠定了基础,对从事软件项目的开发有着重要的作用。《数据结构》作为数学、计算机硬件、软件三者之间的一门核心课程,对学好非计算机专业其它课程也发挥着重要的基础作用。因此,许多电类非计算机专业也将它作为必修课程。该课程的教学任务主要立足于基础知识和基础理论的掌握、应用能力的培养以及实践能力的提高,要求学生针对简单的应用问题,能够选择合适的数据结构设计并编写出有效的算法程序。《数据结构》是实践性很强的一门课程,不但要求学生深刻领会相应的基本理论、基本原理,还要求学生动手设计、上机实现各种算法,以达到理论与实践结合,综合应用各知识点的目的,培养学生的科研能力和创新精神。
  2 教学中存在的问题
  (1)教学内容安排不合理。
  《数据结构》课程的教学安排主要存在两个矛盾:一是繁多的教学内容与少量的教学学时的矛盾。该课程安排了顺序表、链表、树、图、队列、堆栈等,还有各种查找方法、排序方法以及分析和计算等课程基础知识[2]。教学内容繁多导致课堂教学时间紧张,有些教学内容只能蜻蜓点水,无法将理论知识完全讲深、讲透、讲实;二是理论教学偏多与实验教学偏少的矛盾。目前大多数高校对该课程都以理论教学为主,学生基本能掌握顺序表、树、图、哈夫曼编码等基本知识,并能应付笔试,但对数据结构如何灵活变化、如何实际操作、如何实际应用难以掌握,其主因就在于学生上机实验不足,很难联系实际去学习和深化理论。《数据结构》的抽象理论教学,有其独立于应用的好处,然而也正是这种抽象性反而如一堵墙挡在了它与学生之间,如何将这堵墙转变成一架桥是广大教师需要考虑的问题。
  (2)与其它课程衔接不到位。
  《数据结构》作为计算机专业的一门基础课程,与其它专业基础课程的衔接至关重要,如果其它课程内容安排不好,会增加学习难度。《程序设计语言》、《离散数学》等专业课程,特别是《程序设计语言》课程中函数、指针以及结构体等重要知识点,对于学习《数据结构》很重要[3]。但是,在现在的教学中,一方面,由于课时限制,部分课程的内容比较粗浅,也不全面,引起学生学习困难。如C语言的教学就因为课时较少而使其编程教学处于初级阶段,在学习数据结构中的程序时,学生普遍难以适应和理解。同时,还删减了C语言教学中链表的相关内容,仅仅学习语言语法,且指针的学习也不深入,而《数据结构》讨论的抽象数据关系和算法要用C语言去实现。由于算法程序中省略了不关键的辅助变量定义,使学生在开始阶段难于起步。而如果在数据结构开始阶段的线性表程序不能独立完成,对后续的树、图的内容更加力不从心。另一方面,学生对于基础先修课程普遍存在重视不够、基础不牢、掌握不熟的情况,导致本课程的学习难度加大。
  (3)学习主动性激发不够。
  计算机的学习本应是一件有趣的事,但是,在实际教学中,因为教学内容较抽象等原因,致使学生学习兴趣不大,影响学习效果,其原因是多方面的:一是教学模式的限制。目前,《数据结构》的教学仍是以“教”为主,学生实验不足,教学互动不到位,教与学没有同步。如有些教师在《数据结构》教学中,对知识掌握程度高、见解比较独到、讲授也比较清楚,但因为没有突出学生的主体地位和互动式教学,只是一厢情愿地向学生灌输理论知识和自己的见解,致使学习事倍功半,教学效果不尽人意。二是课程本身比较抽象枯燥,部分学生对学习该课程的意义认识不到位,对该课程的应用缺乏深入了解,觉得这门课程是空讲理论,并不实用,学习积极性不高。三是学生个人因素。由于学生个人爱好、学习能力等方面的原因,难以激发学习主动性。
  3 教学改革对策与措施
  针对《数据结构》教学中存在的问题,结合该课程特点,在教学过程中有必要对课程内容、教学方法进行改革,可从整合教学内容、改革教学方法和强化实践环节等方面开展课程教学改革探索。
  3.1 整合教学内容,提高教学内容的科学性与时代性
  教学内容是教学设计的核心,要从学生的实际出发,以教学大纲为依据,结合教育学、心理学的有关理论,综合组织教学内容。一是从宏观角度来看,计算机专业内的相关课程都要从计算机专业的整体出发,统筹考虑教学内容,做到整体安排科学合理,课程与课程之间衔接紧密、环环相扣,而不是相关课程各自为政、各说其是,甚至互相矛盾,基础必修课程必须考虑其它后续课程的学习。二是从微观角度来看,要选择好《数据结构》教材,做到教材版本新、教学内容实用。教师在教学课件中应及时将学科前沿动态加入授课内容,防止内容滞后。如数据结构的描述上尽量使用面向对象的方法,描述语言尽量选择目前较为流行的C++、Java等语言,在教学安排中也应把这些语言作为先修课[4]。   3.2 加强实践教学
  在《数据结构》教学中,除了采用传统的理论教学手段,还应该加强实践环节。一方面要充分认识实践教学的重要性,提高实践教学的比重。教师要根据实际情况,适当增加实践教学的比例,让学生更多通过上机实验来掌握课程知识,提高学习的直观性。另一方面要提高实践教学的针对性,根据教学总体安排和学生对知识的掌握情况,分基础型、应用型、开放型等多个层次安排实验内容,便于学生掌握理论,提高应用创新能力。如针对所有学生可选择基础性实验,重点巩固和掌握基础理论知识;针对部分已经熟练掌握基础知识的学生,可适当增加难度,选择应用型实验,提高理论应用能力;针对少数学有余力的学生,可培养其开发创新能力,自主选题进行实验,教师适当指导。
  3.3 导入案例教学,激发学生学习的积极性和创造性
  学生喜欢学习他们认为有用的课程,例如嵌入式、DSP等。因此对于数据结构教学,如何让学生认识到其作用就十分关键。许多学生认为该课程偏理论、实用性不强,究其原因是对《数据结构》的认识不充分,特别是对其实际应用不了解。实际上,许多工程实践都需要用到数据存储结构和算法,《数据结构》的应用比较广泛,运用的案例也比较多[5]。因此,可以用这些实例向学生展示《数据结构》的实用性和重要性,以激发学生学习的积极性。一方面可以从案例入手,根据课程内容导入一些贴近生活,趣味性、启发性强的案例,学生在开始学习前就对《数据结构》有相应的直观认识,激发其探究解决问题的好奇心,从而提高学习兴趣。在此基础上,引入每章知识点,讲解抽象数据类型的定义,恰到好处地从案例过渡到具体的数据结构,提高教学效果。另一方面是要重点解析经典案例,帮助学生建立系统概念,提升应用能力。课程导入案例可激发学习积极性,但要想更加深入理解和运用数据结构知识,就需要对经典案例进行系统解析。经典案例有相当强的代表性,其覆盖的知识点比较全面,通过对经典案例的解析,学生对理论知识的应用认识更加直观、更加深刻、更加具体,对理论知识的理解也往往能达到举一反三、融会贯通的效果。经典案例的选择十分关键,应尽量选择能充分体现数据结构特征和主要算法的案例,难度适中,便于学生操作。
  4 结语
  数据结构是计算机程序设计的重要理论技术基础,对于该课程的教学不仅要从理论上进行探讨,还要从教学内容、教材选择、教学方法、实践环节、学生自身因素等方面进行研究,通过建立科学合理的教学内容体系,加大实践教学力度,引入案例教学方法,提高学生的理论素养和实际应用能力,提高课程教学效果。
  参考文献参考文献:
  [1] 曲爽,姚艳秋.数据结构课程教学方法研究与实践[J].吉林广播电视大学学报,2010(12):1-2.
  [2] 张力,陈彬,张胜利,等.数据结构课程教学方法探讨[J].软件导刊,2012,11(5):181-183.
  [3] 季晓慧,王群,管建和.数据结构课程教学初探 [J].中国地质教育, 2009(1):116-119.
  [4] 段明秀,陈国平,何迎生.内外兼修――数据结构课程教学新思路[J].计算机教育, 2011(4):26-28.
  [5] 赵晓,孙连山,王晓霞.数据结构课程教学改革的研究[J].电脑知识与技术, 2011(4):142-145.
  (责任编辑:杜能钢)
转载注明来源:https://www.xzbu.com/8/view-11462754.htm