APP下载

《数据结构》课程教学方法的改革与探究

2017-06-01罗富贵唐凤仙

新教育时代·教师版 2017年14期
关键词:启发式教学数据结构案例教学

罗富贵+唐凤仙

摘 要:数据结构主要学习用计算机实现数据组织和数据处理的方法,它在计算机科学课程体系中起到了重要的作用。但由于这门课程抽象度高,内容不易理解,学生学习起来感觉非常困难,导致教学效果非常不好。本文通过分析了在数据结构教学中存在的问题,在理论教学和实践教学方面提出了一些改进的教学措施。

关键词:数据结构 案例教学 启发式教学 实践教学

《数据结构》是计算机及相关专业的专业基础课之一,是一门十分重要的核心课程,它也为计算机专业的后续课程如操作系统、编译原理、数据库原理和软件工程等学习打下坚实的基础。数据结构课程主要研究内容是各种数据的逻辑结构(数据元素之间的关系)、存储结构,以及建立在这些结构的算法及其性能分析,其主要学习目标对这些内容的掌握和理解。但由于《数据结构》这门课程理论性强、抽象度高,使得学生学习起来感觉非常困难,学生普遍反应该课程不易理解,导致教学效果非常不好。本文分析了在数据结构教学中存在的问题,教学内容,教学方法,教学手段以及实践教学等四个方面进行研究,提出了一些改进的方法和措施,从而提高教学质量。[1]

一、课程教学目前存在的问题

1.课程本身难度大

数据结构主要学习用计算机实现数据组织和数据处理的方法,该课程理论性和逻辑性都比较强,而且数据的逻辑结构以抽象数据类型进行表述,抽象度高,内容相对来说枯燥无味、知识点也比较多,不花足够的时间研究很难理解。往往前面所学的知识还没有完全理解,又开始学习新的知识,遇到的问题不能及时解决,这使得问题不断堆积,造成学生心理上感到恐惧,学习难度大,从而失去了学习数据结构的兴趣,最终导致教学质量差。[2]

2.先导课程基础不扎实

高等数学、高级程序设计语言和离散数据等课程是数据结构的先导课程,学生对先修课程掌握不扎实。例如在分析算法时需要一定的數学知识,理解和实现算法时则需要高级程序设计语言。目前大部分高校的数据结构的算法描述工具是C语言,其算法经常需要用到先修课程C语言里的函数、指针、结构体等知识,而学生对这些知识普遍掌握不好,导致其在学习数据结构时对知识的理解和算法实践受到阻碍。

3.实践动手能力弱

在多年的教学中发现每一届学生都存在同一问题:由于先修课程C语言程序设计的基础薄弱,学生对问题的分析能力不足,对算法的理解程度差,动手编程、调试、阅读程序的能力差。所以,上机时自然无从下手,学生无法体会数据结构课程在计算机软件开发领域的价值,也就无法体会数据结构课程的作用,使得学习没有兴趣。

二、课程教学与实践的改革

1.组织好教学内容

《数据结构》课程教学内容主要包含有基本的数据结构:线性结构、树形结构、图形结构以及数据结构的应用,面对多而繁杂的内容,可以通过以下的方式来有效地设计好教学内容,如图1所示。

基本数据结构的教学组织内容可以划分以下三部分:一是数据的抽象数据类型(逻辑结构和基本运算描述);二是数据在计算机的存储结构:主要包括顺序存储结构和链式存储结构;三是基本运算在两种存储结构上算法的实现及算法性能分析。数据结构的应用包含查找技术和排序技术两方面。我们就可以根据课程的教学目标,依照图1所示进行内容设计,以知识单元为基点由简单到复杂分阶段组织实施教学,不仅增加教学的灵活性,降低教学难度,而且学生课后可以按照这条主干线自主学习,提高学习效果。[3]

2.改变教学方法

由于该课程抽象度高,内容不易理解,使得教学难度增大,一方面需要教师讲授,另一方面需要学生参与其中。因此,在教学中,可以将案例教学法和启发式教学法相结合进行教学。

所谓案例教学是根据范例“个体”的知识特点,分析掌握整个“类别”事物的特征,使对“个体”的认识上升为对“类别”的认识,从而掌握其规律和范畴。在数据结构的教学中,采用案例教学法通过实例讲解抽象的理论知识,让学生更加容易理解。例如针对学生刚刚接触数据结构比较陌生,在绪论中介绍数据结构课程时都会介绍数据结构的作用以及研究的内容,我们可以通过一个简单案例的讲解来深入介绍数据结构中的术语及其数据之间的关系。在讲解到算法的实现时,也可以引入一个现实生活中的实例来分析算法实现的具体步骤。对于数据结构中的算法描述工具是C语言,可以通过简单的学生成绩管理程序和学生共同复习C语言中的函数,结构体,指针等知识应用。通过案例教学,使抽象的理论知识具体化,让学生更加容易理解抽象的理论知识和复杂的算法。[4]

启发式教学的核心就是要培养学生独立思考和创新思维。实现启发式教学的关键是高质量、创新性、启发式“问题”的设计。在数据结构教学中,采用启发式教学方法,可以将课本上的平面知识、技能点以问题的形式呈现给学生, 培养学生分析问题的能力。例如我们在分析算法时可以设计许多问题,在讲到线性表的插入一个新元素时,如何操作才能把新元素插入到正确的位置,并且保持表的逻辑结构不变。在讲最短路径时,首先提出去某市旅游应怎样安排行程使花费最少这一问题,让学生发表自己的意见,进而引导他们使用Dijkstra算法来解决这个问题。通过启发式教学法不但给学生提供了充分思考、探究的空间,而且学生边学边做,可以更加深入理解所学的知识。

3.优化教学手段

在具体的教学过程中,为了使得数据结构抽象的理论知识形象化,复杂的算法易于理解,可以综合使用多种教学手段。在讲解算法的执行过程时,例如线性表的插入、删除,栈和队列的动态执行,树、图的遍历,各种查找排序算法等,可以利用现代化多媒体教学手段,将算法执行的过程用动画演示出来,学生通过演示观察数据的变化,更加容易理解算法的执行过程,从而掌握好算法的原理。此外,还可以搭建网络教学平台来辅助学生课后学习数据结构和自测。目前微课也是一种很好的教学手段,选择重点难点的知识点,学生不易理解的算法,然后针对每个知识点制作相应的微课,将其上传到课程的教学网络平台上,方便学生下载观看,方便学生预习、复习。总之,多种教学手段在教学过程中的应用,可以使教学内容变得更直观、形象、生动,从而提高教学效果。

4.重视实践教学

实践教学在数据结构课程起到非常重要的作用,学生通过上机实现算法,能够更好的理解算法的原理,掌握数据和数据之间的关系。因此,要重视实践教学环节,就要设计好实践环节。要设计好实践教学环节,应做到以下两点:

(1)要精心安排好实践内容。对于实验环节的设计,应由浅到深的思路设计。一开始先从简单的算法入手,并且给出程序框架,有利于学生进行编程,在程序出问题时先分析原因再修改,这样学生编出的程序得出结果就获得成就感,增强自信心。接下来对每种逻辑结构的每个知识点进行扩展,要求学生进行验证性的设计练习,从而达到加深对理论知识理解的目的。

(2)要策划好实践项目。根据实验内容,合理策划好实验项目,从而培养学生灵活运用多种知识进行实践设计的能力。在实践课中,将实验内容转化为一个个子项目,通过子项目的完成,进而能够汇总成一个完整的综合性项目,从而培养了学生综合利用各种知识解决具体问题的能力。

结语

《数据结构》是计算机关专业的一门非常重要的核心基础课程,但是该门课程抽象度高,算法比较复杂,学生学习起来感觉非常吃力,从而导致教学效果不佳。本文歸纳总结数据结构在教学过程中存在的问题和困难,在分析问题产生的原因基础上,从教学内容,教学方法,教学手段以及实践教学等四个方面进行研究,提出了如何组织好教学内容,如何将案例教学方法和启发式教学方法相结合进行理论教学,如何利用好多种教学手段,如何设计好实践教学环节等方面的改革方案,让学生更好地参与教学过程当中,从而提升教学质量。

参考文献:

[1]邱劲,王平,徐展.《数据结构》课程教学改革与实践探索[J]。西南师范大学学报(自然科学版),2013(1):139-142.

[2]董丽薇.《数据结构》课程教学方法的改进[J].沈阳师范大学学报(自然科学版),2012(2):307-309.

[3]贾丹,周军.基于创新应用型人才培养模式的数据结构课程教学改革[J].辽宁工业大学学报(社会科学版),2015(2):132-134.

[4]高广银,姜枫,丁勇.应用型人才培养过程中《数据结构》课程教学改革[J].现代计算机,2015(33):9-12.

作者简介

罗富贵(1984-),女,广西来宾人,讲师,研究方向:目标跟踪,图像识别。

唐凤仙(1977-),女,广西都安人,副教授,研究方向:模式识别与图像处理。

猜你喜欢

启发式教学数据结构案例教学
《微机原理与接口技术》教学创新方法研究
案例教学在机械创新设计课程中的应用
简谈数学课堂中的启发式教学
马克思主义基本原理概论课案例教学的几点思考
EXCEL在《投入产出法》案例教学中的应用
《运筹学》教学模式探讨
“翻转课堂”教学模式的探讨——以《数据结构》课程教学为例
高职高专数据结构教学改革探讨
TRIZ理论在“数据结构”多媒体教学中的应用
《数据结构》教学方法创新探讨