数据结构课程教学研究与探讨
2010-08-15朱洪浩
朱洪浩
(蚌埠学院 计算机系,安徽 蚌埠 233000)
数据结构课程教学研究与探讨
朱洪浩
(蚌埠学院 计算机系,安徽 蚌埠 233000)
数据结构是计算机等专业的一门重要的基础课程和核心课程.本文针对目前数据结构课程教学中存在的问题进行了分析研究,分别从课堂教学、实验教学和课程设计等方面进行了课程教学改革方面的探讨.
数据结构;课堂教学;实验教学;课程设计
1 引言
数据结构是计算机及其相关专业必修的一门重要基础课程和核心课程,是程序设计等的重要理论基础,并且有很强的技术性与实践性.它主要研究非数值应用问题中数据之间的逻辑关系和对数据的操作,以及如何将具有逻辑关系的数据按一定的存储方式存储在计算机内.
数据结构课程可以培养和训练学生的软件开发能力,使其在软件开发过程中通过分析数据之间的逻辑关系合理地选用逻辑结构和相应的存储结构,应用高级语言编写易读、健壮和高效率的算法,从而提高软件整体质量.同时通过数据结构课程的学习为后续学习编译原理、操作系统等课程打下扎实的基础.
2 教学中存在的问题
数据结构课程对计算机人才的培养起着非常重要的作用,但在学习过程中由于概念多、内容广、逻辑性强、抽象性高、算法编写复杂等诸多问题的存在对计算机人才的培养产生了很大的制约作用.目前数据结构课程教学中存在的问题具体如下:
2.1 课堂教学存在的问题
课堂教学是数据结构课程教学的基础,学生只有在课堂上掌握了扎实的理论基础,才能更好的进行实验教学和课程设计实践.目前,教学中存在的问题如下:
2.1.1 先修课程不扎实,学生学习兴趣低
数据结构的重点和难点是算法的描述和理解,目前一般采用C语言描述算法,因此C语言成为数据结构的先修课程.但目前学生对C语言掌握不够扎实,尤其是对指针和结构体的掌握更是欠缺,这对学习数据结构课程造成了很大的障碍.此外,离散数学也是数据结构学习的先修课程,学生对此课程的掌握更是不尽人意.数据结构课程本身理论性很强,内容较抽象,学习过程中,学生对课程学习的意义产生怀疑.甚至有的同学认为数据结构没有实用价值,不学数据结构也可以编程.以上原因造成部分学生对数据结构课程学习失去兴趣,从而导致整个课程的学习效果不理想.
2.1.2 教学方法单一,仍采用“填鸭式教学”
在教学过程中仍采用传统的教学方式,虽然也使用了多媒体进行教学,但仅仅是幻灯片的播放,没能充分利用多媒体展示算法的动态变化过程.课堂上,教师仍采用“填鸭式教学”,教师满堂灌输,学生被动的接收.教师没能考虑学生的具体情况,教与学不同步,学生缺乏积极主动的学习,不利于对学生能力的培养.
2.2 实验教学存在的问题
数据结构实验教学存在以下问题:
2.2.1 对学生要求相同
数据结构课程学习目的是将所学理论知识加以融会贯通以解决实际问题,学以致用.因此,实验教学是数据结构教学中不可缺少的重要组成部分.在实验教学中,对学生做相同的要求是不妥的.原因是学生对先修课程C语言掌握的程度不同,对理论知识的理解,算法的思想掌握的程度也不尽相同.对他们采取相同的要求将会造成一部分程度好的学生不能满足他们的学习要求;另一部分程度较差的学生不能完成实验的要求,从而造成心理负担,甚至失去对数据结构课程学习的兴趣.
2.2.2 对学生实验目标要求模糊
数据结构课程实验教学究竟要求学生应该达到什么样的程度,学生必须掌握哪些内容,对此问题的要求十分模糊,大部分教师在实验教学中都是按照教材实验指导或者随便出几个题目让学生自己去做,这让学生产生很大的困惑.教师应明确实验教学的目标.
2.3 课程设计存在的问题
数据结构课程设计的目的帮助学生系统掌握课程的主要内容及程序设计技巧和方法,培养学生利用所学知识分析和解决实际问题的能力.课程设计实践中存在的问题如下:
2.3.1 对课程设计重视不够
目前大部分教师和学生对待课程设计不够重视,大多认为是多上几节实验课,是实验课的增加,仅仅只是量的变化.这种态度是对课程设计严重不重视,完全没有达到课程设计应有的效果.学生只是在上机时间的增加,能力完全没有提高.
2.3.2 缺乏有效的组织
目前对课程设计的要求一般采用“放羊”的教学方式:教师出几个题目,让学生去做,期末上交,然后教师给个评定等级,就算完成任务.这种做法缺乏对学生的有效组织,达不到课程设计应有效果.
3 课堂教学改革对策
针对课堂教学中存在的问题,可以通过以下方式进行改进:
3.1 激发学生兴趣
“兴趣是最好的老师”,只要能够激发学生的兴趣和激情,循序渐进的学习,便能够学好数据结构这门课程.因此,在课堂教学中,教师要激发学生的学习兴趣和激情,培养学生主动学习的精神.尤其是第一堂课的教学,更为重要,要通过对实际问题的分析,明确数据结构的重要性与实用性,从而激发学生学习兴趣和激情.例如我们经常玩的“迷宫”在计算机中是如何进行实现的;发送电报,如何使译码后传送的电文总长尽可能地短;在铺设网线中,如何铺设以求花费最少等.通过以上贴近生活的实例,激发学生的兴趣.为以后章节的学习打下坚实的基础.但以后的教学中仍然需要不断的激发学生的兴趣,从而使其可持续的学习.
3.2 采用与C语言融合的教学模式
C语言是数据结构课程的先导课程之一,要想对数据结构课程达到很好的教学效果,学生对C语言的熟悉、掌握程度起着很重要的作用.为了避免学生学习的脱节,教师需教学有序.采用C语言和数据结构课程“一师制”,即这两门课都有一位老师讲授.同时,在内容上将C语言与数据结构进行整合,这样做的目的是使先导课、后继课有机衔接,教师能够自觉做到二门课程的相互融合,从而达到良好的教学效果.此外教师也应加强自身的学习和提高,以适应和满足教学各方面的要求.
3.3 采用多媒体与黑板相结合的教学手段
多媒体教学是集授课、习题、演示算法于一体的现代教育技术,它信息量大,内容丰富生动.教师要灵活运用多媒体教学,将难以表达和理解的内容制作成多媒体动画演示,展示算法的动态执行过程.同时充分发挥黑板教学交互方便的重要性,把多媒体教学和黑板教学有机地结合起来,充分发挥各自的长处,形成最佳的教学方法.以此来调动学生上课的积极性,变被动听课为主动学习,最终达到良好的教学效果.
4 实验教学改革对策
在实验教学中,采用层次教学法,针对不同学生对教学内容的掌握情况设计不同层次的实验.一般分为基础类实验和拓展类实验.
4.1 基础类实验
基础类实验主要包括每章中涉及的基本内容,例如顺序表、单链表的建立、输出、查询、插入和删除;栈的建立、入栈和出栈;队列的建立与输出;二叉树的建立、遍历;图的建立遍历等等.基础类实验要求学生必须掌握其内容,对于实验中普遍存在的问题要及时解决和讨论.确保学生完全掌握基础类实验的内容.
4.2 拓展类实验
拓展类实验是在基础类实验的基础上设计的一类实验,内容主要包括利用所学的知识解决一些实际的问题,例如利用顺序表解决一元多项式计算,利用栈和队列解决猴子选大王、验证任意一个字符串是否为“回文字符串”等.对于拓展类实验,题目要与生活实际相连.拓展类实验不要求所有学生全部掌握,主要针对学习积极性高并有意愿在此有一定发展的学生而设计的.
5 课程设计教学改革对策
数据结构课程设计是课堂理论教学和实验教学的延伸和补充.但比实验教学内容多,深度广,实用性强.通过课程设计实践,树立正确的设计思想,培养学生综合运用数据结构课程和其他先修课程的理论知识解决实际问题的能力,培养学生开拓创新能力,并且获得项目管理经验和增强团队合作精神.
由于班级学生对基础知识掌握程度不一致,兴趣也各有不同,为了使课程设计能达到相应的目标,通过建立“兴趣团队”.具体是将班级的学生按照5-6人一组分成若干组,每组成员由学生按照兴趣的不同自愿组合.“兴趣团队”在教师的指导下,按照“问题分析和问题定义——逻辑设计和数据结构的选择-详细设计和编码——上机调试——写课程设计报告”的步骤进行课程设计实践.通过“兴趣团队”的建设,不仅使学生为后续的其它部分设计打下了扎实的基础,而且培养了学生合作能力和群体意识.对于优秀的团队甚至可以接校外的一些项目,从而使学生真正达到了“学以致用”.这为学生以后走向工作岗位或继续深造打下坚实的基础.
6 结束语
本文针对数据结构课程课堂教学、实验教学和课程设计中存在的问题,进行了分析研究,针对不同问题,探讨相应的改革对策.数据结构课程的教学也要贯彻以学生为本、全面、协调和可持续的科学发展观.不断地发现问题、解决问题,提高学生的理论和实践能力,使数据结构课程真正发挥计算机基础核心课的作用,为学生以后从事软件开发等奠定坚实的基础.
〔1〕张亦辉,李波.数据结构[M].北京:中国铁道出版社,2007.
〔2〕袁宇丽.《数据结构课程实验》的教学探讨[J].内江师范学院学报,2009,24(2):71-73.
〔3〕刘海林.《数据结构》课程的教学探讨[J].广东技术师范学报,2008(03):82-84.
〔4〕张小刚,李向阳.《数据结构》课程教学改革探讨与实践[J].塔里木大学学报,2008,20(2):93-95.
〔5〕杨慧.《数据结构》实验教学改革探讨[J].赤峰学院学报,2009,25(3):189-190.
〔6〕蒋秀英.《数据结构》与《程序设计》的融合教学模式研究[J].山东师范大学学报,2008,23(3):130-131.
〔7〕王德兴,胡学钢,张玉红,张晶.数据结构课程设计的改革与创新探讨 [J].合肥工业大学学报 (社会科学版),2008,22(5):94-97.
TP312
A
1673-260X(2010)04-0029-02