浅谈《数据结构》课程教学与实践
2010-08-15刘美丽周俊杰
刘美丽 周俊杰
(1、新疆克拉玛依广播电视大学,新疆 克拉玛依 834000 2、郑州大学,河南 郑州 450001)
1 引言
“数据结构”是计算机程序设计的重要理论技术基础,它不仅是计算机学科的核心课程,而且已成为其它理工专业的热门选修课,同时是研究生入学考试常考的一门基础课。它要求学生能根据所学的理论完成较典型的程序设计。而程序设计能力的提高需要日积月累的学习、设计、观摩、借鉴和实践的过程,在不断循环中提高实践能力和动手能力。
尽管学生在学习《数据结构》课程时,已学过程序设计语言,但由于抽象的数据类型、动态分配存储空间等概念,比较难理解,一直学习的难点。如何理解数据存储结构,消化算法,将算法转化成程序设计语言的函数并能编写出运行该函数的主程序,往往是摆在他们面前的一道难关。针对上述问题,结合自己的教学经验,提出自己的思路。
2 实践教学新思路
本人多次讲授《数据结构》课程,所用教材为清华大学出版社的严蔚敏、吴伟民编著的《数据结构》(C语言版)(以下简称为教科书)。该教科书内容全面,有较高的深度,但在叙述一些基本概念和算法时过于精练,使学生在理解上有一定的困难。另外,本课程的教学不仅注重学生对理论的理解,锻炼学生的抽象思维和创造能力,更注重培养学生的实践能力。笔者在多年的教学实践中发现,学生认为这门课程理论性太强,太枯燥,不好学,学了不知有什么用,怎么用,当面对具体问题时,不知该如何应用学过的知识来给出切实可行的解决方案以及编制程序,得出正确的结果。
针对以上问题,可以看出数据结构教学除了加强理论知识的讲授外,更应注重实践环节的教学,提高上机实验课的教学效果。
2.1 思想上重视实践教学
有些教师在教学的过程中,重点给学生讲授数据对象的特性,数据的组织方法,数据的逻辑结构和存储结构以及相应的运算(操作),对实验不够重视,认为可有可无。在实际教学中,教师只介绍各种操作的算法,而忽视将算法转换为具体程序设计语言中的函数以及编写出运行该函数的主程序。这种教学方式,势必导致多数学生对算法和程序概念的混淆,再加上教科书中也仅仅是将算法转换成程序设计语言中的函数,学生在上机实验中往往编制不出完整的程序,得出正确的结果。
上机实验是对学生全面综合素质进行训练的一种基本方法,是课堂教学的一种延伸,是必不可少的一个教学环节。实验起到深化理解和灵活掌握教学内容的目的,同时,也是对学生软件设计综合能力的训练。所以本人要求学生在上机实验前,必须运行所学程序设计语言编写完整的程序,上机过程中,先让学生自行调试自已所编写的程序,实在不能解决的问题,再在老师指导下完成。通过几次这样的严格要求,学生掌握了技巧、产生了兴趣,增强了信心。
在“数据结构”课程堆栈的教学中,针对教科书中进制转换的问题,笔者除了详细讲授教科书中堆栈的顺序存储结构及其基本运算的实现算法与函数外,还在课堂上编制出运行该函数的主程序,包括数据的输入与输出。
程序运行如下:
将十进制整数n转换为b进制数,请输入n与b:13,2通过多次实践,学生清楚地认识到程序不仅仅是算法,更应注重程序总体结构设计、用户界面设计、软件开发规范等方面的学习和锻炼。
2.2 编制好的实验指导书
一本好的实验指导书能给学生的上机实验带来事半功倍的效果。现在有关《数据结构》课程的实验指导书较少,而且其中大部分都没有提供具体的上机实验操作过程。笔者认为一本好的实验指导书应该能和教科书有机结合起来,学生在理论课学习的基础上,通过阅读该书,应该能够解决实际问题。笔者在《数据结构》课程的教学中,建议在编实验指导书时要考虑到以下三个方面:
(1)明确具体实验步骤
为了培养学生良好的工作作风和方法,并且为后续课程做准备,书中按软件工程方法要求学生遵循相应的实验步骤,先进行需求分析,抽象出数据结构,再明确数据类型,详细设计,最后进行编码及调试。
(2)明确每个实验的具体要求
有了具体要求,学生实验时才有章可循。书中对每个实验都提出具体要求。开始部分的实验除给出要求外,还给出问题的需求分析、设计以及完整的程序,学生上机主要是验证性试验程序,在此基础上要求学生独立设计算法,编制并调试程序。
(3)预习实验指导书中的内容
实验指导书与教材有机结合,高于教材,上机实验学时有限,这就要求学生在上机实验前必须预习实验指导书中的内容,给出了一些与本实验有关的思考题,让学生在阅读中思考,同时列出相应的参考资料或参考书,让学生在上机之前通过查阅参考资料或参考书,加深对实验内容的理解。自己先经过分析、思考、设计编写程序源代码,而不能上机时才进行编写程序,这样上机效率非常,时间较紧。
2.3 加强一线教师队伍的建设
课程的教学最终是由一线教师来完成的,一线教师队伍的素质决定了教学的质量。
实验教学能力的培养有一个过程。作为一名教师,应具备钻研和创新精神,提高自己的知识水平和实验教学能力。同时,在教学过程中,也应该吸收其他优秀教师的教育思想,学习其他教师的教学方法,在实验教学方面,一线教师更应注重相互之间的沟通,取长补短,共同提高。学校、院系在条件允许下,还应定期组织教师进行培训或进修。
3 结束语
由于“数据结构”课程在计算机专业课程中的重要性,必须加强实践环节的教学。可以相信,只要我们思想上重视实践环节的教学,学生积极配合预习,结合良好的实验指导书,不断提高自身实践教学的能力加上采用合理的教学方法,《数据结构》课程的实践教学必将取得良好的教学效果。
[1]严蔚敏,吴伟民.数据结构(C语言版)[M].北京:清华大学出版社,1997.
[2]严蔚敏,吴伟民.数据结构题集[M].北京:清华大学出版社,1999.
[3]高一凡.《数据结构》算法实现及解析[M].陕西:西安电子科技大学出版社,2004.