戴晶晶 夏宏雷
摘 要:《数据结构》课程是计算机科学与技术专业一门专业基础课程,是一门重要的核心课程。本文介绍了该课程目前的教学现状,分析存在的问题并提出了解决方法。
关键字:数据结构;教学改革
Abstract:Data structure course is a professional basic course of computer science and technology, and it is very important. This paper focuses on the introduction of the current teaching situation, analysis the existing problem and provides methods to work out the existing problems.
Keywords:Data Structure; Educational Reform
数据结构作为一门计算机专业的专业基础课,在整个计算机课程的学习过程中起着重要的作用,是多数专业课程的先导课程,是学生学习程序设计的入门课程[1]。
1 教学现状以及存在的问题
数据结构是一门理论和实践并重的课程,对于C语言的编程能力也有一定的要求。由于该课程在整个计算机课程学习中的重要地位,该课程一般开设于《C语言程序设计》课程之后。《C语言程序设计》课程作为计算机科学与技术专业学生编码入门的第一门语言,大家在学习的过程中存在着一知半解,知识点无法融会贯通,因而学生在接触了程序设计之后,紧接着就开设了这门课程,导致学生还没有养成较好的程序设计思维,部分学生甚至对程序设计的概念都不是很清楚,进而在学习数据结构课程时,后期的教学内容学起来相当吃力[2],无法及时的跟上教师的讲课进度,导致该课程的学习效果并不是那么理想。因此传统的教学方法已经无法满足目前的教学需求,数据结构的教学改革迫在眉睫。
2 教学内容的改革
数据结构课程的学习可以理解为数据模型和算法设计的学习。在一般教学方法中,首先从数据模型出发,让学生理解不同数据模型的基本表现形式,然后从实际出发,根据数据模型,依赖C语言进行算法设计。因此,数据结构的教学内容可以从理论教学内容、实验内容安排两方面进行改革。
2.1 前后知识点的衔接
数据结构课程对于C语言程序设计课程的依赖性较强,良好的C语言基础有助于数据结构课程的学习。为了避免学生因前期课程知识的遗忘或基础不扎实导致该课程学习过程中内容跟不上,在教学课时安排中,适当的安排课时对C语言程序设计中的重要知识点进行回顾和复习,如变量、选择结构、循环结构、数组、函数、指针等,帮助学生巩固编程的知识点。同时,在实验内容安排中,安排一次实验对C语言程序设计的知识点进行复习和巩固,提升学生的编程能力,也利于后期数据结构课程的开展,加强学生学习数据结构的积极性。
2.2 合理安排理论教学内容
由于不同的书本在知识内容的安排上有所不同,在教学内容安排的时候,统一教学内容的顺序,根据数据结构的逻辑关系将理论教学内容划分为线性结构、树型结构、图型结构三大部分,最后进行检索和排序算法的讲解,如图1所示。依据各模块内容的难易度合理安排学习的先后顺序,逐步加大学习难度,避免学生在课程学习过程中过难而无法理解复杂的数据模型。
同时,根据教学内容的难易度合理安排安排授课课时。在学期初期,学生无法很快地掌握和理解数据结构模型,因此,虽然安排学习的内容较为简单,但是学生理解起来还是比较复杂。线性结构作为一个重点内容,又安排在学习的初期,应适当的增加该部分内容的授课时间,帮助学生更好地理解数据结构模型的相关概念,为今后的课程内容学习打下良好的基础。
2.2 安排层次实验教学内容
理论与实践结合,实验教学可以帮助学生检验和巩固所学的知识点,因此,实验内容的安排也十分紧要。在实验教学内容安排中,合理安排实验内容,如表所示,加大基础型实验内容,与实际应用相结合,避免理论脱离实际,帮助学生更好地理解相关知识点。如线性表实验,结合比较常见的学生信息信息系统进行内容设置,将线性表中比较典型的操作加深对线性表的理解。
不同的学生理解问题的深浅不同,因而在实际的教学过程中,一个班级中的学生的学习进度也是不同的。,针对这一现象,采用分层次实验教学。在布置实验任务的时候,将任务内容划分为两部分,一部分为基础题,要求所有的同学都必须完成;另一部分为能力提升部分,它为选做题,具有一定的综合性和难度,用于锻炼学生的编程和解决问题的能力,加大对学生综合能力的培训。学生根据自己实际的学习情况来决定是否完成该部分,促进学习的主动性,有选择地完成实验内容,提高学生的编程兴趣。该方法既解决了不同层次学生的学习能力问题,也避免了实验内容过多或过少的问题,让学生在实践动手过程中根据本身的学习情况进行任务的挑选和完成。
3 教学方法的改革
3.1 案例式教学法
由于数据结构的知识点较为抽象,在学习过程中理解起来难度较大,学习过后学生无法准确地理解该知识点的用处。因此,仅按照书本的知识点进行教学已经无法满足当今的教学需求,根据《数据结构》课程的实际情况,在理论授课的时候,可以采用案例式教学法,将抽象的知识点与生动的例子结合在一起,边学边做,用贴合实际的案例来激起学生的学习兴趣,帮助学生在知识点的学习过程中更好地掌握和理解该知识点的运用方法和范围,避免了理论与实际脱离。如顺序表内容的学习,结合前期学生在C语言课程设计中所作的例子,将线性数据结构组织的知识点融入到课程设计题目中,该内容学生本身就比较熟悉,通过再次对课程设计内容的讲解,让学生理解线性数据结构的组织方法和存储方法,同时,将抽象的数据结构与算法结合讲解,设定题目相关的操作内容,在分析问题和解决問题的过程中,学习顺序表相关的操作,如排序、删除、插入等。
3.2 算法演示教学
在数据结构的学习过程中,学生会接触大量的操作集合,不同的数据结构,操作的实现算法不同,仅依赖枯燥的代码讲解让学生无法理解实现该操作的算法思想,大大降低了学习的积极性。因此,在讲解数据结构算法的时候,结合当前数据结构的特点,通过生动的flash动画或制作动态的PPT将算法的思想呈现在学生的眼前,吸引学生的注意力,帮助学生理解算法的思想,从而更好地理解和记忆算法的实现代码。
3.3 翻转课堂教学
传统的教学模式以上课讲为主,课下学习辅导为辅,课下学生在自主学习的过程中遇到难点虽然可以询问老师,但是往往无法及时得到解决,从而导致学生无法很好地掌握和理解相关的知识点。因此,可以尝试翻转课堂教学,筛选教学内容较为优质的视频分享给学生,学生自主课下先完成教学内容的学习,在课堂上,教师针对难重点进行详细讲解,学生在初步了解了的情况下进行二次学习,可以帮助学生更快地跟上老师的教学进度,掌握难重点内容。翻转课堂有效地解决了学生学习难,遇到问题无人询问的情况。
3.4 优化考核制度
数据结构是一门动手能力要求较高的课程,在课程学习过程中,学生自主地代码练习时至关重要的。然后,部分学生的自主学习能力较差,课下很少会花费时间进行编码练习,因此,在成绩考核比例中,可以加大作业和实验在平时成绩中的比例,督促学生课下多进行编码练习,同时,为避免学生之间进行作业的抄袭,可以采用当面考核制,
4 总结
本文通过分析当下数据结构教学中存在的问题,提出了从教学内容和教学方法两方面的改革。通过理论课程的内容和课时安排以及层次的实验内容安排两方面进行了教学内容的改革,依赖案例式教学、算法演示教学、翻转课堂教学等方法来优化教学手段,旨在培养符合计算机科学与技术专业水平和特色的人才。
参考文献
[1]宗瑜, 金萍. 案例教学法与《数据结构》教学改革[J]. 皖西学院学报, 2009(02):30-31.
[2]余艳, 刘燕丽, 李琳娜. 数据结构实践教学内容设置的分析与思考[J]. 实验技术与管理, 2014(04):170-173.