• 学前教育
  • 小学学习
  • 初中学习
  • 高中学习
  • 语文学习
  • 数学学习
  • 英语学习
  • 作文范文
  • 文科资料
  • 理科资料
  • 文档大全
  • 当前位置: 雅意学习网 > 理科资料 > 正文

    [《数据结构》教学改革] 数据结构与算法

    时间:2019-02-11 03:18:08 来源:雅意学习网 本文已影响 雅意学习网手机站

      摘 要: 《数据结构》课程是计算机及相关学科的一门重要的专业基础课,也是一门锻炼程序设计能力的实践课程。本文从几个方面阐述了如何对《数据结构》进行教学改革。   关键词: 教学方法改革 降低理论性程度 增强直观性
      
      《数据结构》课程是计算机及相关学科的一门重要的专业基础课,也是一门锻炼程序设计能力的实践课程。它相对于其他应用性课程来说抽象、枯燥,学生学习起来有一定的难度,教师讲起来也比较难。那么如何降低理论性程度,增强直观性,提高学生的学习兴趣呢?我在教学中尽量做到以下几点:
      
      1.讲好第一堂课,以调动学生的学习兴趣
      
      《数据结构》虽然包含了较多的理论内容,但具有实践应用的特点。“兴趣是最好的老师”。因此在进行数据结构课的第一次授课中,我并不急于介绍理论,而是强调应用,通过介绍数据结构在实际中的应用来激发学生的学习兴趣。如图书馆的书目检索系统,如何组织图书的登录号、书名、分类号等数据,才能快速实现查找、插入、删除操作;旅游线路设计问题,如想去北京、上海、天津等地旅游,怎样安排线路以求花费最少;在铁路建设中,如何施工以求花费最少,等等。以上应用贴近生活,学生都比较熟悉,兴趣就能够被激发起来,形成想学好这门课的愿望。其实上述例子就已经囊括了本门课中涉及的几大类数据结构――线性表、树和图,这样教师就可以水到渠成地归结出数据结构的概念,以及本章涉列的几种数据结构的类型,为后续章节的讲解打下了良好的基础。
      
      2.解决C语言的不足
      
      《C语言程序设计》是数据结构的前导课程之一,学生对它的熟悉掌握程度直接关系到数据结构课程的教学效果。C语言本身极具灵活性,刚刚学完C语言程序设计的学生运用不是很自如。另外,C语言的难点是指针、函数、数组作为函数参数,以及结构体类型等,而数据结构课程教学过程中主要运用这些知识点来分析、解决问题。对于大部分学生来说,C语言运用能力不是很强,如果上课时直接切入主题,他们就会有“云遮雾罩”的感觉。如何解决这个问题呢?我们可以利用一两次课的时间来复习C语言的相关知识,即数组、指针、函数和结构体等。可以将这些学时纳入到教学进度表中,教师在复习并不是面面俱到,而是将与本课相关的内容加以归纳总结,这样既可以复习以前的知识,加深印象,强化理解,又可以为数据结构课程的教学作铺垫。
      
      3.教学内容的归纳提炼
      
      不少教师常说《数据结构》这门课难讲,学生也反映这门课不好学,这是因为《数据结构》不但有很强的理论性,而且具有一定的抽象性。同时《数据结构》课程又有较强的实践性,要求学生能够使用一种语言(PASCAL、C、C++或Java),对算法进行程序设计,并且能够进行上机调试,对于基础薄弱的学生这就好似“雪上加霜”。既然“教”与“学”都有困难,那么在“教”与“学”的过程中就应该首先解决教师应该怎么“教”的问题。教师首先应对理论概念和算法思想进行处理,避免“照本宣科”,教师自己要熟悉教材、精通教材,把握本课程的重点和难点,能够将前后内容联系起来分析思考,尽量从中寻找共性的、规律性的东西进行归纳与提炼,并将其系统化、具体化。例如从数据结构的定义出发包含三方面的内容:逻辑结构、存储结构和算法。在讲到每种数据结构(线性表、栈、队列、树、图)都会涉及它的逻辑结构、存储结构和算法。我在讲授的过程中用数据结构包含的三方面内容作为一条主线贯穿整本书,每讲到一种新的数据结构时都可以拿出这条主线来阐明其上的三方面内容,这样,学生学起来就会觉得有系统性,容易把握。综观全书,不论是线性表、树还是图,最基本的、典型的存储结构就是两类:顺序存储结构、链式存储结构,只要把它们掌握好,整个课程学习的难度就不觉得大。所以在教学过程中,我一方面紧扣课程的主脉(即各种数据结构的基本概念、逻辑结构、存储结构、主要算法与相关应用),把基本的概念与术语解释清楚,把各种数据结构与操作运算分析清楚,把有关算法的设计思路与实现方法讲解清楚。另一方面,我更注重有关内容的前后呼应,把握其内在联系,对各种相关结构的特点与操作,进行相应的归纳、总结与对比。
      
      4.教学模式的更新
      
      “问题”是创新的起点,是引发学生兴趣、诱发学生动机的理想载体。《数据结构》教学中,特别是算法设计中可以设计许多问题。我在备课时,不仅消化教材内容,深入探究知识的奥秘,更精心设计课堂情景,准备好“问题”;课堂教学时不仅生动详尽地讲解知识,更努力激发学生思维;教学过程中不仅要求学生认真听,更引导学生积极思考,逐步培养学生发现问题、分析问题、解决问题的能力。例如,在讲到栈时,为了让学生掌握栈的特点,我让学生先用数组来编写算法,然后用栈进行编写,最后我来进行点评,让学生清楚了解什么情况下使用栈比较方便。这样既有助于讲清问题,又能提高学生的积极性。
      
      5.加强实践环节
      
      为使学生真正学好《数据结构》,我除了在课堂上采用行之有效的教学方法外,还让学生多做习题。要学好《数据结构》,只“看”不“练”肯定是不行的,习题的作用是极其重要的,学生不仅要做,而且必须交作业,这样我才能知道学生的掌握情况,然后对出现的问题进行总结、归纳、讲评。讲评时我细讲解题思路,规范解题方法,并强调有关的注意事项,同时,对于作业中的可取之处加以表扬,鼓励学生开拓创新。
      当然实践还包括上机实验。上机实验不仅能进一步巩固对有关内容的理解,而且能提高学生灵活运用数据结构和算法的能力,使学生在编程、上机操作、程序调试与正确性验证等基本技能方面得到训练。
      以上就是我在《数据结构》教学中的教学方法改革,有不当之处希望广大同仁多多指点。
      
      参考文献:
      [1]严蔚敏,吴伟民.数据结构.北京:清华大学出版社,1992.
      [2]陈小平.数据结构.南京:南京大学出版社,1994.

    推荐访问:数据结构 教学改革

    • 文档大全
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章