PaperTan: 写论文从未如此简单

学科教育

一键写论文

独立学院数据结构课程实践教学探讨

时间:2014-12-09

针对数据结构课程教学过程中理论与实践脱节的问题,结合独立学院学生的特点,从教学内容整合、实验内容配置、实验考核等方面展开探讨,旨在提升学生将数据结构知识应用于实际的能力。

Practice teaching of data structure in independent institute

Xue Chunyan

Xiamen University, Zhangzhou, 363105, China

数据结构是计算机专业的一门基础课程,也是课程体系中的核心课程之一,在计算机学科的主干课程中起到承上启下的作用。数据结构课程对基本数据的逻辑结构和存储结构进行分析和阐述,并介绍其具体实现的算法和实际应用。数据结构课程教学的目的是使学生学习、分析、研究计算机加工的数据对象的特性,学会数据的组织方法,以便选择合适的数据逻辑结构和存储结构以及相应的操作,将现实中的问题转换为可以在计算机中表示和处理的问题。

实践教学作为数据结构教学中的一个重要环节,是对数据结构课程理论教学的延伸,也是对数据结构理论知识的综合应用。

作为独立学院,我校践行技术应用型本科的教育理念,树立面向市场的办学宗旨,着力于加强学生基本技能和实践能力的培养,构建“以实践教学见长”为特色的课程体系,培养适应市场需要的应用型人才。教师在教学过程中将学生实践能力的培养放在首要的位置上,对实践教学的设计、实施等各个环节不断进行探索,并总结经验教训,逐步改进,取得了较好的教学效果。

1 数据结构课程教学过程中存在的问题

数据结构是研究程序设计过程中如何设计和使用合理数据结构来解决具体的问题的课程,是一门实用性很强的课程。但是在教与学的过程中,往往出现教学与实践脱节的问题,不能把教学和实践很好地联系起来,影响了教学效果。同时,独立学院生源的特殊性也给授课带来一定的困难。

笔者在教学过程中发现了如下问题:

1.1 内容抽象,逻辑性强,不易理解

数据结构课程的特点是概念多、内容抽象、逻辑性强。学生在学习的过程中不知道数据结构讲什么,可以用在哪里。造成只注重理论学习应付考试,而不考虑在具体程序设计中利用数据结构设计和解决具体问题的应用实践。

1.2 教学脱离实践,实践课效果不理想

1.2.1 验证性实验达不到实践教学目的

数据结构的实验大部分是验证性实验。验证性实验仅仅要求学生对教师课堂讲述的内容用C语言进行翻译,只需调试通过即可,对掌握利用数据结构的知识解决具体问题的思路和方法不做要求。因此,学生在解决实际问题时,不能将所学数据结构应用到实际中。学生做课程设计时无从下手、思路混乱,不知道如何选择数据结构。

1.2.2 实验题目结构单一,不能满足不同层次学生的需要

数据结构实验题目内容差别小,缺乏应用性和实效性,很难调动学生的学习兴趣。另外,基础较差的学生在完成难度较大的题目时存在一些困难,而学习较好的学生感觉题目太简单,没有挑战性。

1.3 学生基础较差,相关课程之间衔接不好

从生源质量看,独立院校的学生由于入学分数低,学生整体水平不高,基础不好,对所学知识的理解和掌握不到位,学习主动性不强,特别是对数据结构这类理论比较抽象,不好理解的学科学习兴趣不高。学生动手能力和编程能力普遍不强。

从课程衔接来看,数据结构与C语言程序设计两门课程联系密切。C语言程序设计的学习一般安排在数据结构课程的上一个学期,而且在后者学习过程中要用到前者的函数、指针和结构体部分,但是这些内容往往是学生掌握得最薄弱的部分。很多学生对熟练使用指针和结构体等内容的数据结构的实验有畏难情绪,直接影响了数据结构实践教学的效果。

2 数据结构实践教学探讨

2.1 案例讨论教学将理论教学与实践教学相互结合

为了提高数据结构的实践教学效果,笔者改变原有的教学方式,采用案例讨论的方式授课。在案例讨论教学法中,笔者将学生分成若干个小组,以小组为单位进行讨论,学生在讨论过程中提出问题,笔者针对提出的问题讲解相关知识,引导学生利用所学知识提出解决方案,并最终编程实现。在实现的过程中,还可以进一步深化数据结构算法的讲解,鼓励学生不断地改进和完善程序,提高程序的性能和效率。

例如:针对线性表结构的讲解,以学生最为熟悉的宿舍管理系统为例进行研究讨论。 首先,引导学生分析基本的数据信息和功能需求。基本信息包括学生信息和宿舍信息。基本功能包括增加、修改、删除、读写、排序和查找。进一步讨论数据的特点,操作对数据的结构需求,从而引入线性表结构的知识,帮助学生建立学生信息和宿舍信息的数据结构。

其次,分析各个功能的实现方法,从而引入线性表基本操作的具体实现。

最后,通过分析各个操作的优缺点总结线性表的特点,引导学生通过顺序表和单链表两种方式实现,经过比较和分析,最终掌握线性表的结构特点、表示方法、各种操作的实现以及不同实现方法的比较分析。

通过学习案例,学生深切地体会到了线性表的特点以及具体应用的过程。理论教学与实践教学相融合,达到了很好的教学效果。

我们为每种数据结构都设置了一个案例,具体情况见表1。

表1 数据结构案例情况表

这种案例讨论的教学方式改变了传统的教师为主的教学模式,学生由被动学习变成了主动学习,调动了学生学习的主观能动性,增加了师生之间的交流和互动,活跃了课堂气氛,提高了学生分析和解决问题的能力。

2.2 打好语言基础,扫清障碍

针对独立学院学生基础较差的客观情况,教师在授课初期实验开始之前,应先为学生扫清编程语言的障碍。笔者针对学生C语言学习中存在的问题,结合数据结构课程中涉及的C语言的知识点有针对性地进行讲解和练习。对C语言中函数、指针、结构体部分的知识进行系统回顾,并安排学生做一些和数据结构相关的C语言练习题,帮助学生扫清数据结构学习中的障碍,减轻学生对编程的畏难情绪,轻装上阵,更好地学习数据结构课程的内容。

2.3 实验题目设置多层次、多种类

2.3.1 多层次

我校学生的水平参差不齐,我们针对不同水平的学生提供不同难度的实验题目。实验题目类型分为:基础题、进阶题、提高题、综合项目题。

例如:针对二叉树实验,笔者设置了三类题目。

基础题:二叉树的顺序实现和链式实现。

进阶题:一个单位有10个部门,每个部门有一部电话,但是整个单位只有一根外线,当有电话打进来时,由转接员转到内线电话。已知各部门使用外线电话的频率(次/天)为5,20,10,12,8,4,3,5,6,9,如何设计内线电话号码,才能使接线员拨号次数最少?(哈夫曼树的应用)

提高题:编写程序判断一棵二叉树是完全二叉树、满二叉树还是普通的二叉树。

综合项目题:身份证信息管理系统。

要求:(1)能够进行身份证信息的录入,包括身份证号、姓名、地址和手机号。(2)能够快速根据身份证号进行信息的查询,并输出相关信息(地址、生日、性别)。(3)可以修改身份证号码对应的其他信息,如姓名、地址。(4)可以完成身份证信息的删除。(5)可以根据姓名查询身份证信息。对于重名的人,能够给出所有重名的人的身份证号和其他信息。

多层次的题目可以让学生从易到难、循序渐进、逐步提高编程水平。基础较差的学生,可以从最简单的题目进行基础训练,一点一点提高难度,这样可以帮助学生建立信心,提高学习的积极性。学习能力较强的学生,可以直接做比较难的题目来检验自己的学习效果,这样也可以激发学生的学习兴趣,提高学习效率,其学习能力也能获得更大的提高。

2.3.2 多种类

题目的种类应是多样性的。多种类的题目可以通过不同方式、不同角度考查学生知识掌握的情况。

基础题中包括一些选择题、填空题、写程序结果、程序改错以及基础编程题;进阶题和提高题主要以编程题为主;综合项目题一般采取小组合作的方式,不仅可以锻炼学生的实践能力,还能够培养学生的团队合作精神。多种类的题目有利于调动学生的学习兴趣。学生可根据个人情况选择自己喜欢的题目类型进行训练,提高了学习主动性和积极性。

2.4 完善实验考核制度

我校设有数据结构实验课程,该课程实践教学大部分在实验课中完成。我们对实验课的考核方法也进行了改进和完善,具体成绩构成见表2。

表2 数据结构实验成绩构成情况

通过对数据结构课程实践环节的严格考核,学生养成了认真做好实验记录的习惯,培养了严谨的学习态度,形成了踏实的学习风气,减少了上机过程中出错的次数。

2.5 增加设备投入,完善现代化教学手段

增加设备投入,完善现代化教学手段,对提高教学质量尤为重要。我校充分考虑数据结构课程的实践性特点,尽最大可能补充和更新计算机设备,并建立了专门的数据结构实验室,配备了品牌电脑和所需的软件,确保软、硬件设施设备满足教学需要。同时,还建设了数据结构教学辅导网站,用于课程资料下载、在线测试、在线答疑等,为学生学习数据结构课程提供了很好的平台。

3 结束语

通过对当前数据结构课程教学过程中存在问题的分析,在教学方式方法、实践教学过程等方面采取了相应的改进措施,改善实践教学效果,使其更好地与理论教学相结合,从提高学生的编程能力和学习兴趣。实践证明,理论教学与实践教学相结合可以使学生更好地学习和掌握数据结构课程的内容,切实提高教学质量。

参考文献

[1]辜蔚君.关于人力资源数字化转型中数据管理工作的思考[J].厦门科技, 2023(1):43-47.