时间:2024-04-25
摘要:数据结构课程的特点是覆盖面广、内容繁多、学习难度大,为了提高教学质量,本文从课堂教学方法、上机教学方法、考核方式3个方面,提出对课程教学的改革与探索。
关键词:数据结构 理论教学方法 实践教学
1 数据结构教学中存在的问题
数据结构课程具有内容多且抽象、逻辑性强、概念多、技巧性强等特点[1],这导致学生如果在一开始学习时就遇到困难,则会对它产生抗拒心理。例如在最初接触单链表时,学生很容易被建表的方法所困扰,因为它先有头插、尾插两种建立方法,而后又改进算法进入了“头结点”。虽然方便了运算,但同时也增加了学生学习的难度,学习兴趣也因此下降。并且,现在大部分的教学都是以教师教课为主,课堂上与学生的互动很少使得学习很被动。学生也越来越找不到方向,从而陷入一种恶性循环。
2 课堂教学方法
2.1 引入问题式教学
学生跟种子一样,有自己的生命力,教师只需要提供适当的条件就能让他们自己成长。因此,如果在课上,教师有意识地创设问题情境,根据学生的整体情况,选择难易相当与内容联系紧密的案例且只涉及学生学过或即将要学的内容,能引导学生不断发现问题、提出问题、分析问题并最终解决问题。这样,不但能培养学生的创造性思维,同时也调动了学生的学习积极性。这就是引入问题式教学方法的核心与成果。图1简要说明其实施过程。
图1 引入问题式教学方法的过程
2.2 有意义的接受式学习方法[2]
奥苏伯尔有意义的接受式学习方法是指学生以主动性、积极性的思考为核心的一种理解性学习。其特点是学生身与心、认知与情感、逻辑思维与直觉等的和谐统一以及在学习过程中的投入。
为了实现有意义的接受式学习方法,一方面教师应特别注重选择与安排材料。如在准备栈、队列等教学内容时,应收集一些学生熟悉的实际生活中的现象和实例。在教学中深入浅出地把这些实例同书本中的理论知识结合起来,使学生对陌生概念有个清晰的理解。另一方面,教师可以利用自己的经验向学生讲清楚所学内容的意义。如二叉树、图在实际工程的应用。从而实现教与学的互动,达到提高教学效果的目的。
2.3 图示教学
数据结构中有大量的算法,如果只借助传统的“直线型”板书模式来让学生理解,尤其是对于重点、难点知识如果板书内容多过会使讲课效果不明显。因此,在授课中,设计图示化板书能够展现抽象的“思维”过程,使学生从整体上把握知识结构,在数据结构的课堂教学中有着不可替代的作用[4]。如采用图示教学法详细讲解堆排序的过程,帮助学生增强对该知识的理解与应用。
以图2中拥有8个结点的二叉树为例,演示堆排序算法的实现过程。首先把大根堆看成是无序区,将堆顶记录与堆区间的最后一个记录交换位置,选出无序区中排序码最大的记录放入有序区,将剩余的记录再调整成大根堆,即完成一趟排序。这样无序区逐渐缩小,有序区逐渐扩大。N个记录一共需要做N-1趟排序。以下是堆排序的全过程,图中给出了每一趟排序后,排序码的位置的变化情况以及对应完全二叉树的状态,“[ ]”括起来的区间表示有序区。具体过程如图2所示:
图2 堆排序过程的图示
3 上机教学
实践不仅要求学生能利用上机时间掌握每章所学习的重点算法,同时还要求在期末能完成相关的课程设计内容。
3.1 课程上机练习
上机实践能进一步帮助学生掌握数据组织与程序设计的技巧和提高学生在编程、程序调试与正确性验证等方面的技能。
递归是数据结构最为重要的算法和上机实践环节。首先我们在学习时要深入理解的简单递归算法,然后根据一定的规则,如递归调用改成显式的人栈和出栈操作,将递归算法改写成非递归的算法,以提高算法的运行效率。而在有的情况下,如为了提高算法的可读性与简洁性、为了进行递归算法的设计训练等,则需要我们将非递归的算法改写成递归算法。求N!的算法就是栈与递归的典型应用,因此教师在此实验内容下根据学生的不同掌握程度,提出不同的问题与要求,使每位学生在现有的基础上有一定的提高。
3.2 案例设计
在案例设计阶段,教师可组织学生以小组为单位设计一些小型的实用程序,这样能将书本知识全面综合地加以利用,加强了学生对实际问题抽象描述的理解能力,提高了学生的编程能力。
如在无向图的深度遍历算法中,每递归调用一次DFS 算法就使计数器加1,访问结束后,就统计出了无向图中连通分量的个数。又如,在广度优先遍历算法中,如果我们修改所使用队列的实现方式,结点入队时同时保存出发结点的信息,结点出队时,并不把该结点真正从队列中删除出去,而是仅仅修改队头指针,则我们就可以实现求指定两结点间的一条路径长度最短的路径。
4 考核方式
课程考核是激励学生学习的重要手段之一,也是教学效果的评价方法。为了提高学生的综合能力,期末考核采用“1+1+1+2+5”方式。平时作业占10%,督促学生及时复习巩固所学知识;平时出勤、课堂表现占10%,帮助提高师生交流与课堂教学氛围;实验上机占10%,边学边操作,提高学生的编程能力;案例设计占20%,评价学生动手解决实际问题的能力;期末笔试50%,全面了解学生对该课程的掌握情况。
5 总结
“数据结构”课程教学方法的探讨从提出到成熟还有一段过程,在本文中还没有完全体现。只有通过不断实践,从实践中不断发现与解决问题,才能不断完善它的教学方法。同时,希望在教学中,教师能以学生为中心,不断改进教学方法,在教学过程中充分让学生发挥主观能动性,促进学生的全面发展。
参考文献:
[1]严蔚敏,吴伟民.数据结构(c语言版)[M].北京:清华大学出版社,2012.
[2]高天虹,魏智芳.奥苏伯尔“有意义言语学习理论”对课堂教学改革的启示[J].2007年7月.
[3]叶双,吴清江,等.提高“数据结构”课程教学效果的方法初探[J].计算机教育,2009(21):90-92.
[4]沙宗尧,边馥苓.图示教学法在数据结构与算法教学中的应用[J].计算机教育,2009(18):80-82.
作者简介:
易孟婕(1994-),女,湖南南县人,学生,本科在读,主要研究方向:网络工程;翟悦(1984-),女,辽宁抚顺人,讲师,硕士,主要研究方向:数据挖掘。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!