APP下载

数据结构课程教学的设计与探索

2020-06-08吴华玲

教育教学论坛 2020年20期
关键词:数据结构

吴华玲

[摘 要] 数据结构课程是计算机和信息处理相关专业的重要基础课程,目前该课程主要采取理论为主实践为辅的教学模式。针对应用型本科生培养的市场需求,本文分析了课程教学过程中存在的主要问题,探讨了该课程理论和实践教学内容和教学方法的设计以及在线课程建设的具体措施,以提升学生灵活运用理论解决实际问题的能力。

[关键词] 数据结构;理论教学设计;实践教学设计;在线课程设计

一、引言

数据结构是计算机类相关专业的一门重要的专业基础课。课程主要研究非数值计算领域的程序设计问题,学习数据的各种逻辑结构和存储结构,以及对数据的各种操作。对于培养学生分析问题、解决问题以及算法分析和设计能力非常重要。学习数据结构课程,应该教会学生针对不同的实际问题,分析需要处理的数据以及数据之间的相互关系,以选择合适的内容存储数据和关系,从而设计出高效的数据操作方法,提高算法的效率。该课程的学习对于后续专业课程的学习和学生自身的发展都具有重要意义[1]。数据结构课程本身是独立于编程语言的,课程具有知识点广泛、理论性强、内容抽象等特点[2]。通常,该课程的讲解都是选择一门编程语言,使用理论与编程实践相结合的方式,但在调查中发现,学生普遍反映该课程的学习难度大,理论一知半解,实践算法实现困难等问题[3]。

本文以本科应用型人才的培养目标为指导思想,主要针对数据结构教学中出现的一系列实际问题,进行教学方法的分析和改进探索,研究如何提升数据结构理论教学和实践教学的效果,提高学生运用理论解决实际问题的能力[4]。

二、理论教学设计探讨

在数据结构的理论教学中,根据实际教学效果和学生的反馈,主要针对以下问题进行教学改革探讨:

1.学习目标不明确。数据结构课程的授课对象一般是大二学生,这时候的学生刚学过一门高级程序设计语言基础,计算机相关储备知识还比较少,对专业的整体认知也比较缺乏,从而对数据结构课程的学习目的和课程地位都不够明确。

2.学习内容难度较大。數据结构课程主要内容包括线性表、栈和队列、递归、树、图、查找和排序等。知识点覆盖面较广且有一定难度,对学生的逻辑分析能力和数学计算分析能力都有一定的要求,而且每个知识点的内容抽象难懂,很容易使学生产生畏难情绪。

3.学习内容难以联系到实际应用。部分学生反映,虽然对于数据结构的各个知识点已经理解了,但是很难将这些知识点串联起来,灵活使用到实际问题的解决中。

因此,在理论课授课过程中,为了有效改善上述教学效果不佳的情况,可以尝试将教学内容分成四步目标来实现:

1.讲清楚数据结构课程在整个专业课程体系中的地位。让学生从宏观上把握这门课,明确为什么要学习该课程、该课程的主要学习内容有哪些以及怎样才能学好该课程?使得学生对课程的重点内容和精髓部分有一个整体的认识和把握,以便在后续学习中做到有的放矢。

2.在正式讲解课程内容之前,应先计划一定的课时来复习高级程序设计语言的基础知识。将数据结构中所涉及到的高级程序设计语言知识作出条理清楚的总结和归纳。以便学生顺利过渡到后面的课程原理和实验学习中。

3.分知识点进行详细讲解。以学生熟悉的例子作为引导,对于每种数据结构的特点和操作,结合算法进行具体分析和讲解,着重各知识点的应用,让学生很好地掌握这门课的知识点。

4.注重案例教学。综合这门课程所学习的内容设计案例,让学生将各个知识点的知识进行综合应用,采取教师带学、学生分组讨论、学生独立分析和解决问题等方式学以致用,培养学生运用所学理论解决实际问题的能力。

三、实践教学设计探讨

目前,大多数高校数据结构课程的设置均是以理论课为主、实践课为辅的教学模式设计。课程设置偏重于理论教学,实践成绩的考评主要依据学生的实验报告。当然,这与对本科生的培养目标是息息相关的,在很长一段时间也取得了一定的成效。数据结构课程是一门理论与实践综合的课程,实践教学的重要程度不亚于理论传授。于是,很多高校越来越重视数据结构的实践教学,国内外比较有影响力的教学模式有:讲授模式、互动模式、任务驱动模式、范例模式等。这些模式集中体现了“教为主导,学为主体”的教学思想。但是,由于本课程涉及知识点多、逻辑性强、抽象性高、理解难度大,学生学习起来比较吃力,大部分学生动手实践能力不同,用所学知识解决实际问题的能力较弱,很多学生在课程学习结束后,依旧无法编写基本的排序算法、查找算法等程序,面对实际问题不知道怎样动手去解决。特别是在从事大型软件工程时,灵活应用相应算法能力比较欠缺的矛盾更为突出。因此,关于数据结构课程实践教学的合理设计,成为当前急需解决的问题。针对上述问题,有必要对实践教学进行设计与探索[5],具体措施如下:

1.加大实验课程的课时量。一个理论知识点配备一次实践课,在每个理论教学知识点讲解之后,马上让学生动手实践,先实现教材中的基本算法,便于深化理解所学知识点的基本思想和设计算法的基本程序,理论和实践结合的学习和应用,也可以及时解决学生学习过程中的困惑。

2.注重激发学生的学习兴趣。由于课程的学习难度大,有必要引入一些有趣的实验,激发学生的学习热情,调动学生动手实践的积极性。例如,在讲解递归时可以从一个游戏汉诺塔问题开始讲解,先带领学生玩几盘汉诺塔游戏,然后指出其中的递归思想,并讲解递归的理论算法,最后把该算法运用在游戏中,让机器指导我们去如何挪动游戏中的盘子。

3.开发新的设计型实验,注重案例教学。开发新的设计型实验,引导学生将所学的知识运用到解决实际问题中。例如,设计一个学生管理系统,建立一个学生信息表,输入学号、姓名、性别、班级、课程、分数等信息,注意分析数据之间的关系,并以合适的方式进行组织,可以选择有序、无序顺序表或索引顺序表示。综合应用基本的查找算法完成数据的查询。设计型的实验可以让学生将所学的知识带入到实践运用中,让学生体验结构选择和算法设计的思维方式与技巧,培养分析问题和解决问题的能力。

四、数据结构在线课程建设

数据结构课程内容具有知识点多且抽象、理论与实践并重等特点,另外,每个学生的程序设计能力也存在差异性。传统的课堂教学和集中上机实践很难全面顾及到每一个学生。因此,在不断完善课程设计的前提下,有必要进行教学方式的改革,例如建设数据结构的在线课程,提高教学质量和教学效果。在线课程建设的具体内容为:梳理课程内容、提炼重点知识点,针对这些必须掌握的知识点录制教学视频讲解。学生可以结合自己的学习掌握情况,有目的地选择自己要学习的知识点,且没有时间和空间的限制。

五、结束语

数据结构是计算机类专业必学的一门重要基础课,在其教学过程中,不仅需要注重理论教学中各知识点的讲解,更需要设计合理的实践教学,使其贯穿理论教学的始终。为培养学生学习的积极性、提高学生解决实际问题的能力、培养学生的逻辑思维能力,需要不断探索理论教学和实验教学的合理分配及课程设计,以适应当今培养应用型本科生的市场需求,帮助学生既掌握扎实的理论基础,又具备解决实际问题的能力。

参考文献

[1]严蔚敏,李冬梅,吴伟民.数据结构:C语言第2版[M].北京:清华大学出版社,2015.

[2]余艳,刘燕丽,李琳娜.数据结构实践教学内容设置的分析与思考[J].实验技术与管理,2014(4):171-173.

[3]张惠珍,马淑娇.“数据结构”课程的教学方法改进探讨[J].上海理工大学学报(社会科学版),2018(2):174-178.

[4]张冰涛,王小鹏.基于工程认证的数据结构与算法课程教学研究[J].软件导刊,2019(1):201-204.

[5]王嘉.信息与计算科学专业数据结构课程的教学探索[J].计算机教育,2019(1):68-71.

猜你喜欢

数据结构
欧洲专利局OPS服务专利法律状态数据结构分析
重典型应用,明结构关系
为什么会有“数据结构”?
MOOC平台下数据结构的教学研究
数据结构课程教学网站的设计与实现
“翻转课堂”教学模式的探讨——以《数据结构》课程教学为例
CDIO模式在民办院校数据结构课程实践教学中的应用
TRIZ理论在“数据结构”多媒体教学中的应用
《数据结构》教学方法创新探讨
高效学习数据结构