信息类专业“数据结构”教学策略探究

时间:2022-02-21 10:28:53

信息类专业“数据结构”教学策略探究

摘要:“数据结构”是信息类专业的核心基础课,这门课程的掌握直接关系到学生后继课程的学习。本文针对信息类专业的特点,分析了“数据结构”课程的课堂教学与实验教学中存在的问题,并进一步研究探讨了教学方法改革和实践的手段。

关键词:数据结构;课堂教学;实验教学;教学策略

中图分类号:G642 文献标识码:A

1引言

近年来,随着计算机技术应用领域的不断拓展,各高校也都致力于计算机交叉学科专业的建设,信息管理、信息与计算科学以及地理信息系统等信息类新专业蓬勃发展。“数据结构”是计算机专业的一门核心基础课程,由于各信息类专业与计算机技术有着密不可分的关系,因此在这些专业的本科培养计划中,“数据结构”仍是十分重要的专业必修课。

非计算机信息类专业的培养目标、课时安排、学生基础等具有自身的特点,这也使“数据结构”教学面临着新的问题。针对问题,笔者在近几年信息类专业的“数据结构”实际教学中,认真研究了课堂策略并积极应用到了具体的实践中,取得了一定的效果。

2存在的问题

2.1课堂教学中的问题

(1) 学生有畏难心理

“数据结构”主要研究非数值计算的程序设计问题中计算机的操作对象及其之间的关系,课程要采用高级语言作为算法描述和实现的工具。非计算机专业学生在大学一年级开设了程序设计基础课程,近两年我院开设的是“C++”。对大部分学生而言这是第一次接触高级语言,加之这门公共基础课课时分配较少,学生总体的掌握程度较差。“C++”中的函数、指针、类与对象等内容更是学习中的薄弱环节,而这部分知识却是数据结构中要频繁用到的。因此,在以“C++”为工具的“数据结构”教学中,学生打开课本看到大量用“C++”描述的算法,觉得十分繁琐和复杂,必然会产生畏难情绪。

(2) 个别学生产生漠视情绪

“数据结构”课程理论性较强,在学习中部分学生会产生“纸上谈兵”的感觉,觉得学习这门课程没有什么实用性。同时,个别非计算机专业学生还会觉得该课程和本专业关系不大,所以更容易对课程的学习提不起兴趣,即产生漠视的情绪。

(3) 多媒体教学方式的利弊

“数据结构”教学采用多媒体方式,具有生动形象,图文并茂等优点,但多媒体课件放映过程中信息量大、速度快,而学生的反应能力和接受能力有限,这就很容易走入“填鸭式”教学的误区。

2.2实验教学中的问题

“数据结构”的实验教学是整个课程中十分重要的环节。目前数据结构实验教学中主要存在的问题有:

(1) 实验课时不足

目前“数据结构”的课内上机和课堂教学时间分配是1∶3,为16学时。学生在上机课中完成作业的时间很不充裕,课外上机较难保证,因此很难达到实验教学预期的效果和目的。

(2) 编程能力两极分化

在实验教学中学生的表现呈现出两极分化的现象。通过观察和了解,程序设计基础较好或对编程兴趣浓厚的同学,能够完成实验项目,写出合格的实验报告;而编程基础较差的同学,缺乏信心,上机时坐在计算机面前茫然无措,随着课程学习的深入,形成了恶性循环,进而影响到班级整体实验教学的顺利开展。

3改革措施

3.1重视前导课程相关内容的复习

在“数据结构”的第一讲课中,不应操之过急地直接进入课程第一章的讲解,而应对程序设计基础中的指针、函数及类与对象等内容进行归纳和复习。由于课程中基本的数据结构都是用类模板来描述,因此对于类和对象这一部分更是要作为重点。同时,要求学生课后必须完成程序设计基础课本中指定内容的复习巩固。第一次实验的作业要求学生编写两个简单的基于面向对象的小程序,目的在于复习如何定义类、如何用构造和析构等各种成员函数实现对数据成员的操作以及如何使用对象等。

实践证明,学生通过对前导课程的学与练,通过上机成功调试面向对象的程序后,在心理上首先放下了包袱,不再觉得类与对象等概念高不可攀。这也十分有助于教师对后期教学的深入展开。

3.2转变教学模式,重视激发学生兴趣

教学应该是一个“教”与“学”同步进行的过程,在这个过程中学生才是主体。授课中如果教师只是满足于自顾自地把内容交代清楚,而不注意学生的接受程度,不营造生动的课堂氛围,那么学生的学习行为只能是被动行为,更不可能成为课堂的主体,也就不可能达到理想的教学效果。

首先,在课堂教学中要精心组织课件。多媒体课件决不能是课本内容的堆积,应该将文本、图片、声音、动画等合理地组织起来。例如在讲解算法时,用动画来演示算法的动态执行过程,以增加课程的生动性,降低课程的难度。

其次,课堂讲授应符合学生的认知规律。范例教学模式在“数据结构”授课中就能发挥很大的优势:即用特例具体直观地阐明“个体”的具体特征,根据范例“个体”的知识推论特点,分析掌握整个“类别”事物的特征,使对“个体”的认识上升为对“类别”的认识,从而掌握其规律和范畴。数据结构中的主要算法和一些抽象的概念,可以尽量先从直观意义或具体实例解释着手,让学生更容易理解。因此在教学过程中宜多画图、多举例、多解释。这种从特殊到一般,从具体到抽象的方法,适用于数据结构中的很多内容。例如:讲解队列的概念时,可通过日常生活中的购物排队的过程来反映队列中插入、删除的原则,再结合计算机中的操作队列、打印队列的应用来说明;对二叉树的遍历算法可通过一个特定的二叉树的例子说明其遍历思想,再推广到一般的二叉树。

再次,在课堂上要鼓励学生大胆想象,勇于实践。例如在讲解起泡排序时,可以启发学生思考:如果在排序中奇数趟排序从前向后、偶数趟排序从后向前两两比较相邻记录,算法的效率会如何变化?先让学生进行几分钟的讨论,然后可以总结分析:从两端两两比较的起泡算法可称为双向起泡排序,它是对起泡排序的改进。然后,请学生编写双向起泡算法,并上机编程以和传统起泡排序算法的效率进行比较。这样,可以培养学生大胆想象、勇于实践的创新精神,还可以调节课堂气氛,利于师生交互,同时还能激发学生上机编程的热情。

3.3循序渐进,精心设计组织实验内容

“数据结构”课程中的实验可分为三大类:验证实验、设计实验和综合实验。验证实验是将教材中的重要数据结构上机实现;设计实验是针对具体问题来应用某个知识点,需要自己设计简单的方案;综合实验是针对具体问题应用某几个知识点,需要设计总体方案。这三类实验由易到难,由浅入深,构成了完整的实验教学体系。实验的开展应该以此为主线,循序渐进地进行。

在教学中,每学习完一种基本数据结构后就要求学生完成相应的验证实验,这样不但能深化学生对课本知识的掌握和理解,还能培养调试和测试程序的能力。设计实验和综合实验在某部分知识点学习完后进行,以锻炼学生利用数据结构解决具体问题的能力。实验的内容应该和学生的专业相结合,并且选择有趣味性的题目以激发学生的兴趣。同时,结合非计算机专业学生的具体情况,设计实验和综合实验选题难度不宜太大,综合实验若干周进行一次,以保证实验的完成质量。

例如,针对地理信息专业的学生,学习完线性表这一章后,首先要求上机建立顺序表和单链表,并在其上逐一对插入、删除等操作进行验证。设计实验要求学生编写算法求解线性表中值最小的元素及其位置,然后上机在已建好的顺序表和单链表上实现该算法。综合实验要求解决约瑟夫环问题。对于信计专业的学生可以适当提高难度,例如设计实验要求对建立好的单链表进行就地置逆。

上一篇:电大“软件工程”课程教学改革的探索 下一篇:虚拟银行教学软件系统的设计、实现与应用