APP下载

关于计算机专业“数据结构”课程教学改革的探讨

2010-08-15傅晓丹

科技传播 2010年19期
关键词:二叉树数据结构计算机专业

傅晓丹

福建师范大学,福建福州 350007

关于计算机专业“数据结构”课程教学改革的探讨

傅晓丹

福建师范大学,福建福州 350007

《数据结构》不仅是计算机专业的核心课程,也是信息管理信息系统、图书馆学专业的专业基础课程。本文针对该课程授课过程中存在的问题进行探讨,提出一些教改方法,从而增加学生学习的兴趣,培养学生的创造性思维及实际动手能力。

数据结构;教学改革;教学方法

《数据结构》是计算机专业的核心课程,也是信息管理信息系统、图书馆学专业必须掌握的专业基础课程之一。该课程主要讲授数据在计算机中的表述、存储、数据组织方法和典型问题求解策略,以及算法设计及算法性能分析等内容,对培养学生的逻辑分析能力、抽象思维和创造能力的培养起到十分重要的作用。《数据结构》课程涉及的概念多、抽象性高、逻辑性强,是较难掌握的一门课程。针对几年的教学过程中存在的问题进行分析,笔者对《数据结构》教学改革提出一些看法。

1 设计与专业相适应的课程体系结构

《数据结构》是信息管理信息系统、图书馆学专业学生重要的专业基础课,也是该专业众多大学研究生考试的专业课程,因此,课程的教学不仅要让学生掌握课程的核心内容,将课程问题求解的相关理论、相关概念与算法的设计思路理解透彻,而且要让学生提高课程的实践设计能力。在设计课程体系结构时,笔者具体采取以下措施。

1.1 选择合适的教材

给计算机专业学生开课一般选择的教材是清华大学出版社出版的严蔚敏、吴伟民编著的《数据结构》。这本教材编写比较深入,注重算法的设计,但实例较少,且要求学习基础比较好。而信息管理信息系统和图书馆学专业学生有文科生也有理科生,这样的教材不太适合他们。因此,笔者选择实例较多的教材——清华大学出版社出版的李春葆等编著的《数据结构与算法教程(第3版)》。

1.2 制定适合该专业特色的教学大纲

信息管理信息系统和图书馆学专业学生有文科生也有理科生,针对他们讲授《数据结构》这门课不能像给计算机专业学生讲课那样注重设计的教学,而应该把教学重点放在算法理论的教学,同时结合适当的算法设计和开发。由于课程课时的限制,课堂讲授时不可能将课程的每一点知识都详细介绍,因此,在设计教学大纲是要有主次之分,合理分配课时,重在引导学生入门学习,掌握学习方法,以便学生展开深入的学习,教师予以适当的指导。

在讲授《数据结构》课程前先用一节回顾温习C语言的主要内容,在学生的学习状态融入后,接着介绍《数据结构》课程内容,展开主次分明,重点明确的教学。

1.2 .1 线性结构部分

线性结构时数据结构中最常用的数据结构类型,也是后续结构学习的基础,因此要重点介绍。这部分的内容重点讲解算法分析、线性表、栈和队列以及串的算法设计与实现。

1.2 .2 递归算法

递归的内容在C语言课程中已经介绍过了,这部分内容可以略讲,讲授主要将递归与非递归算法从算法的时间复杂度上进行比较分析介绍,这样能够让学生更好的理解算法的优劣,合理进行算法选择。还需要让学生了解如何进行递归算法的分析与设计。

1.2 .3 树和二叉树部分

树和二叉树是数据结构中数据元素存在的一对多的关系,算法设计相对比较复杂,学生接受较难,因此,这部分的内容主要讲授树和二叉树相关的概念、存储结构、遍历算法理论、树与二叉树的转换、线索二叉树的算法,哈夫曼树的应用算法,而对于算法实现部分适当展开,深入部分由学生自由拓展。

1.2 .4 图

图是数据结构中数据元素存在的多对多的关系,这部分内容主要讲授图的基本概念、存储结构、图的遍历算法理论、最小生成树算法理论、最短路径算法理论以及AOE网与关键路径基本理论和算法实现,深入的算法设计学生课后实现。

1.2 .5 查找与排序

这部分的内容在C语言程序设计课程中有涉及到一些,因此,讲授的时候主要是结合算法的效率进行分析介绍。

2 多样化的教学方法

《数据结构》课程的内容是理论性较强、逻辑性高,学生普遍反映学习比较难的课程。

2.1 理论联系实践

在讲授课程过程中,尽可能的用身边的客观问题做实例,让学生更好的理解相关的概念和算法。例如:在介绍线性表的顺序存储结构和链式存储结构时,结合学生到教室上课的座位安排的实例展开。线性表的顺序存储结构如同学生按学号顺序从第一排第一个座位开始按顺序就坐,而链式存储结构如同学生在教室随便就坐,但是要保持学生学号的逻辑关系,因此创建一个指针来记录下一个学号同学的座位号。在讲授树和二叉树的概念时,结合到现实生活中的家族关系来描述二叉树中各个结点之间的关系等。在介绍图的概念时,联系到城市交通的问题,如:有向图如同城市道路中的单行道,两点间的一条边只能表示一个结点到另一结点的单向行驶,而无向图如同道路的双行道,两点间有一条边则意味着两地可以相互到达。

2.2 对比联系讲授

在数据结构中,有很多概念是相关联的,可以联系起来介绍。例如:在介绍线性表的顺序存储结构的优缺点时,可以对比介绍链式存储结构的优缺点。顺序存储结构执行插入、删除操作的效率低的缺点正是链式存储结构的优点。这样,在讲授新内容的同时又不忘联系前面讲授的内容,使整门课程的内容前后贯通。在数据结构课程中,类似相关联的知识点有很多,这样的对比讲授既能让学生学习新的知识点,又能让学生回顾前面的知识点,实现课程知识的融汇贯通。

2.3 实践操作指导

课程配有上机实践课,每周的理论讲授后进行上机设计操作,布置一些与本周课程相关的设计题,让学生能将当天学到的知识马上进行实践操作,有利于知识的巩固。在上机过程中,对学生进行一对一的指导,指导学生解决在实践设计过程中遇到的各种错误。当错误较普遍的时候,在下一次课的讲授中集中说明讲解。课后学生上交作业,批改后讲问题汇总讲解。

2.4 充分利用教务处的数字化课程平台

学校迁到大学城后,由于交通不便、路途遥远,学生与老师的交流越来越少。师生基本只有在有课的时候才会见面,学生有问题不能得到及时的解决。教务处提供了数字课程平台以弥补这些不足。教师将课件、参考程序上传到平台供学生在线阅读或者下载后阅读,同时可以利用课程平台给学生布置作业,设置提交截止时间,批改学生上传的作业并予以回复,并及时上传作业参考答案。这样,师生就可以通过数字课程平台进行交流沟通,学生的作业也能够得到及时的回复,师生都能了解课程掌握的不足点,这样有利于教师后期的教学开展和学生的学习。

2.5 利用网络交流

除了利用数字化课程平台,还可以利用电子邮件、QQ等多种网络方式进行交流,及时对学生提出的问题提供指导。

2.6 多渠道的考核方式

《数据结构》课程是一门实践性较强的课程,要更好的考核学生的学习效果就不能仅仅通过期末考试,因此在课程考核方面笔者进行如下设计:

总评成绩=平时成绩+期末考试成绩

其中:平时成绩占30%(出勤与课堂回答问题占10%,平时作业、上机实践作业占20%),期末考试成绩占70%。

3 课程改革效果

《数据结构》课程改革通过两个学期的实践取得初步成效,在教学过程中,实现讲授到实践到反馈的循环。学生的学习效率得到提高,学习成绩也有所提高。以往很多学生都不能通过课程的考核,教学改革后,学生的通过率得到明显的提高,学生对教学的满意度也得到较大的提高。但是,笔者还需要在今后的教学中不断的总结,学习新的教学方法,改进教学效果与质量,让学生真正的学有所成,学有所用。

[1]李春葆,尹为民,等.数据结构与算法教程[M].清华大学 出版社,2009,3.

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

[3]刘海林.《数据结构》课程的教学探讨[J].广东技术师范 大学学报,2008(3).

[4]杨永斌.“数据结构”教学策略探讨[J].合肥工业大学学 报,2008,22(3).

[5]王晓荣,王萌.《数据结构》课程教学改革研究[J].电脑 学习,2009.

TP39

A

1674-6708(2010)28-0203-02

猜你喜欢

二叉树数据结构计算机专业
CSP真题——二叉树
二叉树创建方法
“以赛促学,以赛促教”促进计算机专业教学理念创新与实践研究
一种由层次遍历和其它遍历构造二叉树的新算法
“翻转课堂”教学模式的探讨——以《数据结构》课程教学为例
职业高中计算机专业教学改革浅析
TRIZ理论在“数据结构”多媒体教学中的应用
论复杂二叉树的初始化算法
非计算机专业C语言教学探讨
《数据结构》教学方法创新探讨