提高“数据结构”课程教学效果的方法初探
2009-12-30叶双吴清江缑锦陈霞
叶 双 吴清江 缑 锦 陈 霞
摘要:“数据结构”作为计算机学科的一门核心基础课程,提高教学质量尤为重要。本文在如何提高数据结构课程教学效果,如何激发学生学习兴趣等方面作了一些研究,就教学方式、教学方法、实验教学和网上互动等方面的改革提出了一些探索性的方法。
关键词:数据结构;教学改革;教学方法;教学效果
中图分类号:G642 文献标识码:A
“数据结构”是高校计算机学科一门非常重要的基础课程,尤其需要学生扎实掌握。但在“数据结构”教学过程中笔者也发现虽然师生都很重视,但学生学习的效果并不与之成正比。学生普遍反映的问题是:课堂上听老师讲解觉得很好理解,但是让他们自己动手设计数据结构及其算法来解决实际问题时就感觉力不从心了。也有些同学觉得数据结构理论性太强,在实际的应用中往往用不上。笔者对这个问题也研究了很久,觉得问题的原因应该是多方面的。
首先,目前我们仍然采用的是传统的板书(黑板+粉笔)教学方式,这种方式比起时下流行的多媒体教学方式显然不够有视觉冲击力,不够生动。
其次,由于学时有限,教学任务繁重,目前的教学中,还是主要以教师讲解为主,缺乏灵活的教学方法,陷入以“教师为主体”的怪圈中。学生在遇到困难时会有挫折感进而很容易置身其外。而太多的内容,学生往往分不清主次,概念也很容易混淆。
再次,数据结构中阐述的抽象数据类型,有其独立于应用的好处,然而这种抽象性反而如一堵墙挡在了它与学生之间,使学生在应用时常常觉得麻烦或无从下手。如何将这堵墙转变成一架桥梁是广大教师需要考虑的问题。
另外,实验是加强学生应用能力的重要环节。目前的情况是实验学时不足,学生除了实现教材中的基本数据结构及其算法外,得不到更多的训练。
所以解决这些问题也应该从多方面入手考虑,下面总结了笔者对上述问题一些探索性的解决思路。
1将可视化的多媒体教学方式与传统的板书教学方式相结合
传统的板书讲解方法能够使学生有足够的时间思考和消化教师讲解的内容,而且还可以通过举例等手段让讲解更形象。但是学生的程度不同,吸收知识的能力也不同,黑板一擦,学生只能凭记忆复习。
而多媒体手段比板书讲解更生动,其次,它利于保存,便于作为一种学习资料供学生课后复习。而实践也证明了图、文、声并茂比单纯文字叙述更有助于学生理解和长期记忆。但现在许多教师一味强调多媒体手段的好处,摈弃传统的板书教学也是不妥当的。笔者曾经听过学生这样抱怨:我们老师上课时就只知道动动鼠标,也不写写黑板。可见学生对这种教学方式也是有质疑的。因为多媒体教学很容易使得教师过分依赖多媒体手段,忽视教学的策略和方法,以及与学生的互动过程;而学生很容易被课件所牵引,忽视教师的讲解以及自我思考。
所以笔者认为可以把多媒体手段作为板书教学的必要补充,两者相辅相成。充分发挥多媒体教学软件作为课堂和课后的补充教学手段的作用。例如一些难于用板书讲解说明的部分,如递归过程等可以在课堂上利用多媒体软件让学生更好地理解。而课后,学生还可以通过使用该软件进行必要的复习和练习。
目前教师使用的多媒体手段多为教师自己制作的多媒体课件,以及从网上下载或自己制作的flash动画。当然,最好采用专门的多媒体软件,可以选用国内外优秀的数据结构多媒体软件,也可以由教研组组织教师开发符合自身教学需求的类似软件。这些软件除了演示算法过程外,往往还有其他的好处:(1)允许学生输入,进而观察不同条件下算法的演算过程,不仅更具灵活性,还培养学生主动探索的精神。例如演示快速排序时,观察选取不同的枢轴元素对效率的影响。(2)算法演示过程增加单步控制功能,便于学生控制和观察演算过程。(3)增加互动部分,如演算到某一步骤时暂停提出问题让学生思考。(4)算法演示的每一步骤的动画画面与其对应的伪码置于同一界面显示,方便学生比对学习。(5)可包括一些启发性的练习题及参考答案供学生课余时间有选择性训练。
2丰富教学手段,变“以教师为主”为“以学生为主”
传统的板书教学配以现代多媒体教学手段仍然是不够的。在实际教学过程中,还要思考用更科学的教学方法来调动学生的学习积极性,毕竟教学本身应该是以学生为主体,教师来组织和引导的过程。
(1) 案例教学法
该方法是现今非常热门的教学方法之一,起源于哈佛大学。一提到数据结构,很多学生往往将其归为一门理论课,而实际上它是对实际应用具有很强指导性的课程。所以,如果尽可能结合具体应用实例讲解知识点,有了应用背景,学生学习更有目的性,教学效果也会更突出。例如在介绍稀疏矩阵时结合其在图像压缩问题中的应用,这样学生学起来不会感觉枯燥,也更便于他们对知识点的理解和记忆。
(2) 启发式教学法
研究表明,问题可以更好地激发学生的求知欲,使学生注意力集中。学习不应是简单地接受课本一成不变的知识,而应在原有问题的基础上不断引导学生发现新的问题。采用提出问题的启发式教学方法可以激发学生的学习欲望,拓展思维方式,培养创造精神。
教师可以在讲解完课本上的经典算法后,启发学生将其修改后应用于一个实际问题中。例如用一维数组保存个人信息,其中包含“性别”项,思考如何运用快速排序思想实现将记录按男在前女在后的顺序排列。此外,还可以整理出一些小问题安排给不同的同学负责查阅相关资料并在课堂上讲解。
(3) 讨论式教学法
数据结构中有一些在认知上容易混淆的知识点,还有很多知识点是需要总结对比的,例如比较两种存储结构的优缺点或者比较多种排序方法各自的特点,等等。这时可以采用学生分组讨论+教师引导的方法,即不是由教师直接给出结论,而是变教师主动为学生主动。具体可将学生按座位临近原则进行大致分组,然后让他们在小组内进行讨论并记录得出的结论,最后在班上综合讨论出结果来。这种方法可以让学生在团体协作中发现新问题并逐步完善自身考虑的缺陷,加强理解和记忆过程。
(4) 比较式教学法
教师可事先布置一些题目,如迷宫问题,让学生先根据自己之前所学或查阅相关资料思考解决方法,然后在讲解到具体章节时让学生就采用栈结构的方法与自己先前的方法作比较从而更深刻理解数据结构在解决具体问题中的应用。“比较式学习法”的另一个应用是鼓励学生采用不同的方法解决同一问题,如判断字符串是否“回文”,可以直接采用顺序表,也可以使用堆栈和队列的方法,让学生对不同方法进行比较分析。
当然,多种教学方法的采用势必会造成课时不足,所以教师可以对数据结构课程内容作适当的分级,不同等级的内容要求不同,教学方法也不同:需要重点掌握的知识点,这部分要利用多种教学方法和手段强化记忆和强化训练;需要熟悉的知识点,可安排学生自学为主,教师讲解为辅。例如树的等价问题在后面章节的克鲁斯卡尔算法中有所运用,因此可布置学生自行学习并在需要应用时由学生来讲解学习心得;需要了解的知识点,这部分主要由教师进行扩充性的简单介绍。课堂时间不足时,有些问题还可以让学生课余解决并以书面报告的形式提交检查。
3加强实验环节的灵活性
实验教学部分其实是数据结构教学中一个非常重要的环节。只有自己动手实现才能真正理解数据结构是什么。实验内容的安排一方面要考虑到学生专业水平和认知能力等方面的实际情况;另一方面又要调动学生的积极性,体现数据结构的魅力所在。而目前实验题目过于单一,只注重了专业课程知识点的验证实验,显然是只考虑了前一方面,而忽视了后一方面。
笔者认为实验内容可分为两部分,一个是基本算法的实现;另一个是应用性实验。基本算法即让学生实现某个抽象数据类型,如线性表、堆栈等,这部分属于基本功练习;而应用性实验则更生活化更有实际应用背景。可以选用一些将现实问题抽象为数据结构模型的问题,如利用无向图“着色”问题解决学校运动会比赛时间安排问题;或者选用一些学生感兴趣的问题,如程序设计演示下雨场景等。这些实验更能激发学生的学习兴趣,而且更能让学生体会数据结构在实际问题中的具体应用,并对它在整个实际问题中所处的位置有更深刻的体会。
应用性实验的内容和要求由教师提出,学生每两人一组,自行选题,并通过图书馆或网络查找相关资料,完成实验过程。最后抽取做得较好的小组,通过小组成员讲解和其他同学讨论的方式共同学习。上交的实验报告中要体现小组成员的分工情况以便评分。
4教师博客的建立
课堂时间毕竟有限,学生在课余学习过程中还需要与教师多交流,目前采用最多的Email方式功能过于单一。另外,学校开发的通用教学服务系统也提供了诸如论坛这类形式的交流平台方便师生互动,不过这种方式缺乏个性化色彩,也往往受到教育网或校园网的访问限制。所以,教师还可以利用诸如课程博客的方式加强专业学术交流的氛围。教师可以将自己的教学理念、学习心得以日志的形式呈现,也可以将国内外优秀网站资源的链接放置于博客中,此外,多媒体软件、实验教案也可以上传供学生下载。博客的另一个好处就是可以促进教师的自我学习、日常反思,提升教师的教学质量。
5结束语
本文就如何提高“数据结构”课程的教学效果提出了几点看法。在实际应用中还应充分考虑到教学的需求和学生的实际情况,因材施教,以学生为中心,注重学生兴趣和能力的培养,以便更好地发挥“数据结构”课程理论指导实践的作用。
参考文献:
[1] 严蔚敏,吴伟民. 数据结构(C语言版)[M]. 北京:清华大学出版社,1997.
[2] 陈庆章. 国外可视化数据结构教学软件及其比较[J]. 计算机教育,2005(2):21-23.
[3] 卢雪燕. 谈教师博客与_数据结构_课程的教学改革[J]. 高教论坛,2008(6):37-39,50.
[4] 蒋盛益. 问题教学法_在数据结构教学中的应用[J]. 衡阳师范学院学报,2002(12):119-121.
[5] 马海瑛. 高师_数据结构_课程教学探索与实践[J]. 网络财富,2008(9):146-147.
Pilot Study of The Methods to Improve Teaching Effect on Data Structure Course
YE Shuang, WU Qing-jiang, GOU Jin, CHEN Xia
(College of Computer Science & Technology in HuaQiao University, Quanzhou 362021, China)
Abstract: Data Structure is a very important fundamental course in computer science. How to improve teaching effect on data structure course and how to inspire the students interest in learning are big problems we meet.Some new suggections in teaching mode, teaching methods, experimental teaching and network study of Data Structure are offered in this paper.
Key words: Data Structure; teaching reform; teaching methods; teaching effect