数据结构课程教学方法的探讨
- 格式:pdf
- 大小:277.00 KB
- 文档页数:2
《数据结构》教学中的遇到的问题和解决措施数据结构是计算机科学的重要基础课程,它是计算机科学和技术领域中必不可少的一门学科。
在教授数据结构的过程中,老师们往往会遇到各种各样的问题,这些问题有时候会困扰老师,也会影响到学生的学习效果。
本文将探讨在教授《数据结构》课程中常见的问题以及针对这些问题的解决措施。
解决措施:1. 引入实际案例:在教学中引入实际案例,让学生看到数据结构在实际应用中的价值和作用,可以激发学生的学习兴趣。
2. 结合编程实践:结合具体的编程实践案例,让学生动手编写数据结构相关的代码,从而增加学习的趣味性和实用性。
3. 班级互动:组织一些班级互动活动,鼓励学生们分享自己对数据结构的理解和应用,激发学生的学习兴趣。
问题二:学生对数据结构概念理解不透彻数据结构是一门相对抽象的课程,其中涉及到许多概念和原理,学生们常常会对这些概念理解不透彻,难以掌握相关知识。
解决措施:1. 建立直观模型:在教学中,可以通过图表、实例等形式建立直观的模型,帮助学生更直观地理解数据结构中的概念。
2. 引导思考和讨论:在教学过程中,老师应该多与学生进行思考和讨论,引导他们主动思考问题,从而深入理解相关概念。
3. 多举例说明:通过举一些日常生活中的例子,让学生们更容易理解数据结构中的抽象概念,帮助他们掌握相关知识。
问题三:学生编程能力不足数据结构与算法密切相关,对编程能力要求较高。
但是许多学生在学习数据结构的编程能力不足,导致无法很好地应用数据结构知识解决实际问题。
解决措施:1. 强化编程训练:在教学中,应该增加编程训练的时间和机会,让学生通过实际的编程练习来提高自己的编程能力。
2. 提供详细代码示例:在讲解数据结构的相关知识时,老师可以提供详细的代码示例,帮助学生更好地理解并掌握相关的编程技巧。
3. 激发兴趣:鼓励学生积极参与编程项目,激发他们对编程的兴趣和热情,从而提高他们的编程能力。
问题四:课程进度安排不合理数据结构是一门内容较多、知识点较多的课程,老师们在安排课程进度时往往会面临难题,有时候进度过快,学生跟不上;有时候进度过慢,无法完成教学计划。
《数据结构》课程教案一、引言数据结构是计算机科学中非常重要的一门课程,它涉及到对数据的组织、存储和访问方法的研究。
数据结构的学习能够帮助学生建立起对计算机中数据处理的基本概念和方法的理解,并培养学生分析和解决实际问题的能力。
本教案旨在为《数据结构》课程提供一套系统的教学计划,以确保学生能够全面掌握该学科的知识和技能。
二、教学目标本课程的主要教学目标如下:1. 掌握常见的数据结构,包括线性表、栈、队列、树、图等,并理解它们的基本概念与特点;2. 理解各种数据结构之间的联系与区别,能够根据问题需求选择合适的数据结构;3. 学习并掌握常用的数据结构算法,如查找、排序等;4. 培养学生分析和解决实际问题的能力,提高编程实践的能力;5. 增强学生的团队合作与沟通能力,通过小组项目实践提升学生能力。
三、教学内容与安排本课程的教学内容将按照以下顺序进行讲解和实践操作:第一章:绪论1. 数据结构的基本概念与作用;2. 学习数据结构的意义与价值;3. 课程的教学方法和学习要求。
第二章:线性表1. 线性表的定义与分类;2. 线性表的顺序存储结构与链式存储结构;3. 线性表的基本运算和实例分析。
第三章:栈与队列1. 栈的定义与基本操作;2. 栈的应用场景与实例分析;3. 队列的定义与基本操作;4. 队列的应用场景与实例分析。
第四章:树与二叉树1. 树的定义与基本术语;2. 二叉树的定义与性质;3. 二叉树的遍历方法与实例分析;4. 哈夫曼树的构建与应用。
第五章:图1. 图的定义与基本术语;2. 图的存储方式与基本操作;3. 图的遍历算法与实例分析;4. 最短路径算法与实例分析。
第六章:查找算法1. 顺序查找与二分查找;2. 哈希查找的原理与实现方法。
第七章:排序算法1. 冒泡排序与插入排序;2. 快速排序与归并排序;3. 堆排序与希尔排序。
第八章:课程总结与展望1. 对整个课程内容的回顾;2. 对数据结构的进一步学习与应用的展望;3. 学生反馈与教师建议。
第1篇摘要:数据结构是计算机科学中的基础课程,它对于计算机程序的设计与实现具有重要意义。
本文以数据结构综合实践教学为例,探讨了数据结构课程的教学方法、实践环节以及学生能力的培养等方面,旨在提高数据结构课程的教学质量和学生的实践能力。
一、引言随着计算机技术的飞速发展,数据结构作为计算机科学的核心课程之一,越来越受到重视。
数据结构不仅涉及到计算机科学的基本原理,还与程序设计、算法分析、软件工程等领域密切相关。
因此,数据结构课程的教学与实践显得尤为重要。
本文以数据结构综合实践教学为例,分析其教学方法、实践环节以及学生能力的培养等方面,以期为数据结构课程的教学提供参考。
二、数据结构综合实践教学的教学方法1. 理论与实践相结合数据结构课程的教学应注重理论与实践相结合。
在理论教学过程中,教师应引导学生理解数据结构的基本概念、原理和方法,使学生掌握数据结构的基本知识。
同时,通过实践环节,让学生将理论知识应用于实际问题,提高学生的动手能力。
2. 案例教学案例教学是数据结构课程教学的重要手段。
教师可以选择具有代表性的案例,引导学生分析案例中的数据结构问题,并提出解决方案。
通过案例教学,学生可以更好地理解数据结构在实际应用中的价值。
3. 互动式教学互动式教学是提高数据结构课程教学质量的有效途径。
教师可以采用提问、讨论、小组合作等方式,激发学生的学习兴趣,提高学生的参与度。
在互动式教学过程中,教师应关注学生的个体差异,因材施教。
4. 多媒体教学多媒体教学是现代教育技术的重要手段。
在数据结构课程教学中,教师可以利用多媒体技术展示数据结构的动态变化过程,帮助学生更好地理解数据结构的概念和原理。
三、数据结构综合实践教学的实践环节1. 实验课程实验课程是数据结构综合实践教学的重要环节。
通过实验课程,学生可以动手实现各种数据结构,如线性表、栈、队列、树、图等。
实验课程要求学生掌握数据结构的实现方法,并能够解决实际问题。
2. 课程设计课程设计是数据结构综合实践教学的重要环节。
《数据结构与算法》课程教学改进与探索【摘要】本文主要围绕《数据结构与算法》课程教学改进与探索展开讨论。
在文章从背景介绍和研究目的入手,引出了对教学模式的分析。
随后依次探讨了教学改进实践、教学效果评估,以及教学探索成果分享,最后展望未来。
结论部分总结了文章的主要观点并给出启示,同时对未来教学改进方向提出展望,最后致谢。
通过本文的系统探讨,旨在为《数据结构与算法》课程的教学提供新的视角和思路,促进教学水平的不断提升和创新发展。
【关键词】数据结构与算法、课程教学、改进、探索、引言、现有教学模式、教学改进实践、教学效果评估、教学探索成果分享、未来展望、总结与启示、展望未来、致谢。
1. 引言1.1 背景介绍数据结构与算法是计算机科学领域中的重要基础课程,对于培养学生的编程能力和解决问题的能力起着至关重要的作用。
传统的教学模式往往存在着诸多不足,无法满足学生的需求和教学的要求。
在这样的背景下,我们有必要对数据结构与算法课程的教学进行改进与探索,以更好地培养学生的能力和提升教学质量。
通过对现有教学模式的分析,我们可以发现其中存在的问题和不足之处,为后续的教学改进提供参考。
通过教学改进实践的探索,我们可以寻找到更有效的教学方法和策略,进一步提升教学效果。
教学效果评估是教学改进的重要一环,通过评估可以及时调整教学策略和方法,保证教学效果的实现。
对教学探索成果的分享可以促进教学经验的交流和分享,为其他教师提供借鉴和启发。
未来,我们可以展望数据结构与算法课程教学的发展方向,致力于构建更加完善的教学体系和培养机制。
1.2 研究目的数据结构与算法是计算机科学领域的重要基础课程,对于培养学生的计算机思维和算法解决问题的能力起着至关重要的作用。
传统的教学模式往往以理论为主,缺乏实践性教学和创新性学习方法。
本次研究的目的在于探索和改进数据结构与算法课程的教学模式,旨在提高学生对于数据结构与算法知识的理解和应用能力,培养学生的解决实际问题的能力和创新精神。
高教专区103以问题为导向的数据结构课程PBL教学方法研究刘福泉 浙江农林大学暨阳学院● 困扰学生的问题“数据结构”是一门被公认的难、广、多的课程,其中的“难”表示理解难,“广”表示算法广,“多”表示内容多。
对于初学者来说,往往有一系列的问题困扰着他们,如什么是数据,如何表示数据,数据之间存在哪些逻辑关联,如何利用数据元素之间的逻辑关联关系组织数据以便高效地对数据进行操作,如何将数据和数据的关联关系映射到内存,数据结构与编程语言以及数据结构与算法有什么关系等。
要想让学生学好这门课程,首先必须帮助学生解开这些疑问。
1.数据的表示数据是信息的表示形式,是信息的载体。
[1]计算机程序的实质是对信息的处理,也就是对数据进行处理。
在现实世界中,数据往往以文字的形式呈现出来,而在计算机的世界里,数据是以信号的形式呈现出来的,如电信号、光信号或脉冲信号等,用信号的不同状态之间的组合来表示不同的数据。
二进制信号是冯·诺依曼计算机体系结构中数据的表示形式,二进制信号是最容易产生的信号形式,如用高电平表示0,低电平表示1,或者用有光信号表示1,没光信号表示0等。
根据冯·诺依曼计算机体系结构,首先需要将数据存储在计算机的内存中,计算机内存中表示数据的方式是使用线性的二值位串,如“0100100011110110”到底表示了几个数据、表示什么数据,需要进行事先约定。
如果规定用每8位二进制数表示一个英文字母,那这8位二进制数据就能表示256个英文字母,而英文字母大小写一起才52个,因此,用8位来表示英文字母足够了。
如果用8位来表示数值数据,显然就不够了。
因此,对不同的数据就要指定不同的表示方法,于是就有了计算机程序中不同的数据类型。
数据结构中的数据元素是指同一种数据类型中的单个数据,如整数1是整数数据类型中的一个数据元素,某个学生是“学生”数据类型中的一个数据元素,因此,数据元素是数据结构处理的基本数据单位。
〈〈▲▲【摘要】《数据结构》是计算机科学与技术专业的专业基础课和核心课程,本论文分析了在课程教学中存在的一些问题,从教学内容、教学方法、教学手段等方面探讨教学改革的新方法.【关键字】数据结构教学内容教学方法教学手段一、引言《数据结构》是计算机专业的基础、核心课程,也是非计算机专业的主要选修课程之一.数据结构不仅是一般程序设计的基础,也是设计和实现大型应用程序、编译程序、操作系统、数据库原理以及其他系统程序的重要基础.《数据结构》课程的教学目标是全面系统地介绍数据的逻辑结构、存储结构和算法实现,通过这门课程的学习,使学生在软件开发的过程中能够正确、合理地选择数据的存储结构,有效地设计算法,从而提高软件整体质量.数据结构在计算机学科教学中具有十分重要的地位.二、目前数据结构教学存在的问题学生在学习《数据结构》时,普遍认为课本内容的理解困难,无从下手,对此我们教师进行了认真的分析,得出如下结论:1.课程与数学有联系的部分,知识明显不够,不能满足数据结构的教学需要由于学生数学基础薄弱,致使学生的抽象思维能力较弱,而数据结构涉及到大量概念、模型及操作算法,理论性较强且高度抽象,学生学习起来较难掌握.2.高级语言程序设计掌握不好,影响数据结构的学习效果C 语言是数据结构的前导课程之一,学生对它的熟悉、掌握程度,直接影响到数据结构课程的教学效果.由于学生对C 语言的数组、函数、结构体、指针掌握得不好,理解不够,并且这些内容是数据结构课程的重要基础,在数据结构课程中使用频率很高,所以导致教学效果不理想,学生甚至丧失对该课程学习的兴趣和信心.3.课程理论性太强在数据结构课程教学中,主要介绍算法.由于理论知识较抽象,在教学过程中无法将理论知识直观地表现出来,学生理解起来非常困难,教学难度非常大.4.实践机会少,导致动手能力差数据结构是一门理论与实践并重的课程.上机学时少,如果学生没有在课余时间准备好实验的内容,就不可能在有限时间内较好地完成实践教学任务.5.整体学风差,学习习惯不良现在学生学习的积极性普遍不高,学习的目标不明确,学习习惯不良,特别是自学能力较差,因此学习的效率不高.三、数据结构教学改革的基本对策1.加强先行课的教学加强前行课教学是数据结构课程教学的必备条件.在C 语言的教学中,要从注重语言语法转变为注重学生编程能力的培养,统筹安排各部分内容的授课时间,保证指针、结构体和函数等内容有足够的时间,让学生掌握语言的精华《离散数学》能够提高学生的概括抽象能力、逻辑思维能力和归纳构造能力,有益于学生严谨、完整、规范的科学态度的培养,因此,学好离散数学,为后续课程的学习打下了扎实的数学基础.2.做好课程教学内容的有机组合《数据结构》课程的宗旨是培养学生分析问题和解决问题的能力以及提高学生的实际动手能力和编程能力.所以,在教学内容的组织上,紧紧抓住两个中心和两个基本点.两个中心是指对线性结构和非线性结构的描述;两个基本点是指教学过程以存储结构和算法描述为核心.每个章节之间既相互独立,又相互联系.教学中,如果能抓住主线,理清其内在联系,对整个内容进行有机组合,合理安排,必将起到事半功倍的效果.2.1线性结构线性结构包括线性表、栈和队列、串、数组和广义表.线性表是最基本、最简单的一种线性结构,掌握了它的原理及操作方法之后,对于栈、队列和数组的教学就非常容易.2.2非线性结构非线性结构包括树和图.主要涉及树和图的各种算法,重点是二叉树,图以存储结构为重点.2.3排序和查找排序和查找也是以线性结构和非线性结构为基础的,重点放在介绍其思想和方法上.3.理论、实验、课程设计的综合教学体系《数据结构》课程是一门实践性很强的学科,因此要加强实践教学环节,给学生更多的上机机会,形成理论教学、上机实验、课程设计等三个环节组成的教学体系.这三个环节穿插进行,学完每个知识点后,针对该知识点进行实验教学、阶段性总结,引导学生对该种数据结构进行应用.4.改革教学方法,提高教学效率4.1课堂教学的改进4.1.1课堂讨论法:针对讲授的重点、难点,结合习题课,设计一些讨论题目,并且将讨论题目提前下发给学生,使学生提出问题有所思考.通过课堂讨论教学,使学生对理论知识的理解和掌握更加深刻、扎实,能够融会贯通、举一反三.4.1.2案例教学法:为了防止学生感觉理论知识空洞而枯燥,结合一些具体例题,利用案例方式,把教学内容与具体问题有机地结合起来,使学生在学习本课程的过程中,对理论知识的应用、科学研究方法有所了解和掌握.4.2教学手段的改革采用多媒体教学与课堂教学相结合的教学手段.教师采用电子教案进行教学,以全新的教学模式来授课.利用多媒体的特点,将复杂的问题具体化.5.改变学生学习习惯,培养学生学习兴趣为了培养学生学习数据结构的兴趣,通过具体的实例说明数据结构在程序设计中的重要作用,以激起学生的求知欲,让学生感受到数据结构中算法设计的美妙所在,充分调动学生的学习积极性,并能够让学生自觉地学习,改变不良的学习习惯.四、结束语《数据结构》是计算机专业的骨干、核心课程,也是数据结构教学法改革的探讨◎李晶(吉林师范大学应用工程学院136002)J IAO XUE TIAN DI教学天地2007.12C .7〈〈▲▲大多数学校研究生入学考试和自学考试的必考课程.因此,对于该课程的教学不仅要从理论上进行探讨,还要从内容结构、教学方法、教学手段等方面进行研究.实践证明,这样的教学改革是有利于搞好数据结构教学的.【参考文献】[]严蔚敏,吴伟民数据结构(语言版)[M ]北京清华大学出版社,1997,(4)[2]蒋文蓉.数据结构[M ].北京:高等教育出版社,2003,(2)[3]宁正元,易金聪.数据结构—C 语言描述[M ].北京:中国水利水电出版社,2006,(5)[4]耿国华.数据结构—C 语言描述[M ].北京:高等教育出版社,2005,(7)[5]邹永林数据结构与算法教程[M ]北京机械工业出版社,,()寻找良好的课堂教学模式是提高教学效果的切实途径,而课堂设问教学是引导学生进行探究性学习的重要途径.恰到好处的设问可以激发学生的积极思维,激发学生的学习热情,有利于学生深刻地掌握知识,对一些模棱两可的知识加以辨别,并能培养学生各方面能力.笔者试结合本教学实际,谈谈课堂设问教学模式的一些粗浅尝试.一、阶梯式设问为了让学生深刻地理解某个问题,教师在课堂教学中应围绕问题进行设问,层层深入,前后呼应,相互联系,有梯度、有层次地逐步展开教学.例如,对于刚接触“含绝对值的恒成立问题”的学生来说无疑是个难点,教师可围绕这一问题进行阶梯式设问教学.问1:不等式|x |>-4的解集是什么?|x|>0的解集是什么?|x |>4的解集是什么?(答:R ;{x|x ≠0};{x |x >4或x <-4}.)问2:0是|x|的什么值?(答:最小值.)问3:要使|x|>a 对一切x 恒成立,则a 的范围是什么?a =-1,a =0,a =3都满足吗?(答:a =-1满足,a =0,a =3不满足恒成立.)问4:方程|x -1|+|x -3|=2的解是什么?2是式子的什么值?(答:方程的解是x =1,或x =3;2是式子的最小值,可由绝对值的几何意义或分段函数图像求之.)问5:不等式|x -1|+|x-3|>2的解集是什么?大于0呢?大于某一个负数呢?(答:{x|x ≠1,x ≠3};R ;R.)问6:若不等式|x -1|+|x -3|>a 恒成立,则a 的范围是什么呢?(答:a <2.)问7:若不等式|x -1|-|x -3|>a 恒成立,则a 的范围是什么呢?(答:a <-2.)问8:你能总结出解决上述问题的一般规律吗?(答:a 小于式子的最小值.)从含一个绝对值引入,由具体到抽象,并引发学生思考|x|的最小值与0的关系,然后由一到二,由加到减,层层深入,扣扣相连,最后得到解决这一类题目的一般规律:a 要小于式子的最小值即满足恒成立.由此看出,通过阶梯式设问,可以使学生难以理解的问题逐步豁然,使学习的认识逐渐得到深化,学生的探究能力也慢慢得以提升.二、分散式设问在教学探究过程中,为了解决学生思维上所产生的疑惑与障碍,教师可将问题分解,把难点分散,从学生熟悉的认识结构出发进行设问,引导学生积极探究,数学课堂设问教学模式初探◎凌宗民(广西防城区中学535600)(接上页)JIAO XU E TIAN DI教学天地S HUXUEKETANG S HEWEN J IAOXUEMOSHI CHUTAN82007.121.C .:..:20049。
《数据结构》教学中的遇到的问题和解决措施数据结构作为计算机科学和软件工程领域中的基础课程,是学生在学习和理解程序设计、算法分析和软件开发中不可或缺的一门课程。
教学中也会遇到一些问题,比如学生对抽象概念的理解困难,以及如何激发学生的兴趣和学习动力等。
本文将探讨在《数据结构》教学中遇到的问题,并提出解决措施。
一、学生对抽象概念的理解困难在《数据结构》这门课程中,学生需要了解和理解许多抽象概念,比如树、图、递归、堆栈等。
这些概念对于初学者来说可能有些抽象,因此会给他们带来一定的困难。
解决这一问题的关键在于教师的教学方法和引导学生的方式。
教师可以通过生动的例子和实际应用场景来引导学生理解抽象概念。
比如可以通过生活中的例子来解释树的概念,或者通过图形化的展示来解释递归的原理。
这样可以使学生更容易地理解和接受这些抽象概念。
教师在教学中可以采用更多的互动式教学方式,鼓励学生参与讨论和提问。
通过与学生互动,教师可以及时了解学生的理解情况,帮助他们解决问题,同时也可以激发学生的学习兴趣,提高他们的学习动力。
教师还可以组织一些小组讨论和编程实践的活动,让学生动手实践,通过实际操作来加深对抽象概念的理解。
这样可以使学生更加直观地体会到数据结构的作用和应用,从而增加学习的趣味性和深度。
二、激发学生的学习兴趣和动力教师可以通过精心设计的课程内容和教学方法,来吸引学生的注意力。
比如可以通过展示一些案例分析,让学生了解到数据结构在实际软件开发中的应用。
这样可以让学生更清楚地认识到数据结构的重要性,并激发他们的学习兴趣。
教师可以引导学生主动参与课堂讨论和问题解决。
通过给予学生一定的自主选择权,让他们在学习中发挥自己的想象力和创造力。
这样可以帮助学生建立对数据结构的自主学习意识,提高学习积极性和动力。
还可以通过组织一些有趣的课外活动,比如数据结构设计竞赛、编程比赛等,来激发学生的学习兴趣和热情。
这样可以让学生在实践中感受到数据结构的魅力,从而增强他们的学习动力和积极性。
《数据结构》教学方法与手段的实践创新
数据结构课程教学方法与手段的实践创新是指提高数据结构课程教学质量,深化学生学习的创新方法。
一、认知行为导向的视角
1、强化教学。
采用多种教育认知学方法,以熟悉新知识、深化理解旧知识、增强学习自主性为基本宗旨,强化在课堂上的认知行为,主动性和参与性,促使学生有效的掌握新知识,加深新知识的认知体验,培养良好的认知行为习惯。
2、提高实践能力。
通过案例讲解及学生自主操作,采用工具化和交互化的方式,引导学生在代码实验或模拟实验中验证理论模型,并将算法实践与实际应用结合起来,提高学生解决问题的实践能力。
二、网络资源创新视角
1、应用网络资源辅助教学。
利用网络文本等教学资源,系统陈述课程内容、提高认知能力。
同时,针对特定内容进行强化考试,检验学习效果,采用难易合理的评判标准,以衡量学生的学习情况。
2、重视学习反馈。
采用更加精准的学习反馈模式,在学习过程中建立及时的信息交流和反馈机制,保证学习质量,深化理解,以达到更加高效的学习效果。
同时,不断完善线上教学管理体系,实施基于网络的持续学习、自主学习、实践学习的多样化模式,丰富课程内容。
《数据结构》教学中的遇到的问题和解决措施《数据结构》是计算机科学与技术专业的重要课程,它涉及到计算机存储和组织数据的基本原理和方法。
在教学过程中,学生们常常会遇到一些问题,本文将围绕这些问题展开讨论,并介绍解决这些问题的措施。
问题一:理论与实践脱节学生们在学习数据结构的过程中,往往会感到理论与实践之间存在较大的脱节,难以将课堂上的抽象概念和算法实际应用到程序设计和问题解决中。
这会导致学生学习的兴趣和动力下降,影响他们的学习效果。
解决措施:针对这一问题,教师可以通过设计合适的实验和编程作业,让学生们将课堂上学习到的知识应用到实际中去。
教师可以设计一些简单的数据结构实现和应用题目,让学生动手编写程序进行实践。
教师可以鼓励学生参与一些实际的项目或比赛,让他们在实践中感受到数据结构知识的重要性和实用性。
问题二:抽象概念理解困难数据结构中的一些抽象概念,如树、图、堆等,对于学生来说往往比较抽象和难以理解。
这会导致学生在学习过程中产生困扰,无法深入理解这些概念的本质和应用。
解决措施:针对这一问题,教师可以采用举例说明的方法来讲解抽象概念。
通过生动的例子和比喻,帮助学生理解抽象概念的本质和实际应用。
教师还可以引导学生多进行思维导图和图形化的描述,通过可视化的方式帮助学生理解抽象概念。
教师还可以组织学生进行小组讨论,让他们互相交流和讨论,帮助理解抽象概念。
问题三:算法设计能力不足数据结构课程中,算法设计是一个重要的内容,但是很多学生在算法设计方面存在较大的困难,不懂得如何设计高效的算法来解决实际问题。
解决措施:对于算法设计能力的培养,教师可以通过具体的案例和实际问题来引导学生进行算法设计练习。
教师可以设计一些经典的算法设计题目,让学生进行实际的设计和分析。
教师还可以引导学生学习一些常用的算法设计模式和技巧,让他们在实际问题中能够灵活运用。
问题四:课程知识与考试脱节在一些情况下,学生学习了大量的课程知识,但是在考试中却发现与实际学习的内容存在较大的脱节,导致学生对课程的学习价值和意义产生怀疑。
数据结构课程教学方法的探讨
发表时间:
2009-07-17T14:22:04.577Z 来源:《中外教育研究》2009年第3期供稿 作者: 黄德玲 汪林林
[导读] “数据结构”是计算机程序设计的重要理论技术基础,是软件工程专业的核心课程。
数据结构课程教学方法的探讨
黄德玲
汪林林 重庆邮电大学
【摘
要】依据“数据结构”课程的特点,结合教学中的一些经验,从教学实践出发,对“数据结构”课程教学方法的改进提出了一些意见和建
议,以期加强
“数据结构”课程建设,提高学生实践能力和创新能力。
【关键词】数据结构
教学方法 课程建设
【中图分类号】
G642 【文献标识码】A 【文章编号】1006-9682(2009)03-0061-02
一、引
言
“
数据结构”是计算机程序设计的重要理论技术基础,是软件工程专业的核心课程。“数据结构”主要研究的内容包括数据在计算机中的表示和
组织,进而研究对数据的处理方式。因此,这门课程要求学生会分析计算机中各种数据结构的特性,并且初步掌握算法的时间分析和空间
分析技术,以便遇到实际应用问题时会选择适当的逻辑结构、存储结构及相应的算法。而该课程内容多、综合性、实践性强,如何取得良
好的教学效果,本文就该课程教学方法的改进做一探讨。
二、存在的问题及改革方法
传统的教学方法过分偏重讲授,导致学生通过学习,虽然能够掌握各种数据结构的一些基本知识,会做题,能通过卷面考试,但由于缺乏
自己的思考和运用,对数据结构课程的意义并不理解,甚至不知道不同的数据结构如何运用,如何变化,在实践过程中更不能灵活运用。
本文所讨论的数据结构课程教学方法改革的主旨就是要加强培养学生的创新精神和创造能力,采用启发式、讨论式、研究式的教学方法,
这需要我们从课程的一开始就着手培养学生的兴趣,引导学生发现问题、解决问题,最后能有创新的运用,具体采用以下几点做法:
1
.提高学生的学习兴趣,第一堂课很重要。
俗话说:
“良好的开端,是成功的一半。”因此,数据结构课程的第一堂课,不要急于给学生灌输基础的理论知识,而应从学生身边的一些有
趣的应用入手,激发学生们的学习兴趣和主动性,引导学生从宏观上了解数据结构的知识在日常生活中的运用,并大致掌握各种数据结构
的意义,理解课程的安排,找到教师的讲授和自己的学习线索。比如,计算机如何才能与人对弈,如何应对变化的情况给出考虑周全的相
应对策,实现灵活对弈,用一棵倒着生长的
“树”就可以解决这样的问题;打印机的速度比CPU慢,那么,怎么解决可能出现的数据丢失或
者打印次序混乱的问题,用
“队列”这个数据结构就可以解决这样的问题;智能汉字输入法是如何实现把常用的字排在候选输入的最前面的,
用课程中涉及到的查找的方法去解决;还有图书馆的书目检索系统涉及到线性表,多叉路口交通灯的管理涉及到图的染色等等。所有这些
问题都是同学们所熟悉的、贴近生活的问题,因此可以激发同学们探索问题的解决方法,渴望掌握相应的数据结构知识。这样便形成了一
个良好的开端,带着兴趣和愿望去学好数据结构这门课程。
2
.采用问题驱动的启发式教学方法
通过几轮数据结构课程教学实践,发现多数同学可以掌握数据结构本身的相关理论知识,能读懂书本上的算法,但是遇到实际问题,要求
设计一个算法,就感到无从下手。这个问题的原因是来自各方面的,其中可能包括同学们的程序设计语言学得不够扎实,但更重要的是教
师讲授得太多,而给同学们思考和练习的时间太少。教师在教学过程中可以先提出问题,启发式地讲解解决问题的思路和方法,调动学生
积极思考,使他们主动去掌握知识。教师需要注意的是,在提出问题的时候引导学生分析问题,找出适合的数据结构解决问题,然后再引
出学生需要学习和掌握的新知识,并深入详细地讲解重点知识和相关算法。算法的分析需要注意突出重点,分散难点,并在适当的时候设
置一些问题,引导学生自己去积极思考,寻找解决途径,使课堂活跃,使学生在课堂上收获更多。当然,不少教师认为教学任务重,如果
在课堂上给学生太多时间,教学任务可能无法完成。这就需要在给学生更多的思考机会的同时,权衡教学内容的取舍,不求广,但求精。
只要学生掌握了分析问题的方法,便可以解决课堂上即使没有覆盖的问题,引导学生掌握方法一定比在课堂上罗列问题解决问题效果更
好,毕竟实际生活中的问题是永远无法被穷举的。
3
.加强实践教学
除了在课程开始时给出应用例子,设计好每一知识单元的实验和综合性的课程设计环节,是提高学生程序设计能力非常关键的一步。在课
程的理论教学中,教师为主,学生为辅,在实践教学中一定要打破这个角色定位,实现学生为主,教师为辅。教师在给出实验任务后,要
引导同学们分析解决问题,自己编写程序。在实验过程中,教师对个别同学存在的特殊问题可进行个别辅导,随时总结,对具有共性的问
题,应给予集体辅导。在学生编写完自己的程序之后,教师应给出一个示范程序,以便学生们可以参照示范程序发现自己思路的缺陷或者
不足,以及完善改进自己的程序。
在期末设置综合性的课程设计环节,要求学生分成若干小组,精心设计一些难度系数不同的综合性问题,每小组据不同难度,组员
3~5人
不等,组内成员分工合作完成分析设计和实现,最后提交规范的课程设计报告。教师除给出题目外,需要同时引导学生分析问题的方法和
角度,使学生积极参与,调动学生的主动性,激发学生的创造力,不断培养学生发现问题、分析问题的能力。最后要求学生采用软件工程
的思想,按照软件工程的要求,从需求分析、总体设计、详细设计、编程实现到用户使用说明和测试结果等方面组织成标准化文档。这种
规范有利于提高学生的基本程序设计素质和形成良好的程序设计习惯,同时也可以完善学生软件开发的能力。另外,建议在制定成绩考核
机制时,加大实践教学的权重,让学生重视能力的培养,培养学生将理论知识灵活应用于解决实际问题的能力,适应高等教育中应用型人
才的培养需求。
4.注意多媒体课件的使用
通过多媒体课件,可以为许多原本对学生来说抽象的算法制作动态演示过程,如链表的插入、删除、二叉树的遍历、图遍历、各种查找排
序等等。通过动态演示,学生很容易理解各种操作过程,事半功倍。通过多媒体课件,可以很清晰地给学生展示授课思路、回顾历史知识
等。但同时使用多媒体课件也存在一些弊端。由于它信息量大,呈现速度快,如果教师不及时把握学生对知识的理解情况,极可能导致学
生不能接受过多的信息。另一方面,由于有了电子课件,许多学生不做笔记,在课堂上就只是
“听”课,不动脑,不动手,往往有时课堂上以
为自己懂了,实际却不然,课后遇到相似甚至相同的问题仍然无法编写出算法。因此,教师在使用多媒体课件时,一定要注意与板书结
合,并多给学生创造思考的机会,不要把所有内容都展示在课件中。
5
.随时掌握教学效果
教师应不定期设置课堂小测验,通过测验发现问题,找出原因并解决;不定期安排学生讨论,发挥学生的主动性,鼓励学生大胆发言,学
生在听与辩的过程中得以修正和完善自己的知识;教师应认真批改课后作业,对作业中存在的典型问题,应集中加以解决;做好课后辅
导,课堂时间毕竟有限,安排一周或隔周一次答疑,不仅可以及时发现和解决学生问题,也可以及时收集学生对课程教学的意见和建议;
对实验题目的完成情况检查工作最好在机房进行,除了检查运行结果,还可以随机询问学生设计思路、出错处理,甚至源程序语句说明
等,以确认学生独立或合作完成了实验任务,达到培养实践能力的目的。总之,教学方法不是一成不变的,而应当根据不同的学生,掌握
不同的教学效果,动态地调整和改进。
三、结束语
数据结构是一门理论性和实践性都很强的课程。教师在加强理论教学的同时,应重视学生在教学活动中的地位,充分调动学生的积极性、
主动性和创造性。对教学方法的改革应有利于加强学生的自学能力、分析问题、解决问题能力的培养,有利于学生创新思维和创新能力的
培养,有利于学生个性和才能的全面发展。
参考文献
1
严蔚敏、吴伟民.数据结构.北京:清华大学出版社,2007
2
刘亚波、刘大友、高 滢.以实验教学深化“数据结构”理论教学.吉林大学学报(信息科学版),2005
3
董军军、陈 阳.数据结构教学方法初探.科技资讯,2007(15)