数据结构课程教学的探讨.docVIP

  • 8
  • 0
  • 约2.61千字
  • 约 6页
  • 2018-10-26 发布于福建
  • 举报
数据结构课程教学的探讨

数据结构课程教学的探讨   【摘 要】《数据结构》是计算机专业基础课。本文分析了课程存在的具体问题,包括不易理解、实验难做、编程水平差等方面,并给出了针对这些问题的解决方法。针对本课程特点,提出了改革教学方法、强化上机练习等教学改革措施。   【关键词】数据结构;教学改革;教学方法   0 引言   《数据结构》是计算机专业的一门重要核心课程。通过对各种数据组织形式和相关算法的讲解,使学生能够较好的掌握程序设计的基本思想。该课程在整个计算机专业课程体系中处于承上启下的核心地位,数据结构课程的教学效果,不仅影响着后续相关专业课程的教学效果,还对学生的考研和就业方面有着重要影响。另一方面来说,本课程在培养学生的算法思维、分析问题、解决问题能力方面,也有很重要的影响。   1 存在问题   1.1 课程较为抽象,理解不容易   《数据结构》课程一般在计算机或者电子类专业的二年级开设,其前导课程为《程序设计语言》。由于其前导课程存在课时压缩问题,对于刚刚学会简单编程的同学开设本课程,本身就存在算法理解不易、抽象数据难以实化、缺乏必要的编程经验等问题。再加上近年来课时压缩、内容不减反增,教师疲于赶进度,无法兼顾课堂练习和作业的讲解,所以教学质量难以提升。“老师讲得累,学生听不懂,上机干瞪眼。”   1.2 实验课时少,实验项目难   由于新技术的出现,计算机专业的课程数量一直在增加。为了平衡总课时,许多原有的课时被压缩。《数据结构》课程也不例外,实验课时减少的更为严重,从每周一次减少至两周一次。也就是说,理论课时讲授8个小时,才有2个小时对应的上机时间。而这两个小时中,学生还需要将写好的程序输入计算机,真正用来调试的时间不足一半。《数据结构》课程本身涉及的算法较多,即时经过合并串联,将一些算法放在同一文件中实现,其编程和调试的工作量也很大,每两周一次的上机时间捉襟见肘。   数据结构的实验项目单一,无法形成有效体系。其中,线性表,树、图各成体系,三者之间的联系较少。学生很少能够站在宏观的角度,对三种结构综合运用,仅能对其中的某些算法做出简单的验证程序。   1.3 学生编程基础差,难以实现算法   C语言程序设计是数据结构课程的基础。很多同学在学习了c语言之后,还徘徊在初始阶段,对于数组、指针、结构体、链表等内容还未完全掌握,练习的也少,而数据结构课程中大部分内容都是跟指针、结构体等内容相关的,所以很多同学反映看不懂程序。由于c语言基础较差,无法满足本课程的要求,无法理解算法思想,不能分析算法性能等。在具体上机实践时,又由于c语言实践较少,编写程序水平太差,很多程序存在语言或者流程错误,同时又缺乏调试经验,所以很多算法根本无法执行成功。不仅影响了同学们对程序的理解,也从心理上对他们是一个打击。   2 解决方法   2.1 加强前期课程引导   《数据结构》课程前期主要介绍顺序表的操作。教材上一般只给出抽象算法,需要学生自己动手实现程序。为了引导学生的兴趣,此处一般可由任课老师直接给出程序,并详细讲解如何由算法过渡到程序。例如,在《数据结构》课程中,顺序表的插入删除元素的过程是单独定义了结构体来实现了,在理解上有难度。可以先引导学生利用算法思想,使用c语言中较易理解的数组直接实现,然后逐步过渡到结构体实现。并对比两种实现方式,使学生明白为什么要使用结构体实现,并对结构体的定义和实现有初步的了解。在后续的教学中,也可在理解算法的基础上由学生自由发挥编写程序,不一定非要按照课本来写。让学生明白,只需理解算法的精髓,具体实现过程可以稍作修改。所谓:运用之妙,存乎一心。   2.2 引导学生合理利用上机时间   以前上机时布置任务,学生在机房才开始思考如何编程,等到程序编写好了,下课时间也到了,无法在上机实践过程中调试程序,也看不到运行结果。引导每次上机课程进行之前,布置好上机任务,并要求学生在上机之前在纸上写好程序,到机房后只需要输入并调试即可。可以较好的利用上机时间。有些学生会更进一步,不仅写好了程序,并且已经输入到计算机形成电子档文件,上机时只需要载入运行环境就可以直接调试,更加有效的利用了上机时间。提高了上机课的容量。另外,还要求学生将一些常用算法自行调试,作为电子档作业上交,有效提高了学生的动手能力。   对于学有余力的同学,另外布置一部分课外的兴趣题目,由学生选作并予以适当的评分作为奖励。这部分题目中可以将课本上的不同章节的内容混合使用,有助于学生深入理解课程体系中的各部分内容。   2.3 学期开始之前对学生的程序设计能力提出要求   一般教学任务的安排在前一学期结束时已经知道。这时应该及时联系学生对他们提出学习要求。要求学生在学习《数据结构》之前要掌握c语言程序设计中的数组、函数、指针、

文档评论(0)

1亿VIP精品文档

相关文档