数据结构课程教学方法探讨与实践_第1页
数据结构课程教学方法探讨与实践_第2页
数据结构课程教学方法探讨与实践_第3页
数据结构课程教学方法探讨与实践_第4页
数据结构课程教学方法探讨与实践_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据结构课程教学方法探讨与实践摘要:针对数据结构课程教学过程中面临的问题和学生的 学习状态,依据数据结构课程特点,结合教学中的实际经验, 提出了对课程教学方法的改进措施。在强化理论基础的同 时,加强上机实践,引导学生自主学习,敢于并勇于质疑, 培养学生分析问题和解决问题的能力。关键词:数据结构;问题驱动教学方法;差异教学;课 程实践;算法效率中图分类号:g642. 0文献标识码:a文章编号: 1009-3044 (2014) 22-5277-031概述数据结构是计算机及其相关专业中最重要的基础课程 之一,它不仅是计算机专业的核心基础课程,也是非计算机 专业的选修或必修课程。该课程不仅对学习计算

2、机相关领域 的知识有巨大帮助,而且对软件设计或项目开发等都具有重 要作用。其研究思想和研究方法在计算机及其相关领域的科 学研究中,都已经得到广泛深入的应用。同时,数据结构还 是算法设计与分析与数据库原理等课程的先行基础 课程,只有学好了数据结构,才能更好地掌握计算机其它专 业课程,才能深刻理解并灵活运用计算机及相关专业知识。数据结构主要研究数据在计算机中的表示、组织和处理,以及在相应结构上的算法设计和初步的算法性能分析技 术1, 5。通俗来讲,数据结构是计算机中存储、组织和管理数据的方式。如何选取合适的数据结构是算法效率优化的重要因素之一。本课程要求学生能分析计算机中各种数据结 构的特性,初步

3、掌握算法的时间和空间分析技术,通过选取 合适的数据结构来优化不同类型的程序设计。在实际应用 中,分析不同数据结构和程序的特点,结合时间和空间方面 的考虑,选择适当的数据存储结构和逻辑结构,优化算法, 进行程序设计。该课程理论性较强,具有一定的抽象性,学生理解起来具有一定的难度,容易造成教学效率低和学时膨胀。同时, 理论与实践并行,容易造成学生学习任务过重,难以消化, 致使动手能力较差,不能灵活应对实际生活中某些应用场景 下的数据结构设计和算法优化,在整个教学过程中存在多种 不同的问题。为此,该论文首先分析我们在课程教学过程中 遇到的各类问题并分析其成因,结合实际教学经验,给出相 关的建议和改进

4、措滋,来达到该课程的教学目的,使学生掌 握最常用的数据结构,理解不同数据结构的特点、优缺点、 适用场景、内在联系与异同点,能够灵活运用这些数据结构, 选择合适的数据结构并优化算法效率。同时,注重培养学生 发现问题、分析问题、解决问题能力,不断改进教学方法, 探索新的教学模式。2教学中存在的问题及其成因分析2.1传统教学方法的不足传统的教学方法是教师用粉笔在黑板上进行板书,辅以 口头讲授。然而单纯的口头和书面授课方式较枯燥,加上数 据结构理论性较强,有一定的深度和抽象性,学生难以理解, 容易使学生对该门课程失去兴趣,甚至厌学。在课程结束时,学生通过学习往往能够掌握数据结构中 的一些基本概念,对一

5、些基本操作也有理论性的了解。但由 于缺乏思考和对不同数据结构之间内在关系的深刻认识,不 仅对该课程的意义不甚理解,还往往造成眼高手低,仅具有 理论知识,在实践过程中却不知道该如何灵活应用,难以真 正地进行数据存储结构的编程实现,以至于一到解决具体问 题时就感到无从下手。因此,不仅该课程的教学没有达到预 期效果,学生们对该课程也只觉得枯燥和复杂,并未能找到 学习的乐趣。同时,随着新技术的不断涌现,教师教学的方 式也应有所变化,例如准备精美的ppt课件、flash动画等 等,这些技术简单易学,不但可以节省教师板书的时间,而 且在讲解知识点时也会更加的有条理性,更能调动学生学习 的积极性和兴趣。2.

6、2教学内容繁杂抽象数据结构中定义了多种结构形式,比如线性结构、树形 结构和图形结构等,教材中为了不受编程语言的限制,通常 都用抽象数据类型来进行描述,代码也均为伪代码。内容多, 并且抽象复杂,让学生难以理解透彻。在讲解数据结构时,教师通常将算法附带着进行讲解, 例如一些简单的排序算法、查找算法等,也会有一些应用方 面的例子,例如栈、图、树等数据结构的综合应用等。这些 算法涉及的内容较宽泛,且都是理论上的、算法思想层面的 讲解,不易理解。编程语言基础不好的学生在学习的过程中 尤会感到困难,因为算法的实现必须要有编程语言的设计。 所以,在学习这些章节时,有相当多的学生会感到有比较大 的难度,从而容

7、易造成学生学习兴趣不高,学习动力不足, 致使教学达不到预期的效果。2.3缺乏实践数据结构应是一门理论与实践并重的课程。如果只重视 理论教学,容易造成学生实践能力差,只有在经过上机实践 了之后,学生们才会对该课程有深入地理解。因此,在整个教学过程中,开设实践课时并辅以程序实 现,加深学生对数据结构和算法的理解。同时,大部分教材 为使学生学习数据结构时将主要精力放在掌握数据结构的 特点和算法思想上,而不限于具体语言的实现上,都选用伪 代码(类语言)来描述算法。但这对一些前导课程(例如程 序设计语言课程)的基础不够扎实的学生来说,难以将伪代 码具体运用到编程语言实现中,导致学生理解得不够透彻, 动手

8、能力较差,解决问题时没有思路。总的来讲,该门课程首先要求学生掌握不同数据结构的 特性,深入理解并分析其优缺点。其次,在遇到实际问题时 能够动手灵活运用,根据应用场景和程序设计选择最佳的数 据结构和优化算法。最后,训练学生进行复杂程序设计的技 能和养成良好程序设计的习惯。因此在教中,实践课时的设 计是一个非常重要的组成部分。3改进教学方法针对上文所提到的问题,在教学中我们采用了如下方法 来改进教学质量。3. 1注重概述"兴趣是最好的老师”,概述部分对于提高学生的学习 兴趣至关重要2, 个好的概述不仅可使学生认识到该门 课程的重要性,还可使学生对该门课程产生浓厚的兴趣与学 习动力。在教学

9、过程中,老师应该充分认识到概述部分的重 要性,它不仅是新知识的一个统领性的介绍,更是让学生从 宏观上了解该门课程体系结构的一个重要环节。在概述部分可适当添加一些数据结构有趣的应用实例来进行辅 助说明,引起学生的学习兴趣,让学生主动地去探索这些问 题,寻求解决方案,激发学生自主性的学习,并引导学生从 宏观上了解日常生活中数据结构的应用,思考如何创新运用 数据结构等。例如,在介绍新的知识点时,可从学生身边的 一些有趣的数据结构的实际应用入手,比如,在设计一个游 戏时,计算机是如何应对不同变化情况,给出相应策略并实 现灵活对弈等。用同学们所熟悉的、贴近生活的问题来激发 同学们去探索问题的解决方法,激

10、发同学们渴望掌握相应的 数据结构知识的欲望等。让学生们带着兴趣和思考去学习数 据结构,才是最好的教学方式。同时,为了培养学生们独立思考的能力,可以在讲授某 个知识点之后,引出下一知识点,鼓励学生课下进行思考, 做一些准备和预习工作,再在下一堂课的概述部分进行讨 论。3.2问题驱动课堂教学传统教学都是先学习理论知识,再解决实际问题,这样 的一种学习方法容易造成学生学习的惰性和被动性。在学习 过程中,多数同学可以从教材中掌握数据结构的相关理论知 识,并能读懂书本上的算法。但是往往在遇到实际问题时, 例如应对一个题目需要设计一个算法时,就感到无从下手, 其最主要的原因就是教学时偏重于理论,致使学生没

11、有将理 论知识与实际应用结合起来。教师是教学中的引导者,学生 是学习的主体,为此有人提出了问题驱动教学方法,也就是 以各种思考问题为学习起点,在问题的基础上进行学习内容 的规划,让学生围绕问题寻求解决方案。实践表明,问题驱动教学法能够提髙学生学习的主动 性,调动学习的积极性,容易激起学生的求知欲,活跃思维。 所以,在讲述数据结构的每一个知识点前,例如某种基本的 数据结构时,可相应地准备一些实际应用的例子,让学生一 边逐步学习理论知识,一边思考如何应用,将理论真正应用 到实践当中,联系到实际的应用场景中。如此进行课堂教学 的实践已经取得了较好的效果。比如在学习栈之前,举几个 常用的线性表的应用实

12、例,让学生带着问题去学习,不仅极 大地提高了学生的学习热情,并且可提高课堂师生的互动。 基于问题的教学方法可使学生思维高速运转,主动的融入到 教学中,与教师形成互动。极大地强化了学生的学习动力, 激发了学生的探求欲望和学习兴趣,使学生进入一个积极思 考的状态3。同时,在教学过程中可采用"3w”的教学理念,调动学 生的学习积极性。“3w”即what, how和why, what是让 学生明确学些什么,带着明确的学习目标进行有针对性的学 习,以拓展学生的知识面为辅。how就是如何做的意思,加 强学生的动手能力,将理论应用到实践当中。why是让学生 能够知道为什么要这样做,不仅知其所以然,

13、还要知其为何 所以然。3.3差异化教学在课堂讲授中教师应起到提纲挈领和引导的作用,对易 懂的内容可以点到为止,重点难点精讲细讲,用最少的时间 将课堂效率最大化。重点内容是指数据结构中的重要概念、重要算法思想及 其应用,对这些内容,应结合多种教学方式和手段去讲深讲 透,引导学生理解概念的真正含义,掌握算法的实质,在此 基础上,寻找解决问题的方法。难点是认知到学生不易理解 和容易出错的地方,可通过教学经验或者与学生进行交流得 知。同时,在教学的过程中也要注意学生易于忽视的细节。 对待难点要分析究竟难在何处,在知道难点的所在之处之 后,再对症下药进行重点讲解。课堂讲解也应该是由易到难、由简到繁、由浅

14、至深、循 序渐进的过程。授课的过程中,对于抽象的东西应该形象化、 直观化地进行讲解,对于复杂的知识点应注重讲解的条理性 和上下文逻辑性,对于易于混淆的内容宜尽量采用对比法加 于区别,例如通过图表进行分项比较,做到化难为易,化繁 为简,化抽象为具体。因为每一个学生的学习程度可能都不一样,对于一个问 题的理解方式和速度等也都会有所差异,所以教学不能讲的 太快,致使理解慢的学生跟不上节奏;同时也不能讲的过慢, 致使学时膨胀。最好的方式是因材施教,使学生知学、好学、 乐学,以此达到课程教学的目的。备课时教师就要分析每节 课的教学内容,确保通过本节课的学习,每一个学生都能够 理解应该掌握的内容,然后确定

15、本节内容的扩展部分,为一 些学有余力的学生提供发展的思考空间;而对于基础较差的 学生则应鼓励性的分步进行教学,注重多重练习,调动他们 的学习积极性,增强自信心,并使其尽快达到基础标准。3.4加强实践环节欧洲和北美教育的成功的一个主要因素在于非常重视 学生的动手能力和实践,而这点很值得我们学习。在欧洲和 北美国家的教学中,几乎每一门课程都会有大量的课程设 计,这不仅需要授课老师具有扎实的理论基础,同时要求老 师花费大量的时间去备课。数据结构该门课程本身就是一个理论和实践并行重要 的课程,设计一个好的实践课也将会对学生动手能力的提高 具有非常大的意义。课程的理论教学需以教师为主学生为 辅,老师起到

16、引导作用,实践教学需要以学生为主教师为辅, 学生应主动进行自我动手的学习。国内目前已有部分教师采 取分小组的方法来进行实践考察,例如,在进行期末课程测 试设计时,要求学生自行分成若干小组,根据难度系数的不 同来分别设计一些综合性的应用问题,每一小组可为3到5 个人不等,根据难度系数随机分配题目,组内成员分工合作 完成分析设计和实现,最后提交规范的课程设计报告,并上 台进行讲解,进行分享,使得所有同学都能学习到更多的实 践经验。教师除了给出难度适宜、结合实际的题目外,还需 要引导学生在分析问题时的方法和角度,对学生不明白的地 方适当给予提示与引导,使学生积极参与,调动学生的主动 性,并激发学生的

17、创造力,不断培养学生发现问题、分析问 题和解决问题的能力。在制定期末成绩考核机制时,也可适当加大实践教学中 考核成绩的权重,让学生重视实践课,注重自身动手能力的 培养,同时,提高学生运用理论知识灵活解决实际问题的能 力。3.5敢于质疑 由于受我国传统教育和社会因素的 影响,绝大多数学生对书本、教师、权威专家所说的话基本 上是绝对性的服从,总以为书本上知识是绝对正确的,教师 讲的都是真理,即使学生有所疑问,也不敢对书本和老师等 提出半点怀疑。但这一点恰恰严重阻碍了学生进行独立思考 和创新思维的发展。只有在质疑的过程中,学生才能够更深 刻地理解每一个知识点的来龙去脉,并能有自己独立思考和 想法的空

18、间和机会。为此,教师可以尝试在授课的过程中,在提出一个应用 问题后,鼓励学生采用不同的数据结构和不同的算法解决问 题。不同的解决方案,性能不同,在问题功能实现后,让学 生比较不同解决方案的性能,找出其中的原因,然后鼓励学 生发现其中的问题,让学生通过自己的思考来发现问题。不 是把学生放在一个被动式的状态中学习,而是不断地进行反 思和质疑,敢于质疑任何问题,独立思考,提出自己的见解, 即使有所不对,但也可以将学生逐渐从传统的“迷信”思维 中解脱出来,让学生发散思维方式,勇于质疑,勤于思考4。 使学生明白在学习过程中不能只是接受式的学习,同时需要 不断的思考与质疑,“读书无疑者,须教有疑,有疑者都要 无疑

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论