数据结构课程教学的改革的探讨.docVIP

  • 3
  • 0
  • 约2.52千字
  • 约 6页
  • 2018-10-30 发布于福建
  • 举报
数据结构课程教学的改革的探讨

数据结构课程教学的改革的探讨    【摘要】 《数据结构》是计算机专业的核心基础课程. 它具有高度的抽象性,本文从实际出发,提出面向对象的教学思想,积极改进教学方法,联系实际,激发学生兴趣,建立直观的教学模式,以取得良好的教学效果.    【关键词】 数据结构 算法 面向对象 教学方法       《数据结构》讲述的内容是计算机软件技术的基础,《数据结构》课程不仅是计算机专业的核心课程,也是其他非计算机专业的主要选修课程之一. 它涉及数据在计算机中的表示、组织和处理,以及相应结构上的算法设计和初步的算法性能分析技术. 课程的教学目标是培养学生的逻辑思维能力和数据抽象能力,培养学生在软件设计方面的思维能力. 数据结构的内容和目标决定了它在软件开发中的重要地位. 对一个软件系统来说,数据结构是基础性的和决定性的,数据结构所蕴涵的技术思想对培养学生在软件设计方面的思想具有导向性,因此,更新数据结构的教学内容,改进教学方法,提高教学质量对培养高素质软件人才起着决定性的作用.       一、面向对象的教学思想       数据结构是伴随着软件技术的发展而分化出来的一个专门的研究领域,诞生于20世纪60年代末,形成于70年代中后期. 由于当时的计算机软件规模相对较小,软件开发普遍采用结构化的面向过程的程序设计方法,因此描述软件涉及的数据结构也采用了相应的思想. 近年来,随着面向对象技术的发展,面向对象的思想已渗透到包括数据结构在内的软件设计与开发的每一个环节,然而作为高校的《数据结构》课程,并没有得到及时的更新,目前大部分的《数据结构》教材仍然采用的是“面向过程”的描述方式.    在软件领域,有两个关于“程序”的经典公式非常能够说明问题:    程序 = 数据结构 + 算法. (1)    程序 = 对象1 + 对象2 + … (2)    前者是面向过程的思想对程序的描述,算法即对数据的处理,它将算法从数据结构中脱离开来;后者是面向对象的思想对程序的描述,它把程序看做对象的组合. 两者从不同的侧面反映了程序的本质,但后者更符合今天的软件设计思想. 事实上,数据结构和算法在软件中是不能被截然分开的,有什么样的数据结构,就会有什么样的算法,即算法依赖于数据结构,这种依赖关系制约着软件的重用. 如今面向对象的思想已深入人心,它将数据结构和相应的算法封装为一系列独立的、便于重用的对象,然后由对象来“组装”程序.    从目前《数据结构》的教学思想来看,面向对象的软件结构和面向过程的数据结构存在着明显的不协调. 开设《数据结构》的主要目的是要提高学生的软件开发与设计能力,但目前传统的《数据结构》的教学思想普遍与主流的软件设计思想存在一定程度上的脱节,这就给我们提出了一个非常迫切的问题:如何修正我们的教学指导思想及其教学内容,来适应快速发展的软件开发技术. 就《数据结构》而言,笔者认为,引入面向对象的软件思想,采用主流的对象化的描述手段来开展教学任务迫在眉睫. 这就需要我们的教师在讲授《数据结构》课程时,跟踪最新的软件设计与开发技术,对课程的内容、组织体系、教学方法、技术思想及其实现方式进行必要的更新,将数据结构及其算法通过对象化的手段来表达和描述,只有这样,我们才能更加清晰地描述今天的软件所涉及的数据结构.       二、实例化教学方法       所谓“实例化教学”,就是对课程中的重点、难点内容,选配适当的例题,运用恰当的比喻,制作一些动画进行演示和说明,把抽象的内容具体化、形象化,帮助学生理解和掌握这些内容,并适当加以引申,引导并激发学生作进一步的思考和探索.    由于《数据结构》课程中某些概念比较抽象,算法比较复杂,描述困难,学生学习起来有一定的难度,被公认为是计算机专业课程中较难学好的一门课. 因为教材中的内容不可能死记硬背,要求理解后掌握其基本思想,并能灵活运用,但由于其抽象性,想要理解掌握又很困难. 因此,在这门课程的教学中,设计一些具体的实例,将教材中的重点、难点内容具体化,形象化,对学生理解抽象的课程内容将起到较大的辅助作用.    如在介绍链表的操作算法时,选择一些适当的例题,增加图解演示教学,加深印象,促进理解,在介绍图的应用时,介绍各种排序算法,对每一趟的排序变化情况通过动画进行动态演示,达到较好的教学效果.       三、注重实践,提高技能       《数据结构》课程的教学要求之一是训练学生进行复杂程序设计的技能和培养良好的程序设计风格,通过布置有意义的实验题目(如二叉树和树的应用:哈夫曼树用于通讯编码、下棋问题;图的应用:旅游最短路径问题、网络通讯造价问题、课程安排等),使学生学会如何把书上的知识用于解决实际问题,培养软件开发所需要的实践能力,使书本上的知识变“

文档评论(0)

1亿VIP精品文档

相关文档