《数据结构》实验课教学初探

2022-09-11

《数据结构》是介于数学、计算机硬件和计算机软件三者之间的一门核心课程, 其实践性很强, 在整个计算机学科建设中处于承上启下的核心地位。开好《数据结构》实验, 能使学生对各种基本数据结构及其操作、设计算法的步骤和算法分析方法都有一个深刻的了解, 并且能够根据实际问题的要求来选择数据结构, 从而更好地培养学生的数据抽象能力。下面就笔者在该课程实验教学中的体会加以探讨, 供大家参考。

1 合理选题, 立足基本, 以培养学生动手操作能力为主

在学习《数据结构》课程之前, 学生已经学完了这门课程的先导课《C语言程序设计》, 但是由于这两门课程的教学安排相隔时间较长, 大部分学生对《C语言程序设计》中所学的内容有所淡忘, 因此学生在学习《数据结构》这门课程的过程中应做到“温故而知新”。在前期的实验课中可以以复习《C语言程序设计》为主, 尤其是指针、结构体和函数的递归调用这几部分内容, 为进一步学习《数据结构》打下坚实的基础。

通过观察, 笔者发现有的学生即使掌握了《数据结构》的理论知识, 但是在上机实践完成程序设计的时候仍不知如何下手。考虑到学生的能力和水平不可能完全一致, 因此实验课的题目安排要做到立足基本、分开层次、注意难易搭配。例如在“树和二叉树”这一章实验中, 可以设置以下题目: (1) 以二叉链表作为二叉树的存储结构, 递归实现二叉树的先序、中序或者后序遍历; (2) 以二叉链表作为二叉树的存储结构, 非递归实现二叉树的先序、中序或者后序遍历; (3) 输入n个叶子结点的权值构造一棵哈夫曼树, 根据得到的哈夫曼树求哈夫曼编码。通过这种分层教学法, 学生可以根据自己掌握理论知识的实际情况, 选择做较难的还是稍易的题目, 使每一位学生都能够上机编程, 提高自己的动手操作能力。

2 理论联系实际, 提高学生的学习兴趣

由于《数据结构》课程的书本理论性过强, 内容不易被学生接受, 久而久之, 学生就会产生厌学情绪。“学习的最好动机, 乃是对所学教材本身的兴趣”, 因此, 实验课教学应注意趣味性, 在设置题目时应该做到结合工作和生活中的实际应用示例。例如在“栈和队列”这一章, 我们可以设置一个“舞伴配对”问题。在学校的“庆元旦”舞会上, 男同学和女同学进入舞厅时, 各自排成一队。跳舞开始时, 依次从男队和女队的队头上各出一人配成舞伴。若两队初始人数不同, 则较长的那一队中未配对者等待下一支舞曲。要求编写程序实现上述舞伴配对问题。

解决这个问题, 首先参加舞会的同学要根据性别来决定是进入男队还是女队, 即数据元素的入队列操作, 然后依次将两队当前的队头元素出队配成舞伴直至某队列变空, 即数据元素的出队列操作, 但是在执行该操作之前要判断队列是否为空。若某队仍有等待配对者, 输出此队列中等待者的人数及排在队头的等待者的名字, 即求队列长度和读队头元素的操作。

通过一些类似于上述题目的训练, 既培养了学生的编程能力, 又使他们了解了《数据结构》这门课程在实际生活中的作用;既提高了学生的学习兴趣, 又提高了他们分析问题和解决实际问题的能力。

3 科学设置课程设计, 培养学生的团队协作精神

课程设计是《数据结构》实验教学中必不可少的一个重要环节, 它是学生对所学课程知识的综合运用, 可以加深学生对该课程所学内容的进一步理解与巩固。学生虽然可以通过与课堂教学同步的教学实验完成相关章节内容的练习, 但由于这些题目彼此独立, 实现的步骤相对简单, 因此不能够很好地培养学生全面、灵活的设计思想和较高的创新能力。

在《数据结构》后期的实验教学中, 笔者设置了一些具有典型性、趣味性、综合性和专业性的题目, 例如航班信息的查询与检索、图书管理信息系统的设计与实现等。对于这些题目, 要至少提前一个月给学生布置下去, 给他们充分的时间去思考、查阅资料和编写程序, 以免时间紧张, 导致学生上机时为了应付检查而出现“抄袭”现象。在完成课程设计的过程中, 学生可以自由组合, 共同实现它们, 以培养学生的动手操作能力和团队协作精神。此外, 老师要鼓励学生互相沟通、共同探讨、共同参与, 发挥各自的优势, 达到共同提高的目的。这样不仅给学生提供了互相学习的机会, 激发了学生的学习热情, 而且培养了他们的团队协作精神, 为以后的实际工作打下良好的基础。

4 改革考试方式, 加强平时训练考核

《数据结构》是一门实践性很强的课程, 该课程的教学要求之一就是训练学生进行复杂程序设计的技能和培养良好程序设计的习惯, 因此在《数据结构》的教学过程中, 上机实验也就显得尤为重要了。近年来, 笔者从有利于学生掌握知识, 巩固所学内容, 提高能力和素质的目的出发, 采取一系列的措施, 并进行了一些考试改革的尝试, 强调实验考核的重要性, 具体做法是:每次实验课结束后要求学生填写实验报告, 包括实验目的、实验内容、详细设计、实验结果以及对此次实验课的体会。此外, 对考试分数的分配也进行了重新调整, 上机实验和平时作业占总成绩的25%, 课程设计占总成绩的25%, 期末考试占总成绩的50%。通过加大上机实验和课程设计的分值, 有效地调动了学生的学习积极性, 达到了督促学生勤动手、多思考的目的。

5 结语

学习《数据结构》这门课程不能满足于“听懂了”, 满足于能理解课本上的理论知识, 而应当学会具体问题具体分析, 熟练地把理论应用于实践, 因此必须十分重视该课程的实验教学环节。本文对如何开好《数据结构》实验课进行了初步探讨, 当然, 要真正上好《数据结构》的实验课, 还必须将各种有效措施有机地结合起来, 并不断开阔新思路、探索新方法、总结新经验。

摘要:本文对如何开好《数据结构》实验课进行了初步探讨, 并结合自己的教学实践提出了合理化建议, 旨在培养学生的实际动手能力, 加深学生对课程知识的理解和掌握。

关键词:数据结构,实验课教学,程序设计

参考文献

[1] 严蔚敏, 吴伟民.数据结构 (C语言版) [M].北京:清华大学出版社, 1997.

[2] 王成端, 徐翠霞.数据结构上机实验与习题解析[M].北京:中国电力出版社, 2006.

[3] 梁爽.谈数据结构课程的实践教学[J].辽宁高职学报, 2007 (7) :72-73.

[4] 张浴华.数据结构课程教学分析与研究[J].新疆石油教育学院学报, 2005 (5) :99.

上一篇:支原体肺炎合并心肌损害39例临床分析下一篇:浅谈石油运输中的成本管理问题