数据结构实验教学的方法的探讨.docVIP

  • 2
  • 0
  • 约2.98千字
  • 约 8页
  • 2018-10-17 发布于福建
  • 举报
数据结构实验教学的方法的探讨

数据结构实验教学的方法的探讨   摘要:《数据结构》是计算机专业的专业基础课程,具有很强的实践性。本文结合笔者在课程教学的一些体会,从实验教学设计、实验教学手段等方面对《数据结构》实践教学方法提出自己的一些看法和建议。   关键词:数据结构 实验教学      0 引言      《数据结构》是计算机专业课程体系的核心课程之一。课程主要讲述各种数据的逻辑结构、物理结构及基本操作的实现算法以及数据查找、排序算法,并对各种算法进行性能分析和比较。   根据调查发现,目前大多数院校《数据结构》课程教学现状不容乐观。学生普遍反映课程学习比较困难,教师也感觉教学效果不理想。实验教学更是因为程序设计语言基础不扎实、课程内容太抽象等原因而较难开展,有些学校因此而缩短学时甚至不开设实验。一些专家和教师就课程实验教学改革已经提出了一些具体的教学方法,如案例驱动、课题答辩等。这些方法都具有比较重要的借鉴价值,但某些文章过于片面的强调某一种教学方法。笔者认为根据学生的实际情况完善教学设计、加强教学管理,通过行之有效的教学手段使学生学有所获才是根本。下面结合自己的实际教学工作,谈谈对数据结构实验教学方法的认识。我校《数据结构课程理论学时48,实践学时16,教材选用严蔚敏的《数据结构(C语言版)》)。      1 讲好理论第一课.明确课程性质      仅从课程名称来看,数据结构》就很容易被误解为实践性不强的理论课。讲好第一堂理论课非常重要,应让学生明确课程性质并理解实践学习的重要性。   结合程序设计语言、操作系统等课程内容,笔者设计了一些学生比较熟悉并容易理解的应用实例和学生一起探讨。如:int a[10]和a[i]-5的确切含义;文件簇的链式形态;国际象棋大师与超级计算机的对决:图的着色问题等。在讲解图的着色问题时引导学生思考图的存储中需要关心什么,怎么存以及大致的程序逻辑等。通过对实例的分析,引入课程主要内容,学生也可明确课程的性质和专业地位并思考课程学习目标。      2 制定实验教学计划.设计实验内容      程序设计语言是数据结构的前驱课程之一,多数院校都是以c语言程序设计作为学生程序逻辑训练的课程。数据结构教材中采用类C语言来描述算法,对指针、结构体等内容并未作详细的介绍。对于刚刚学完C语言的学生来说,指针等内容本来就比较模糊,要将类C算法转换为程序实现就更加困难。   在制定实验教学计划时,可以采用由易到难、逐步加深的方式来安排实验内容。结合实验学时数和教学大纲要求,笔者将实验内容作了如下设计和安排:   2.1 第一次上机任务只要求学生运用以前学过的C语言知识来编写一个程序:给定一个整数序列,要求①用冒泡或选择算法进行排序:②输入一个整数x,在此有序序列中进行查找,如成功,则返回其位置;③如查找不成功,将×插入到序列中并使序列仍然有序。此题目运用到数组的定义、排序、查找、数组元素插入算法等相关内容。通过此实验,不仅能了解学生程序语言的熟悉程度,也能了解学生对排序和查找等基础算法的掌握情况,为后面教学内容设计作好铺垫。   2.2 结合教学进度要求学生实现常见数据结构的基本操作,并能作一些验证性的实验。如用数字菜单的形式实现单向链表的基本操作,并完成两个有序链表合并算法的验证。实验要求学生能实现大多数基本操作算法,完成头文件的设计,并能利用已实现的基本操作完成复杂算法的验证。通过此类实验,学生对数据结构的理解更直观,程序逻辑更清晰,C语言的掌握能力逐渐增强,同时也为面向对象课程的学习打下一定的基础。   2.3 设计性实验即课程设计安排。课程设计的目的在于培养学生分析和解决实际问题的能力,训练和提高学生规范的程序设计方法。教师可推出一些典型的并与后续课程有一定联系的题目供学生选择。每个题目规模不能太小,并能反映相关数据结构在程序设计中起的关键作用。如:①实现一个串的基本操作演示程序,提供命令行的输入(仿照COMMAND),并对命令行能进行简单的编译和出错处理,最后根据命令动词的功能来执行命令:②利用哈夫曼编码算法实现简单文本文件的压缩和解压。题目随着理论教学进度推出,有难有易,学生结合自己实际来选择并可提前完成。      3 规范实验过程.加强实验教学管理      为保障划的有效实施,必须规范实验过程并加强实验教学管理。   3.1 根据计划制定实验指导书。指导书中给出每个实验的目的、学时、内容等。其中设计性实验另给出一些基本的分析思路,每个实验都适当的添加一些选作题。学生通过阅读实验指导书能进一步明确每次实验的具体内容和要求。   3.2 要求学生做好上机前的准备。大二学生的编码速度普遍较慢,如果把实验课时间主要用于输入代码是非常不值得的,应将主要精力放在程序调试上面。

文档评论(0)

1亿VIP精品文档

相关文档