《数据结构》教学方法探讨
2009-04-23洪东忍
[摘要]数据结构课程是计算机专业中一门重要专业基础课,该课程的教学效果如何将直接影响学生对其他计算机课程的学习能力。从教学模式转变、课堂授课技巧、教学实验设三个方面入手,介绍提高课程教学质量的若干措施。
[关键词]教学模式 知识点的融和 对比 多媒体 实践
中图分类号:G42文献标识码:A文章编号:1671-7597(2009)0320132-01
一、引言
大学课程能否有效培养和发展学生思维能力成为众多老师密切关注和努力探索的问题。针对计算机专业学生,《数据结构》就是一门能够很好的锻炼学生创造力和思考力的学科,但很多学生觉得该课程难度太高,枯燥无味,因为它涉及到的大量概念和算法都比较抽象。这就要求任课老师在教学过程中努力做到课程内容条理化、具体概念形象化来提高教学效果。本人结合具体的教学实践情况,对《数据结构》教学方法进行多次探讨总结后,提出了一些建设性的意见。
二、主观上明确的转变教学模式
《数据结构》是一门特别需要抽象思维能力的学科,如果完全架构于传统教学模式之上的话,课堂会更显得枯燥无味,容易导致学生注意力无法集中。面对课程挑战,很多老师会把听课效率继续建立在学生的个人素质上,这样的教学效果很难有大的飞跃。任课老师应下定决心转变陈旧的教学模式,主动探索新的教学模式,尽可能有效地引导他们自觉、主动地投入到学习活动。首先建议每节课一开始就给学生提示本节课内容的重点难点,让学生学习更有方向性,四十五分钟的精力得到更好的合理支配。再者,教学内容尽量联系生活实例,如在重点章节,栈和队列两个概念在定义上都是受限制的线性表,在讲解时,老师可以联系日常生活中盘子的叠放来引入栈后进先出的结构特性,联系食堂学生排队买早餐来引入队列先进先出的结构特性。
老师还要注重让学生自己去分析问题、解决问题,讲课时不宜过细,坚持一个原则:学生能从书上自学弄懂的知识,不要讲解得太过详细,以免抹煞了他们的自学能力,保留给他们一定的自由思维空间。在回答学生算法设计之类的问题时,老师一定要坚持让学生自己先行思考,切忌马上回复答案,待他们思考充分后,时机适宜时再进行适当点拨,最终让他们自己找出解决问题的方法。经验证明,引导学生充分的独立思考是保障《数据结构》课程教学成果的关键。除了思考,老师还要鼓励学生主动表达自己的观点,这样除了可以活跃课堂气氛外,学生在表述过程中,由于表达算法时条理性要求较高,其个人的逻辑思维能力得到最好的锻炼。在下课之前老师还要留出适宜的时间和空间给学生自己思考、讨论、提问题,让他们及时消化所学内容以免影响下节课的学习效果。
三、课堂授课技巧方面
(一)注重知识点的对比和融合。《数据结构》课程里面一个个数据模型的出现,会使学生应接不暇,再加上编程要求较高,学生一般对所学知识停留在片面,知识结构基本上是分散的。老师在教学过程中要注重及时总结,把内容前后贯穿起来,从而有利于学生的理解掌握和知识结构的完善。《数据结构》的大量基本概念都是前后联系的,老师本身要熟练把握其内在联系,以画图或列表等方式对各数据模型的异同点进行适时归纳、总结与对比。如:在队列章节讲解完后,可以列表归纳总结顺序队列和链接队列的异同点和优缺点,在十四种队列基本操作的代码部分,对异同点再进行对比教学。还有例如排序这一章,学生要熟练掌握六种排序算法思想、具体操作步骤以及时间空间复杂度,难度较高。老师也可以通过对所有算法进行列表总结、按照它们的时间复杂度进行对比、归类,让学生自己一边回顾一边总结,思路更加明朗。总之,老师要尽可能的将同一数据结构不同的存贮结构的对象进行比较,同一问题不同实现算法进行比较,这既能提高学生的分析及思维能力,又能形成一个完整的知识体系。
(二)多媒体技术辅助教学。针对《数据结构》传统课堂教学方法的枯燥性,建议老师采用多媒体课件辅助教学,特别是动画演示的课件,学生在学习算法时的畏难心理和烦躁情绪能得到很好的缓解。多媒体教学本身生动、形象的特点能调动学生听课的积极性,在算法讲解时又特别有助于他们理解算法的步骤和精髓。其优越性更体现在它可以展示算法的动态执行过程,如顺序表删除元素的动态演示过程比在黑板上画图分析来得清晰生动。这些课件材料可以从网络上搜索得来,如清华大学出版社软件部的《数据结构算法演示系统》以及福州大学网站上面的数据结构FLASH视频演示等辅助教材都设置得较好,比较受学生欢迎。
四、教学实验
(一)注重实践。《数据结构》的学习在于掌握算法思想,锻炼思维能力,所以理论学习外,还要让学生多上机编程实践。
充分了解学生基础知识的掌握情况和编程能力水平的高低是老师布置上机作业的前提,这个可以通过机房问卷调查或小测试来得到。学生刚开始接触数据结构编程,最好从验证性的例子开始,可以选择书上的例子和在课堂上学到的基本算法进行验证,这类实验容易培养学生的成就感,加强他们编程的兴趣;慢慢的平缓过渡到设计性实验,要求学生充分利用所学的数据结构类型对具体问题实际应用。这个阶段,有些学生可能会因为多次失败挫折而退缩,所以老师的鼓励和指导尤其重要。接着就是进阶型的实验设计,建议选择学生感兴趣的某个项目或游戏作为切入点,然后让他们思考怎么去实现。这类相对复杂的应用设计。很多学生会感觉难度很大,无从下手。老师可以通过模块划分或者给出部分程序模块来帮助学生完成实验,适当降低难度,引导完成编程实践。
(二)作业题目分层次,网络平台多交流。《数据结构》课程的习题难度较大,在布置作业过程中,可以根据学生的实际情况,布置一定量的基础习题(验证性的)和一定量的难度较高的习题(设计性和进阶型)。对于基础习题,可以要求每一位学生都要完成,难度较高的习题供学习基础较好的学生自由选做。在作业完成过程中,老师和学生可以充分借助邮箱回复、个人博客、网站交互等现代化网络平台来进行资源共享和相互交流,大大提高学习效率。
五、结语
由于数据结构在大学计算机学科中的重要地位,对于该课程的教学,不仅要从理论上进行探讨,还要从教学技巧、实验设置等方面进行细致研究。笔者根据自己的教学经验和体会,提出了以上几点粗浅认识。除此之外,笔者认为随着社会的进步,教育理念的不断更新,作为一名教师,我们应时时不忘根据社会需求更新授课内容,设想教学策略来提高教学效果。
参考文献:
[1]钟育彬,数据结构课程设计的认识与实践,中山大学学报,2007.7.
[2]银丽萍,加强《数据结构》课程建设,注重学生应用与创新能力的培养,邵阳学院学报,2007.12.
[3]唐朝胜,浅析《数据结构》教学关键点,中国教育教学杂志,2006.12.
[4]李春英,建构主义模式下的《数据结构》教学,福建电脑,2006.8.
作者简介:
洪东忍,女,汉族,福建省泉州人,助教,学士学位,现任福建教育学院信息技术系教师,主要研究方向为计算机应用。