APP下载

高职院校“数据结构”改革设计

2009-05-11刘思远毕明超

计算机教育 2009年8期
关键词:数据结构高等职业教育教学方法

宋 颖 刘思远 毕明超

文章编号:1672-5913(2009)08-0050-02

摘要:“数据结构”是计算机专业课程体系中的一门较重要的必修课程,但因其理论性强、思维抽象、理解难度较大等特点,实际教学效果往往不够理想,因此,本文对“数据结构”课程教学过程中存在的问题进行了分析,并就如何提高“数据结构”课程的教学效果,提出在教学改革方面的一些设计。

关键词:高等职业教育;数据结构;教学方法

中图分类号:G642

文献标识码:B

1引言

“数据结构”是计算机专业一门重要的必修课,是高职专升本、本科考研的必考课程之一,在整个课程体系中处于承上启下的核心地位。一方面扩展和深化在“离散数学”、“程序设计语言”(目前以C、C++语言居多)等课程学到的基本技术和方法,另一方面为进一步学习“操作系统”、“数据库原理”、“软件工程”、“编译原理”等专业课奠定坚实的理论基础,可以说,对“数据结构”课程的掌握程度直接影响到学生对计算机专业知识的学习。因此,我们有必要探讨“数据结构”课程教学中存在的问题,并且结合高职学生的实际情况,总结设计出一套有效的教学方法。

2 “数据结构”课程教学中存在的问题

学生在学习“数据结构”这门课程时,普遍对课本内容理解困难,对算法设计题感到无从下手,上机调试程序时更不知如何操作。对此情况我们进行了认真分析,得出如下结论:

(1) 学生对本门课程的误解,造成学习积极性不高。“数据结构”课程是专业基础课,但是它既不像网页设计那样生动有趣,又不像Visual Foxpro等课程直接可以应用于将来的工作中。在学习过程中,学生感到“数据结构”不过是一些理论和程序的堆砌,常常问老师:“‘数据结构学完后有什么用?”,由于学生不能正确认识该课程的作用,故学习的积极性不高。

(2)“C语言”(或其它程序设计语言)课程开设不足,为“数据结构”课程教学埋下隐患。“C语言”(或其它程序设计语言)为“数据结构”的前导课程之一,学生对它的熟悉及掌握程度直接关系到“数据结构”课程的教学效果。

特别是对“数据结构”中使用频率最高的C语言中的结构体、指针的认识和理解不深,对函数参数、函数调用的知识点不熟练。这些内容在“数据结构”的教学过程中,尽管老师费劲唇舌,学生仍然模糊不清,致使教学效果不理想,部分学生还产生畏难和厌学情绪,甚至丧失对该课程学习的兴趣和信心。

(3) 课程自身问题,导致教学效果不佳。“数据结构”的逻辑性强、内容抽象、琐碎、概念多,所有内容均自成体系,相互之间的衔接线索很少,总体感觉内容零散,没有一个整体的知识框架体系,特别是部分知识点和算法难于理解,大部分学生常常觉得教科书中的内容与具体的算法相距甚远,无从下手,甚至在课程学习结束以后,都不知道自己到底学了些什么。

(4) 实践教学课时少,导致学生动手能力差。“数据结构”是一门理论与实践并重的课程,现在的上机课时仅为20课时,实践教学严重不足。还有些教师往往只注重理论教学,把实践教学的课时全部变为了理论教学,这样学生学起来更是枯燥乏味,对程序与算法之间的转换就更难以实现。

3教学改革设计的实施

通过对上述存在的问题总结分析后,我们从以下几个方面对“数据结构”课程进行了改革设计。

(1) 运用联系的观点阐述课程作用,激发学生学习的兴趣。“数据结构”课程是计算机体系中不可或缺的一个重要环节。在教学中我们采用联系的观点,把“数据结构”课程纳入整个计算机体系教学,学生就能认识到课程的重要性,从而激发学习兴趣。例如我们讲到链表时,可以有意把内容延伸到操作系统中计算机内存分配;讲树型结构时,可以与文件夹结构联系在一起;讲图结构的最小生成树,可以联系局域网的设计;讲查找技术,可以涉及网络的搜索引擎等等。这样不仅讲课活泼生动,而且还能引起学生联想,刺激学生学习的兴趣,收到良好的教学效果。

(2) 解决C语言的不足。“数据结构”课程教学过程中主要运用的是C语言的指针、函数、数组作为函数参数以及结构体类型来分析和解决问题。对于大部分学生来说,C语言运用能力不是很强,如果在上课时直接切入主题,就会使学生有云山雾罩的感觉。要解决这个问题,应该在教学中注意做到以下两点:一是与“C语言”的授课教师做好教学的沟通工作,统筹安排各部分的授课时间,保证指针、函数、及结构体等内容有足够的时间,并将其作为重点讲授并加强上机实践,让学生掌握C语言的精华。二是在学习“数据结构”课程初期,指导学生有针对性地复习指针、函数、及结构体等知识点,并强调它们在数据结构课程中的重要性。例如在课堂上以一个实例的形式对这些知识点进行复习,尤其指出学生难理解、易混淆和犯错误的地方,另外布置大量涉及这些知识点的作业,通过批改作业发现存在的问题然后反复进行讲解。

(3) 注意课堂语言的艺术性、趣味性,以激发学生的求知欲。“数据结构”是一门理论性很强的课程,其概念特别抽象。高职学生的理论基础普遍较弱,所以如果像本科教学一样,单纯地用课堂语言教学,高职学生理解起来有一定难度,而且会感到枯燥,因此,教师在授课时要讲究语言的艺术性,结合学生的实际,使用更加通俗、形象、生动、直观的教学语言进行讲授。例如堆栈的结构和运算可以和生活中的洗碗结合起来;队列可以和学生去食堂排队买饭结合起来;无向图可以和城市的公路交通网(若无单行道)结合起来,有向图可以和来水主管网结合起来。通过这样的比喻说明,学生不仅听起来有兴趣,易于理解,而且效果也比只单纯地“照本宣科”讲定义要强的多,能够达到事半功倍的效果。

(4) 抓好实践环节,提高算法设计能力。“数据结构”是实践很强的一门课程,不仅要学习理论知识,更要注重上机实践。通过上机实践来验证理论内容并加深对各种算法的透彻理解,结合高职学生学习能力不足的实际情况,我们从以下三个方面加强和改进了实践教学:一是学期初两周内给出适当的上机实验题目复习C程序语言中的指针、结构体和函数等知识点,并根据上机实验的情况对数据结构中常用及易出错的地方进行集体重点讲解,为后面算法的上机实验打好编程语言基础。二是为打消学生实现类C语言算法描述和C语言源程序的转换的畏难情绪,前两次上机实验时,教师可以先给出完整的源程序,让学生在主函数中添加语句来体验数据结构的基本操作的执行,再逐步过渡到自己编写完整的源程序。三是精心设计上机习题同时注意进行分层次的个性化教学。从不同学生的实际水平、基础出发,来设计不同难度的实验题目,给出不同的实验条件和要求,尽量让所有学生通过自己的努力获得实验的成功并掌握基本知识,从而最大程度地提高学生实验的积极性。例如,对堆栈可以设计建栈、出栈、入栈和后缀表达式求值实验;关于树可以设计二叉树的建立和遍历及给定一棵二叉树,打印指定结点的双亲和所有的孩子结点实验。基本操作实验学生可以根据自己的实际情况来选择完成。另外对于难度小的实验要求每个学生独立完成,而对实验难度稍大的允许以2到3人以小组形式完成或给出部分代码或提示。

(5) 对教学内容进行优化和归纳提炼。由于高职学生自学能力薄弱,再加上“数据结构”课程内容繁多、零散,不具备一个整体性,因此在教学中要求做到如下两点:一是教师要分析清楚数据结构的知识体系结构,在授课时始终贯穿“一中心、四结构、两存储”的原则。“一中心”是算法设计建立于逻辑结构,算法实现依赖与逻辑结构。“四结构”是指集合结构、线性结构、树型结构、图形结构。“两存储”是指顺序存储、链接存储。二是把握重点。在贯穿“一中心、四结构、两存储”的原则讲授内容时,要把握好重点,有选择有层次地教学。例如,线性表是最常用且最简单的一种数据结构,栈和队列是操作受限的线性表,树和图往往要做线性化处理,因此要把线性表作为重中之重的内容进行透彻的剖析。对于线性表的两种存储结构顺序表和单链表,把单链表作为重点和难点来讲授和上机实验。再如,二叉树的遍历操作为重点来讲授和上机实验,而哈夫曼算法作为可选的上机实验内容。

4结束语

由于“数据结构”是计算机专业的核心课程,以理论为主,而高职教学是以实践教学为主的教学。因此,如何将这门理论性很强的课程同高职的实践性教学相结合,值得我们进一步研究。在高职课程改革进行的如火如荼的今天,可以相信,只要我们从思想上重视“数据结构”课程改革与设计,不断提高自身的教学能力,采用合理的教学方法,“数据结构”课程的教学必将取得良好的效果。

参考文献:

[1] 严蔚敏,吴伟民.《数据结构(C语言版)》[M]. 北京:清华大学出版社,2001.

[2] 顾翔. 数据结构实践教学探讨[J]. 信息技术,2005,(30):110-112.

[3] 揭安全,李云清,杨庆红,等. “数据结构”课程教学改革与创新[J]. 计算机教育,2008,(10):132-133.

[4] 连进. 数据结构教学方法的研究[J]. 湖北经济学院学报,2008,(5):183-184.

猜你喜欢

数据结构高等职业教育教学方法
基于gitee的皮肤科教学方法研究
数据结构线上线下混合教学模式探讨
重典型应用,明结构关系
《计算方法》关于插值法的教学方法研讨
《计算方法》关于插值法的教学方法研讨
小学语文字理教学方法探析
高职院校“三个空间”就业体系构建研究与实践
纺织行业职业结构变迁对高职现代纺织专业人才培养的启示
我的教学方法
数据结构与算法课程设计教学模式的探讨