《数据结构》课程的现状与反思
《数据结构》是计算机程序设计的重要理论和技术基础,由于本课程的原理、算法较抽象,使很多学生难以理解。本文针对《数据结构》教学现状,提出了相应的教学改革方法。
标签:数据结构;教学方法;教学改革
一、引言
《数据结构》是计算机程序设计的重要理论和技术基础,介于数学、计算机硬件和计算机软件三者之间的一门十分重要的核心课。本课程不仅锻炼学生的抽象思维和创造能力,更注重培养学生的实际编程能力,使学生设计出结构清晰、正确易读、高效率的算法。但是本课程原理、算法较抽象,学生掌握难度大,遇到问题常无从下手。本人多年从事《数据结构》的教学工作,现从教学现状出发分析问题产生的原因,并提出一些改革建议。
二、目前高职《数据结构》教学现状
1、理论基础薄弱
《数据结构》课程的特点是理论性强、知识点多,内容又高度抽象,而对于高职生源来说,理论演绎和逻辑思维往往是他们的普遍弱项。与此同时,高职培养模式造成的课程教学时数的压缩,使得学生在课程的学习过程中不能充分理解消化教学内容,对理论知识一知半解,随着理论与应用的不断结合,就会感觉”越学越难”。
2、解决实际问题能力差
学生在面对具体的问题时,不知道应该如何应用学过的知识来给出切实可行的解决方案、编制出计算机程序并在计算机上调试,得出一个正确的结果。学生在理解课程内容与能够较好地完成算法设计习题之间存在着一定的距离。
三、问题产生的主要原因
1、课程本身难度大。《数据结构》课程不仅逻辑性强,而且极具抽象性,即使利用课件也无法完全将理论知识很直观地表现出来。另外《数据结构》课程内容较多,课时少,学生前面的知识还没有完全理解,新的知识就接踵而至,使得存在的问题堆积,实验内容很难完成。
2、学生对程序设计语言掌握的不好。《数据结构》课程具有较强的实践性,其教学基本上都是在学过一门或几门语言的基础上进行的。因此程序设计语言掌握的好坏程度直接影响数据结构的教学效果。
3、学生的实践机会少。一学期有限的上机实验中,学生练习的题目一般针对《数据结构》中以章节划分为主的知识点,规模较小、针对性较强,缺少一些连贯性和系统性,无法锻炼学生处理复杂问题的能力,因此学生面对具体问题时,不能综合地运用数据结构知识解决实际问题。
四、教学改革的意见
1、教学内容——体现简单、实用和精练的特点,强调动手能力的培养
传统的数据结构课程内容多而深奥,理论性非常强,教学的重点在理论方面。为了适应高职学生的实际情况,不讲述算法的效率分析方法,对那些较复杂、深奥的算法,则只介绍其基本思想和实现过程,有一些比较晦涩、难懂又不实用的内容则被删除;通过实例,重点讲解少数实用算法,学生再通过上机来加深对这些算法的理解和掌握。所以,从教学内容方面看,体现了简单、实用和精练的特点。
设计合适的实验内容,改革实验模式,有利于提高实验课程质量。适当增加了上机实践时间,并着手编写了适合高职学生的上机实验指导书。
2、教学方法和手段--打破传统教学模式,构建综合教学模式
(1)理论学习与解决实际问题相结合的教学
数据结构理论是从解决实际问题中产生、总结并提高的,那么它也必然以解决更多实际问题为其归宿,所以数据结构的理论学习和解决实际问题是紧密结合的。例如,栈的应用:编译器中表达式的处理、火车调度问题等; 队列和堆栈的综合应用:实现停车场管理; 二叉树和树的应用:哈夫曼树编码、下棋问题;图的应用:地图着色、旅游最短路径问题、工程或网络通讯造价问题等。这些程序的实现不仅有助于数据结构课程的学习, 更主要的是通过这些程序的实现,大大提高了学生编程能力和解决实际问题的能力。
(2)启发式教学
创新思维是培养学生创造力的基础,是学生进行创新活动的前提。在教学中,有意识地培养学生的创新思维能力,可以提高学生理论联系实际的能力、发现问题以及灵活独特地解决问题
的能力。因此,要从实际教学内容出发,适当引入难易适中的实例分析,采用启发式教学方法--强调把教学内容设置到复杂的、有意义的实际问题环境中,让学生通过解决实际问题,来理解和掌握隐含于问题背后的知识,提高解决问题的能力,从而提高创新思维能力。
(3)共性化与个性化相结合的教学
从教学形式上有以教师为主体的集中课堂教学形式,还有适合学生自学方式的分组学习形式。通过教师留讨论题或课程设计的方式,让学生撰写自己的小论文或总结报告,分小组讨论,并在上机实践课上进行互相交流。由教师引导学生利用已有的知识、经验建构新的相关知识。以此激发学生的学习潜能,进而取得良好的教学效果。共性化与个性化相结合,既可以起到教师主导作用,也可以满足学生个别化学习的需求与肯定学生个别的表现。
(4)项目驱动式的教学
完成每章教学内容后,教师都给出比较大的习题作为练习,由几个同学共同完成,通过资料的查询,到设计方案、编程实现和调试,驱动学生主动学习。例如《数据结构》授课结
束后,进行综合训练,让学生做一个小的系统,如《学生学籍管理系统》、《学生成绩管理系统》等,培养学生针对实际问题选择合适的数据结构和算法及综合应用数据结构和算法解决实际问题的能力。
(5)与自学考试内容相结合的教学
与自学考试的内容相结合。《数据结构》是自学考试的重点内容之一。我们将历年的试题整理,并将数据结构部分的试题按章分类。在教学过程结合相关内容,提高学生的学习兴趣,使学生更加明确学习目标。
五、结束语
将上述方法应用于实践,初步取得成效,但有些方法还有待于在实践中改进,从而使学生的程序设计能力大幅度提高,滿足用人单位的需求。
【参考文献】
[1]严蔚敏,吴伟民.数据结构(C语言)清华大学出版社,1997.
[2]李益民,邓文华.数据结构(C语言版).电子工业出版社,2004
[3]SartajSahni.数据结构、算法与应用[M).北京:机械工业出版社,2000.
[4]殷人尾,陶永雷.数据结构(用面向对象方法与C++描述)[M).北京:清华大学出版社,1999.