如何利用案例驱动数据结构教学作了一定的研究?

佚名 2023-11-02 10:04

如何利用案例驱动数据结构教学作了一定的研究?

摘要:数据结构是计算机专业的重要课程之一,传统的教学模式过于强调理论性,缺乏趣味性,学生理解困难,教学效果不好。针对这些现象,提出了对数据结构课程采用案例法教学的方式,以提高数据结构课程的教学效果。

关键词:数据结构;案例法;教学改革;课程改革

0、引言

数据结构作为计算机、信息等专业的核心课程,在教学体系中起着举足轻重的作用。现阶段国内数据结构课程受主流教材的影响,多以传授知识、利用伪代码描述数据结构及其算法为主,辅以一定的编程实践作为主要的教学模式。传统的教学模式中强调理论教学,实践环节不够,造成学生动手能力差,有的学生会考试能做题,却看不懂实现算法的程序,更难以自己动手编程实现算法android移动应用开发案例教程中的梅花易数如何利用案例驱动数据结构教学作了一定的研究?,“数据结构”在计算机软件开发领域的真正价值无法得到体现。在这样的教学模式下,对于当前大众化教育背景下应用型高等工科院校的学生来说,想要学好数据结构课程,能够根据实际问题动手设计数据结构中的算法并能付诸实践成为―个难题。

案例教学法以其先进的教学理念、鲜活的教学方法被推广到许多课程中,成为教学中一种不可替代的重要方法。在数据结构课程中引入案例已经引起了许多高校和教师们的重视,笔者通过多年的教学经验也对如何利用案例驱动数据结构教学作了一定的研究。

1、案例的设计与选择

案例选编是数据结构教学改革中的重要环节,选择或设计好适合学生的、难易得当的、繁简相宜的,又能包含学生已经学过的和即将学到的知识的案例,并以此作为驱动课程的教学和学习,可以提高学生的学习兴趣和学习效率,达到教学目的。

笔者经过多年教学实践,在教学过程中摸索了一系列案例,主要包括:以“一元多项式的四则运算”作为线性表结构特别是链表结构教学的驱动案例、以“迷宫路径搜索”作为栈结构教学模块的驱动案例、以“井字棋游戏”和“霍夫曼树及霍夫曼编码”作为树结构教学模块的驱动案例、以“校园导游咨询”作为图结构模块的驱动案例等。

2、在数据结构课程教学中实施案例法教学

数据结构的教学要与其他课程如C++、面向对象与可视化程序设计等课程相结合,并要改变传统的教师课堂上讲解理论为主的教学模式,结合课堂讨论、汇报答辩、撰写学习报告等多种方式开展教学,而且考试形式也应改变“一考定输赢”的传统方式,这样才能从根本上体现案例法教学的优势和特点。下面以较为简单的链表结构为例,阐述如何用“一元多项式四则运算”案例驱动数据结构课程的教学。

2.1链表结构的教学中实施案例法教学

一元多项式四则运算是清华大学严蔚敏教授编写的经典教材中有关链表应用的一个章节,在该章节中数据结构及算法由伪代码构成,学生很难真正理解如何利用链表来实现一元多项式的四则运算。笔者在教学过程中已经积累并形成了可视化的多项式四则运算程序,如图1所示android移动应用开发案例教程中的梅花易数,可以利用该应用程序进行课堂、课后的教学与学习。

2.2案例法在结点的教学中的应用

“结点”作为链表乃至树和图等各类数据结构来说是一个非常重要的概念,对于初学数据结构的学生来说,大多数学生只掌握了基本数据类型的运算,“结点”概念过于抽象,往往使学生摸不着头脑,从而影响整个数据结构课程的教学。

通过教师讲解一元多项式中的单项式如何在计算机中表示,即由系数(浮点型)、指数(整型)两种基本数据类型构成一个复杂数据类型,一个单项式就可以认为是一个多项式的一个结点,利用这样的方式可以让学生理解“链表中结点”这一比较抽象的概念,进一步可引导学生理解:若要描述和实现这样一个非简单类型的“结点”,则需要用到C++中的类或者结构体。

2.3案例法在链表基本操作教学中的应用

多个单项式“串成一串”便成为多项式,可以用“数组”来串联这些单项式,也可以用“链条”来串联这些单项式,教师可以与学生一起讨论顺序表和链表的各自的特点。这个案例主要体现在链表的应用方面,教师可以引导学生分组讨论如何实现串联,即链表的初始化操作、结点插入链表以及从链表中删除某个结点等一系列的链表操作。

多项式的四则运算特别是加、减法本质上是链表的合并过程,而链表的合并过程也就是结点的插入操作。因此学生在理解链表的基本操作的基础上才可以进一步学习其具体的应用。

2.4案例法在链表实践教学中的应用

只有理论学习而没有实践,这样的学习成效是不完整的。不同层次的学生可以利用案例进行不同程度的学习。对于理论学习有困难的学生,他们可以通过上述图形化界面的应用程序“亲眼看到”结点在链表中的变化,该程序是可操作的、互动式的,通过具体地输入数据,可以帮助学生理解:―个升序的一元多项式中插入一个任意单项式仍然要保持其升序状态,需要在链表适当的位置插入结点或者修改结点或者删除结点等算法。对于能够理解算法但是无法读懂源程序的学生来说,可以通过学习源代码、调试源代码等,达到从理论到实践的过渡;对于能够理解源代码的学生来说,可以让其尝试编写、添加一些具体的函数,以增强动手能力。上述一元多项式四则运算应用程序即为笔者的学生所开发完成的。

对于这样一个案例驱动的教学方式,仅有案例是不够的,需要对传统的教学模式和考试模式、课程组织方式等全方位立体化的改革。

2.5案例法在考试方式改革中的应用

我们借鉴国外形式、以小组为单位进行期末大作业、撰写课程报告等多种方式相结合的考核。期末作业的内容应与教学过程中的案例相结合,让学生们模仿完成类似的、难易得当的应用程序的开发,例如可以选择让学生完成四皇后问题(树的应用)、火车车厢重排问题(栈的应用)等。为避免学生从网上下载源代码等非诚信的方式来完成期末作业,还要求他们撰写课程报告并进行汇报答辩。

由于学生个体的差异性如何利用案例驱动数据结构教学作了一定的研究?,在组成小组时应保证小组成员的多样化,即有的小组成员擅长整体分析,有的擅长程序辨析,有的擅长总结报告等等,学生们通过分工合作来完成期末作业,这样可以增强学生们的团队合作精神,也可以发挥各自的优点和特长。

利用这种开放式的考试方式,可以改变以往学生只有在期末前夕用功学习而平时玩乐就可以完成学业的现象,改变学生重理论轻实践的思想,增强学习主动性,提高动手能力和表达能力等综合素养。

3、结束语

案例教学能使理论与实践更好地结合起来,通过对一个案例的分析、讨论和实践,可以改变以往只是掌握一般性理论而不在实际工作中应用的状况。以案例驱动整个数据课程的教学模式、考试模式等立体化的教学改革,对于培养学生具备扎实的理论基础、实践操作能力、综合表达能力等综合素养,有着十分重要的意义。

参考文献:

[1]殷人昆,邓伎辉,清华大学数据结构精品课程建设[J],计算机教育,2006,5:20-22

[2]严蔚敏,吴伟民编著数据结构(C语言版)[M]清华大学出版社,1997

[3]李克暗《数据结构》案例教学初探[J]android移动应用开发案例教程中的梅花易数,长江大学学报(自科版),2004,12:135-136

[4]徐勇,朱张斌,胡艨,《数据结构》辅助教学软件设计与实现[J],长春师范学院学报(自科版),20lO,2:53-56

[5]陈晓霞,图形化用户界面的一元多项或运算,计算机时代,2008,11:70-71

[6]宗瑜,金萍,案例教学法语数据结构教学改革[J],皖西学院学报,2009,4:30-32

下一篇: 一云多芯,提供国产化安全可控算力服务
上一篇: 银行业数据分析体系搭建的目标和原则
相关文章
返回顶部小火箭