《数据结构》课程教学改革与探索

时间:2022-10-21 14:10:02 来源:网友投稿

zoޛ)j首学习中获得成就感,进而激发学习热情,提高教学质量。

关键词:数据结构;理论教学;实践教学;教学改革

中图分类号:TP311.12-4 文献标识码:A 文章编号:1007-9599 (2012) 17-0000-02

1 课程内容

《数据结构》是计算机科学中一门综合性的专业基础课,也是其它辅修计算机专业的必修课程。本课程讨论了软件设计中经常遇到的线性表、堆栈、队列、串、数组、树和二叉树、图等典型数据结构的逻辑结构、存储结构和操作的实现方法,以及递归算法设计方法和各种典型排序和查找算法的设计方法。并对算法进行性能分析和比较,内容非常丰富。数据结构课程是一门理论和实践相结合的课程。本课程包括讲授和课内上机实验两部分教学内容。课内上机实验是为训练学生的实际程序设计能力安排的。

课程的目标是使学生掌握数据基本的逻辑结构和存储结构、一些典型的数据结构算法及程序设计方法和技巧,要求学会分析数据对象特征,掌握数据组织方法和计算机的表示方法,为数据选择适当的逻辑结构、存储结构以及相应的处理算法,要求具备算法分析的基本技术和能力,并培养良好的程序设计风格,掌握开发复杂、高效程序的技能。

2 理论教学方法与手段的探索

遵循以学生为主体,以教师为主导的教育理念,针对理论教学和实践教学的不同特点,合理进行教学设计,推进教学方法和教学手段改革。课堂上引入启发式教学,充分发挥学生的学习主动性,重视自学能力的培养,引导学生积极思考,活跃课堂气氛,适当压缩授课时数, 留给学生更多的思维空间和自学空间,增加学生阅读参考书、科技文献和写读书报告的时间。数据结构的教学策略:

(1)激发学生的学习兴趣

兴趣是最好的老师,只有激发了学生的学习兴趣,才能事半功倍,取得更好的学习效果。在教学中通过具体的实例说明数据结构在程序设计中的重要性,从而激发学生的求知欲,让学生充分感受到数据结构算法设计的魅力,调动学生思考的积极性。鼓励学生对教学内容提出疑问,师生共同讨论,从而提高教学和学习水平。在课堂上随时提出一些思考题,对一个结构从不同角度讨论。例如,对于线性结构,讨论线性表、栈和队列各自的操作特点。鼓励学生在学习过程独立思索,提出不同的算法,深化对问题的理解。例如在讲解循环队列时,如何判断队空和队满,有的同学提出三种解决方法。对于这样的同学,我们及时给与表扬和鼓励。

(2)教学内容的有机组合

在现有教学大纲的内容的基础上,不断吸收新知识、新内容,补充考研试题。对教学内容的安排重新进行拆分和重组,突出重点、细化难点。运用面向对象的学习方法讲解数据结构,每一种数据结构的学习方法都是相似的,重点介绍数据结构的逻辑关系、基本操作和在不同存储方式下基本操作的实现,介绍数据的逻辑结构和物理存储之间的关系,及物理存储在类C语言中的描述,数据结构的主要内容可用以下的体系结构来表示。

学生在了解了数据结构课程的核心内容后,算法的实现就不难理解了。例如:我们在讲授线性表的复杂操作有序表的合并时,先从逻辑上看是如何实现的,介绍算法设计思想,然后讲解两种实现算法:顺序存储方式和链式存储方式下的算法,让学生自己比较两种算法,加深理解。

(3)双向互动式的教学

改变原来“填鸭式”的教学模式,变以教师为主的教学方式为以学生为中心的教学模式,教师只起画龙点睛的作用。课堂上引入启发式教学,充分发挥学生的学习主动性,重视自学能力的培养,引导学生积极思考,活跃课堂气氛,适当压缩授课时数,留给学生更多的思维空间和自学空间,增加学生阅读参考书、科技文献和写读书报告的时间。为了更方便和鼓励学生自主学习,我们建设了数据结构精品课程网站,有授课视频、教学课件、各章习题和考研辅导等学生内容,教师还可以通过网站进行网上答疑,与学生及时交流。

(4)注重各知识点的有机统一

若想让学生做到融会贯通,举一反三,在教学中就必须注重各知识点的有机统一。比如在讲授内部排序算法时,综合比较各种排序算法的时间复杂度、空间复杂度、稳定性、最好及最差情况等。让学生通过比较,提高解决问题的能力,会根据不同形式的待排序表选择合适的存储方式和排序方法。再就是讲授链队列时,讲完用一个带有头尾指针的单链表表示的队列后,再让学生思考如何用一个循环链表表示队列,在给出启示后让学生自己写成队列的初始化、入队和出队算法,通过这种方式的教学不仅培养了学生的思维能力,而且有助于培养学生的创新能力,会综合运用所学知识,用计算机解决较复杂的问题。

(5)运用现代化教学手段

重视现代教育方法、技术手段的运用,采用多媒体教学,加大课程信息量,提高教学效率。在采用多媒体技术讲授本门课程的过程中,在深入研究多媒体教学的特点以及学生现有知识架构的基础上,重新组织、优化、补充教材内容,精心制作多媒体课件。在多媒体课堂上,通过教师有机地组织电子教案、演示课件等,使得学生能形象地领悟到算法的效果,教学变得丰富、有趣。在授课过程中,首先还原问题的本来面目——提出问题,引导同学积极参与——尝试解决问题,在讨论的基础上给出结论——讲授教学内容,最后采用课件进行算法的动态演示,加大了课堂信息量,提高了教学效率。

3 实践教学的探索

实践教学是数据结构课程教学的一个重要组成部分,对本门课程的学习起着至关重要的决定。通过实践教学,让学生能够学会运用书上学到的知识来解决实际问题,培养软件工作所需要的动手能力。

实践活动通过两个环节来实现,第一个环节课程实验,较偏重于对课程内容的理解。实验讲义完备,开出率100%。保证了学生理解和掌握课程的基本理论和基本概念,又提高他们的动手能力。第二个环节课程设计实习,让学生有机会自己提出实验项目、实验方案,在教师指导下按其方案进行实验,最后让学生自己得出应有的结论,进一步培养学生的学习兴趣和实践动手能力,从而激发创造力,也初步实现了对学生进行一整套软件工作规范的训练和科学作风的培养。

(1)实验教学内容

依据实验教学大纲,合理安排实验教学内容。我在教学时把实验项目按照不同内容和难度分成三种类型:基础型实验项目、设计性实验项目、和综合性和创新型实验项目,实现了实验教学内容的创新。基础型实验项目安排在各个章节中,主要围绕数据结构基础知识内容,目的是让学生掌握各种基本数据结构的逻辑关系和存储方式,通过实验验证算法,理解数据结构的基本操作的定义和实现。设计型实验项目是在基础型实验项目的基础上,让学生自己设计数据结构和算法,提高学生解决问题的能力和良好的编程能力。例如一元多项式求和,要求学生选择合适的数据结构自己编写算法。综合型实验项目涉及数据结构中多个知识点的重点内容,要求学生自己进行设计和实现,主要训练学生综合运用知识的能力,协作能力和创新实践能力。

(2)考核方式探索

为了培养学生的创新意识和团队协作精神,促进学生之间的交流和协作,使不同水平的学生都能在大型实验项目中担负起相应的工作,特别设计了一套针对综合型实验和探索创新型实验的考核方式和考核方法。

根据不同的实验项目采取不同的考核方式,基础型和设计型实验项目安排在平时每周的上机实验课进行,根据学生提交的实验报告进行考核。综合型和创新型实验项目较大,需要学生分工合作,共同完成,一般对学生进行分组,每组完成一个实验项目,在课程设计环节完成,一般有两周时间,教师根据每个学生在组内的表现给出一个考核成绩,项目完成后,再根据各组提交的项目报告和项目的质量给出合理考核成绩。这样既激发了学生的创新能力,又提高了学生的团队合作精神。

4 结论

在研究课程的教学方法时,要因内容制宜,因学生制宜,采取不同的教学方法。本人通过近十年对数据结构教学的实践与探索,取得了一定的教学效果,使得学生在学习数据结构时,不在感觉那么抽象,理解数据结构和算法不再那么困难,让学生真正理解了数据结构的作用,会选择和使用合适的数据结构解决问题。为学生后继课程的学习打下良好的基础,乃至对学生今后从事软件方面的工作都会提供较大的帮助。

参考文献:

[1]严蔚敏,吴伟民.数据结构[M].北京:清华大学出版社,2002.

[2]李治军,廖明宏,张岩.数据结构与算法课程设计教学模式的探讨[J].计算机教育,2006(2).

[3]殷人昆,陶永雷,谢若阳,盛绚华.数据结构(用面向对象方法与C++描述)[M].北京:清华大学出版社,2002.

[4]李锋,孙莉.任务驱动式方法在离散数学教学中的应用[J].计算机教育,2006(3).

[5]王锐.基于网络的《数据结构》新型教学模式研究[J].中州大学学报,2006(10).

[6]莫家庆.《数据结构》程序教学模式探索[J].计算机教育,2008(9).

[作者简介]

李艳平(1976-),女,山东郓城县人,讲师,硕士,研究方向:软件工程。

推荐访问:数据结构 教学改革 探索 课程

最新推荐
猜你喜欢