您现在正在浏览:首页 > 职教文章 > 职教论文 > 谈谈《数据结构》课的教学体会

谈谈《数据结构》课的教学体会

日期: 2009-1-8 18:28:28 浏览: 0 来源: 学海网收集整理 作者: 匿名

摘要:《数据结构》是 计算 机专业的基础课之一,是一门原理性较强的课程。在教学过程中,除了使用传统的讲授方式以外,还可以增加一些实例以及多媒体演示的方法,便于激发学生的学习兴趣,提高教学效果。
  关键词:数据结构课程;教学体会
  
  《数据结构》课程是大部分高等院校计算机专业基础课,也是计算机专业学生公认难学的课程之一。在计算机专业高职升本的 考试 中,大部分的本 科学 校选择《数据结构》作为专业考试课程之一。而《数据结构》课程本身是一门原理性较强的课程。学海网(www.xuehai.net)对于应考的学生而言,这门课程要比C++等程序设计类课程考试难度大一些。《数据结构》课程主要的教学任务是使学生了解和掌握数据结构中线性、树型和图形三种结构的相关知识,以及算法设计中常用到的几种排序算法和查找算法。它是处于程序设计初级阶段的一门学科,选择适当的数据结构对算法的设计做了基础结构的保证。《数据结构》课程的内容中也介绍了算法分析的标准。由于该课程原理性较强,不能像应用软件课程那样,让学生直观地去认识;也不像程序设计课程那样,通过一个阶段的学习,学生可以制作出一个作品,对自己所学的内容加以 总结 。《数据结构》就像另一门原理性课程《微机原理》一样,大部分学生都会觉得很难学,而学过后也没有什么效果,从教师的角度来看,大部分任课教师对原理性较强的课程讲授时,一般都会采用传统的“一块黑板、一支粉笔、一人讲课、众人听”的模式,只有个别教师会使用多媒体课件进行讲授。通过多年的教学实践,笔者总结归纳出了比较适合学生的教学方法,并取得了良好的效果。
  
  根据课程内容选择教学方法
  
  《数据结构》课程教材中包含了数据结构相关的基础知识和相关的算法知识。对于基础理论知识部分可以采取在教室集体讲授的教学方式。在讲授时可以通过举例或借用实物的方式对内容进行描述,利用引导教学的方式让学生发挥自己的想象去解答问题。例如,在讲到第三章“栈和队列的结构”时,首先说明栈和队列与前面所讲到的线性表有所不同。在线性结构中,我们可以对它的任意一个数据元素进行操作,而栈和队列都是操作受限的线性表,栈的插入和删除操作在一端进行,这样的结构决定了它的特点是先进后出,后进先出;队列的结构是插入在一端,删除在另一端,其特点是先进先出,后进后出。教师在说明了栈和队列的结构及特点之后,引导学生自己考虑现实生活中存不存在栈和队列结构,很多学生会找到队列的结构。例如,在超市排队结账,火车进站,这些答案基本相似。对于栈结构学生的答案有所不同,有经常用到的单门电梯、有特殊药瓶、飞机行李仓等。学生通过思考,对栈和队列的结构有了初步的认识。这种认识要比教师直接讲授记忆更加深刻、生动,也可以把课上讲授的问题与实际生活中的问题结合起来。例如《数据结构》中的哈夫曼树可以应用于算法的设计以及电报码的编码方面。在有向图(见右图)中,某点到其他各点的最短路径问题中,可以把这个有向图看成是一张地图,固定点V0可以假设为天津,那么V0与其他各点之间的最短路径可以假设为天津到其他各城市间的最短路径。像这样的问题在《数据结构》中还有很多。利用这种方式,学生的理解程度比不用实例时要好得多。除此之外,《数据结构》中还有一些内容可以通过flash将过程以动画的形式展现出来。Flash的动画形式比传统的板书更加吸引人。Flash动画从颜色、声音、图像等方面对学生视觉的冲击比传统方式要强烈得多,可以强化学生的记忆。总体来说,《数据结构》课程以教室传统讲授为主,适当地加入实例教学、多媒体教学等多种教学方式,可以激发学生的学习兴趣,提高教学效果。
  
  先讲授如何得到结果,再规范过程
  
  在《数据结构》的内容中,有些问题的解决过程很繁琐,如果按照常规的讲授方式,先提出问题,规范过程,一步步地推出过程,有些学生会在讲解过程中不知所措,不如先将问题简化,用语言或实例解决问题并得到答案。在学生知道如何解决问题之后,再规范过程。例如,在图的最短路径问题中,题目中给出了一个有向 网络 (见下图)要求出V0到其他各结点的最短路径距离。按常规的作法设定三个数组S[6]、dist[6]、path[6],分别表示是否找到最短路径、路径值和路径终点的前驱结点,通过循环记录过程。有些学生对算法掌握不熟练,在繁琐的过程中找不到结果。笔者尝试使用了如下的方法:先不考虑规范的过程,让学生先学会如何从图中找到最短路径,然后再对应规范过程一步步求出结果。因为学生已经掌握了求解的过程,只是将过程规范化,所以比起常规的方式更容易接受。一个问题有多种讲解方式,要选择一种适合的方式来教授学生,并且要根据学生课堂的反应对内容进行调整。
  
  让学生参与到讲课的过程中,使被动学习变为主动学习
  
  传统的教学方式肯定了教师的主导作用,但学生只是被动地接受知识。其实在适当的时候可以让学生参与到讲课的内容中来,使他们参与其中,既活跃了课堂气氛,又形象地将操作过程演示了出来,教学效果会更好。例如,在讲授《数据结构》的线性表链式存储结构时,笔者尝试着找了几个学生来演示线性表的链式存储,我们假设每一个学生是一个数据元素即链表中的一个结点,每个学生的左手是prior指针域,右手是next指针域,如果学生间是通过右手放在下一个学生的肩膀上,这样就形成了一个单链式的结构;如果同时把左手放在前一个同学的肩膀上,就形成了双向链表结构。在我们形成了这样一个结构之后,学生可以很容易地看出链表的结构。让指定的学生从队伍中离开即链表删除操作;加入新的人员,即在链表中插入新元素。原本链表的插入与删除操作是学生很容易出错的地方,他们记不清结点连接和断开的语句顺序。但是,面对学生组成的链表,他们很容易了解新结点的插入过程和指定结点的删除过程,对要求执行的插入或删除操作得出相应的结果。这样的教学形式既生动,又记忆深刻,比直接给出操作语句更好。通过在几个班级的实践,这种方式受到了学生的普遍欢迎,尤其是对程序基础较差的学生来说,这种方式要比利用语句讲解的方式更容易理解和接受。
  
  增加练习,培养学生的实践能力
  
  虽然《数据结构》是一门原理性较强的课程,但是有些内容是通过算法来实现的。可以在教学过程中加入适当的上机实践,这不仅可以加深学生对所学内容的认识,更能提高学生的编程能力。学习 计算 机不动手实践是很难学会的,操作能力的培养也必须以理论知识与实践操作的具体结合为基础。
  除了上机实践外,在《数据结构》课程中,还要适当引入一些具体的题目,让学生通过练习发现更多的问题,以及面对不同的问题,应采用什么样的方法去解决。《数据结构》课程有它的独特之处,在大部分的专接本 考试 中,都会考到这门课程。教师可以选择各个学校历年的题目让学生多加练习。学生通过这些题目的练习,对各个学校的出题方式有了进一步的认识和了解,同时提高了学生的应试能力。在《数据结构》课程中,习题练习与上机练习起着辅助传统教学的重要作用。
  事实上,只有在《数据结构》课程中采用多种教学方式,才能更好地被学生所接受,从而提高教学效果。文章中笔者所提到的教学方式,近几年已在一些班级进行了尝试,收到了良好的教学效果。
  
   参考 文献 :
  [1]师书恩.计算机辅助教学[M].北京:高等 教育 出版社,2001.
  [2]严蔚敏.数据结构(C语言版)[M].北京:清华大学出版社,1998.
  [3]谢安邦.高等教育学[M].北京:高等教育出版社,2000.

返回顶部