首页 > 范文大全 > 正文

以问题为中心的案例教学法在数据结构与算法课程中的应用

开篇:润墨网以专业的文秘视角,为您筛选了一篇以问题为中心的案例教学法在数据结构与算法课程中的应用范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:案例教学法是目前计算机学科课程教育中普遍推崇和倡导的教学方法。文章介绍以问题为中心的案例教学法数据结构算法课程中的应用,即通过创设一个基于网络的学习环境,激发学生的学习兴趣和学习自主性,培养学生综合运用知识解决实际问题的能力。学生在掌握课程知识的同时,获得探究式学习的方法,加强团队协作能力,从而达到提高教学效果及教学水平的目的。

关键词:案例教学;数据结构;教学法

0.引言

当前高校教学改革的主要目标之一,是改变传统的以教师为中心的教学模式,构建一种既能发挥教师的指导作用,又能充分体现学生学习主体作用和个性化学习的新型教学模式。为实现这个目标,教师应积极利用计算机进行教学活动,并在此基础上逐步实现教学模式、教学内容和教学方法的改革。同时,多媒体和网络技术为构建新型的教学模式及实现网络教学中“以问题为中心”的教学模式提供了基础。另外,以问题为中心的案例教学是目前比较流行的一种教学方法,即学生利用所学的知识和技能解决一系列实际问题,从而达到建构经验的目的。案例教学强调把学习设置到有意义的问题情境中,通过学习者的相互协作来解决真正的问题,从而有效地学习隐含在问题背后的科学知识,增强解决问题的技能和自主学习的能力。

1.数据结构与算法课程知识体系

数据结构与算法是程序设计、操作系统、数据库原理与设计等课程的重要基础,在计算机科学与技术专业课程体系中占据非常重要的地位,是一门理论与实践并重的课程。该课程内容丰富、概念多、高度抽象、综合性和实践性强,这些因素给教学带来了较大难度,教学效果是否良好将直接影响学生数据抽象能力和程序设计能力的培养。以问题为中心的教学法,综合了自主学习、发现学习、协作学习、综合学习等多种学习方式的优势,对激发学生学习兴趣、学习自主性和创造性,培养学生的协作精神与自学能力均有较好的效果。为了帮助学生在掌握课程知识的同时获得探究式学习和团队协作能力,提高教学效果,我们在此课程中开展了以问题为中心的案例教学研究。

该课程的教学体系以数据元素之间的逻辑关系为主线,以线性表、树、图等为分支,以不同逻辑关系的逻辑结构特点、存储结构以及操作算法和算法实现作为基本知识点,每种逻辑结构都有其实际应用,知识体系结构层次清晰,示例丰富,适合开展以问题为中心的案例教学。因此,我们从中选取了“栈”“队列”“二叉树”及“图”的应用等内容作为教学单元开展教学研究。

2.以问题为中心的案例教学实施过程

我们在教学过程中选取适合以问题为中心的案例教学单元进行方案设计,针对数据结构与算法课程创设教学环境,借助网络教学平台实施案例教学,最后进行教学效果的评测与总结。在具体的工作过程中,我们按照探究未知知识领域的途径,通过提出问题、分析问题、创造性地解决问题、知识迁移等步骤对该教学方式予以实施,如图1所示。该课题已于2011年9月至2011年12月、2012年9月至2012年12月分别开展了2个学期、4个班的教学实践。

下面以“哈夫曼算法的应用”为例阐述以问题为中心的案例教学过程。

(1)明确学习目标与要求。本单元的教学要求为掌握树的带权外部路径长度的计算,掌握哈夫曼算法的主要思想及哈夫曼树的构造,掌握哈夫曼编码。

(2)创设情境,提出问题。问题情境指学生在问题教学中所面临的一种“有目的但不知如何达到”的心理困境。问题情境就是一种心理状态,即学生接触到的学习内容与原有认知水平不和谐、不平衡时,学生急需解决疑难问题的心理状态。例如,教师提出在电文发送系统中,如何设计电文编码,使发送的码长最短?发送邮件附件的时候,经常进行文件压缩,如何实现文件压缩?

(3)分析问题。学生明确要探究的问题之后,在网络教学平台上学习“哈夫曼算法”相关知识,如二叉树、树的带权外部路径长度、哈夫曼算法思想、哈夫曼编码等,拟订出问题的解决方案。

(4)解决问题。学生通过自主学习,明确哈夫曼树是带权路径长度最短的二叉树,并作哈夫曼编码,得到的码长最短。因此,在电文发送系统中,利用哈夫曼算法设计电文编码,使发送的码长最短。同理,也可以使用哈夫曼算法对文件进行压缩。

(5)知识的迁移。哈夫曼编码在数据编码中的应用是哈夫曼算法应用于各项技术中的典型实例。此外,由于哈夫曼树具有带权路径长度最小的特性,它还能应用于其他具体的事物决策中。

①图像压缩问题。大数据量的图像信息会给存储器的存储容量、通信干线信道的带宽、计算机的处理速度带来极大的压力。单纯靠增加存储器容量、提高信道带宽和计算机的处理速度等方法来解决这个问题是不现实的。此时需要考虑压缩,压缩的关键在于编码。对于数据进行编码时出现频率较高的数据,编码器输出较短的码字,而对于出现频率较低的数据,则用较长的码字表示,从而实现压缩。通过对哈夫曼树的原理及应用的研究,我们可以在遇到某些具体应用问题时获得启示和解决思路。

②二叉查找树。例如,成绩表有10000个分数,学生成绩在5个等级的分布如表1所示,要求设计查找树。

根据分数比例(当做权值)设计出哈夫曼树,如图2所示,即为二叉查找树,靠近根的结点表示大比例分数段。通过计算,在查找成绩时时间性能上有很大的提高,类似的问题可以通过二叉树对此进行更深入的研究。

(6)教学实验。教学实验是对学生综合素质进行训练的一种基本方法,是课堂教学的一种延伸,是必不可少的一个教学环节。编程中的问题往往比平时的习题复杂得多,也更接近实际。编程能使学生所学的知识“活”起来,达到深化理解和灵活掌握教学内容的目的。同时,编程也是对学生软件设计综合能力的训练。本单元教学任务完成后,学生以小组为单位进行综合实验。

①实验目的:了解哈夫曼树的应用,掌握哈夫曼树的构造方法及哈夫曼编码的应用。

②实验步骤:

a)输入一串字符,模拟电文发送系统中的发送字符,统计其中所有的不同字符及其个数,得出每个不同字符在文中出现的频率。

b)根据每个字符频率建立哈夫曼树,输出字符的编码,模拟电文系统中的编码系统。

c)输入一个0.1字串,得出其译码,模拟电文系统中的译码系统。

③实验要求:按组完成实验,填写实验报告,汇报程序运行过程、结果等。

(7)对本次案例教学结果进行检验。教师完成一个阶段的教学任务后,应重点检查学生对知识点的掌握情况。另外,教师还应该定期检查每个小组的团队学习情况并打分,对协作效率较高的小组给予肯定和表扬。

教师在收集、整理分析教学结果的基础上,要对本单元专题的教学试验进行反思,肯定成功的经验并推广;对存在的问题认真分析原因,并提出改进措施和解决办法;依据反思结果,及时调整和修改后续学习单元的教学方案和教学策略,以期在下次教学试验中取得更好的教学效果。

3.教学效果测评

在课题的实践中,我们对案例教学效果的评价包含两个方面:对学生而言,主要从知识点的掌握程度、理解程度和是否能独立地应用数据结构与算法解决实际问题,以及能否动手实现具体的应用等指标来进行评价;对教师而言,主要从教学效果方面进行评价,综合评价各个因素。因此,提高对案例教学重要性的认识,客观准确地评估案例教学的效果,培养学生综合能力,促进案例教学质量的提高,具有十分重要的意义。

在数据结构与算法课程中开展以问题为中心的案例教学方式深受学生欢迎,也获得教师们的好评。

1)学生成绩评价。

(1)总结性评价——期末考试情况。图3是2008-2010级计算机科学与技术专业学生数据结构与算法期末考试成绩的比较图。

从图3可以看出,采用以问题为中心案例教学法的2010级学生总体考试成绩比2008级和2009级要好,及格率及平均分普遍都高。

(2)形成性评价——实验作业及分组汇报情况。图4是2008-2011级计算机科学与技术专业学生数据结构与算法课程实验作业及汇报情况比较图。

从图4可以看出,采用以问题为中心的案例教学的2010和2011级学生平时学习表现总体比2008和2009级要好,优秀率及良好率占的比例都较高。

2)教师表现评价。

经过课题研究组成员的多次探讨,教师们编写了许多有代表性的教学案例,并在课堂上加以实施。学生在网上评教时给相关任课教师的评价达到优秀等级,课题研究组教师授课表现也得到上级领导及教学专家的好评。例如,2010年,案例教学“二叉树”获得学院讲课比赛第一名;2011年,以问题为中心的案例教学“图的应用”获得学院讲课比赛第二名;2012年,课题组一位老师以问题为中心的案例教学“Kinect的应用”在学校讲课比赛中获得全校第二名。

4.结语

教学实践表明,以问题为中心的案例教学在数据结构与算法课程教学中的实施,能够充分调动学生学习的积极性,使学生从被动接受式学习转变为主动探究式学习,同时提高了学生的实际动手能力和创新能力。以问题为中心的案例教学不仅使数据结构与算法课程的教学研究有了突破性的进展,其中的成功经验还能用于其他计算机课程的教学,特别是程序设计类课程的教学实践。另外,通过该课题的研究,我们形成了一支结构合理、教学水平较高的课程教学团队。