女院数据结构课程的教学探索与体会(1)(2)
2013-08-26 01:00
导读:●与“程序设计基础与C语言”的授课教师做好教学的沟通工作,做好课程之间的衔接,将数据结构课程中经常用到的知识点重点讲授并加强上机实践。 ●
●与“程序设计基础与C语言”的授课教师做好教学的沟通工作,做好课程之间的衔接,将数据结构课程中经常用到的知识点重点讲授并加强上机实践。
●在讲数据结构算法之前复习剖析C语言中的指针、结构体和函数等知识点。具体形式可以是在课堂上以程序实例的形式对这些知识点进行复习,尤其指出学生难理解、容易混淆和犯错误的地方;布置涉及这些知识点的课外编程作业,通过作业批改发现学生存在的问题然后集体重点讲解;在教学中强调指针、结构体和函数等在数据结构课程中的重要性,让学生课外重点复习等等。
●灵活使用教材[1]。基于C语言的数据结构教材中大部分使用类C语言描述算法,而学生在上学期刚学完C语言程序设计而且实际编程经验少,难以应用自如,因此,类C语言与C语言程序之间的转换成为不少学生听课和上机实践的一道障碍,甚至在学习开始就打击了不少学生的学习信心和积极性。在教学中我注意采取措施来缩短学生实际情况和教材之间的差距:比如,前几周的授课和上机实验中,可以给出算法的完整源程序并详细讲解,这样为学生实现类C语言算法描述和C语言源程序的转换提供范例,降低学生进入数据结构课程的难度,避免学生因此产生畏难情绪而失去兴趣和信心;对于基本操作比较多的数据结构类型,在实践教学中可以给出部分源代码,让学生编写主要的操作函数,然后直接嵌入源代码中进行调试,用来降低难度并提高上机实验的效率;提醒学生充分利用教材随带的光盘资料,如程序源码和算法演示软件等。
(2) 考虑到女性思维的特点,可以充分利用多媒体技术,采取直观形象的教学方式。数据结构课程抽象、逻辑性强,而女性思维长于形象思维而弱于抽象思维,为此我尽量采取直观形象的教学。例如利用多媒体课件动态演示在单链表中插入、删除结点的过程等,演示形象生动加深了学生对算法的理解;尽量对照现实生活中的例子来引入知识点,例如通过在食堂就餐时取、放餐盘的例子引入对栈逻辑特点的讲解,用取款排队的例子引入对队列逻辑特点的讲解,激发学生对“计算机程序如何实现”的好奇心,调动学生的学习积极性。
(科教范文网http://fw.NSEAC.com编辑发布) (3) 考虑到不同学生的不同情况,采取分层次教学方式。分层次教学方式的目标是让每个学生都能在学习过程中获得尽量大的成就感,最大程度地调动学生学习的积极性。
2.2 优化教学内容与方式
(1) 教师要分析清楚数据结构的知识体系结构,把课程的整体框架提供给学生。课程内容主要包括线性表、树、图三大类数据结构和查找、排序两大类算法,其中栈和队列是线性表的两个特例,线性表是树的特例,树是图的特例,查找和排序是实施在三大类数据结构上的操作,由线性到非线性,由简单到复杂,这样有机联系地组成数据结构的整体框架。
(2) 贯穿三点一线原则。讲授过程中贯穿一条主线即从线性到非线性由简单到复杂的三大类数据结构,而每类数据结构包括逻辑结构、存储结构和基本操作的实现。
(3) 把握重点。把握数据结构的整体框架,贯穿三点一线原则讲授内容,同时要把握好重点,有选择有层次地教学。例如,线性表是最常用且最简单的一种数据结构,栈和队列是操作受限的线性表,树和图往往要做线性化处理,因此要把线性表作为重中之重的内容进行透彻的剖析。对于线性表的两种存储结构顺序表和单链表,把单链表作为重点和难点来讲授和上机实验,把单链表中的插入、删除、查找等基本操作作为重点。再如,二叉树的遍历操作作为重点来讲授和上机实验,而哈夫曼算法作为可选的上机实验内容。查找和排序算法中选择折半查找、二叉排序树查找、哈希查找、直接插入排序、冒泡排序、快速排序作为教学和实验的重点内容。
2.3 理论联系实际,激发学习兴趣
兴趣是最好的老师,教学过程中要注意采取多种手段激发学生的学习兴趣。
首先,良好的开端是成功的一半,为了不让学生从一开始就产生畏难情绪,上好第一堂课非常关键。第一堂课不能直接进入概念、术语和算法的学习,可以先介绍与数据结构相关的现实生活中的例子来激发学生的好奇心和学习兴趣,例如图书馆的书目检索系统、人机对弈问题等等。另外可结合
考研、
就业以及后续课程的学习等介绍数据结构课程的地位和作用。接着引入学生所熟悉的农夫过河问题(农夫、狼、羊、白菜),先让学生思考并给出答案,然后介绍用计算机程序解决该问题的思路和步骤,从而让学生对于数据结构课程学什么以及怎么用等有个概括的印象。