关于高职院校数据结构课程提高教学质量的研究

2022-09-30 11:23秦燕妮
新教育时代电子杂志(学生版) 2022年21期
关键词:数据结构举例排序

秦燕妮

(合肥经济技术职业学院电子信息系 安徽合肥 230031)

一、概述

因地制宜教学是指掌握学生学情、课程特点后,选择与其合适的教学手段和知识点进行教学活动,真正做到从学生出发,以学生为主导,从而帮助学生更大可能性学得更多、学得更好。

可视化教学是利用图形、图像、动画等视觉表征手段和视觉认知辅助工作,将符合学生认知经验的教学内容经由相应的教学活动内化为学生认知结构。学生观察、体验、发现、敢于利用这些生动可视化知识,并通过认知加工将其外化为可视化语言以促进教学过程中的知识传播和创新,同时自然地培养和造就学生认知能力和创新能力[1]。

体验式教学以学生需求为中心,更重视学生的自主学习。在体验式教学中,教师应根据课程大纲、教学目的和学生现状设计体验案例,通过案例实践帮助学生加深知识的理解和运用。教师在采用体验式教学时,不仅要传授知识,还要引导学生通过案例掌握知识、思考问题、总结经验[2]。

问题教学法就是在课前将学生需要掌握的知识点以问题的形式呈现,在课堂上向学生提出若干小问题,引发同学独立思考,继而掌握知识、开发技能,可以帮助学生全方位掌握知识要点,也能提高学生的独立思考能力。

举例教学是讲授中最常见的一种方法,举例教学是指在课堂教学过程中,联系实际说明问题的一种方法,是教师根据教学需要,以不同方式列举典型事例,用以说明解释教学内容,以促进学生理解知识、调动参与知识建构和发展能力的教学方法。

二、“数学结构”课程现状分析

1.数据结构课程分析

(1)《数据结构》知识复杂、抽象

《数据结构》作为高职计算机专业的基础课程,里面有非常多抽象、复杂的知识要点,例如串的操作、排序算法等等,其运算过程复杂而抽象。既要学生掌握算法思想,又要其能够写好代码,难度系数非常大。复杂、抽象的教学内容用传统教学手段难以将运算过程直观地表现出来,学生无法直观感受知识,必须通过想象去掌握静态程序代码的复杂动态变化过程。

(2)需要其他先修课程知识支撑

《数据结构》作为高职计算机专业的必修课程,先修课程是离散数学和C语言,很多高职院校并没有开设离散数学相关课程,学生缺少相关学习,而目前的C语言课程教学现状是学习效果也并不理想。

2.学生现状分析

学生先修课程学习效果不理想,例如对结构体、指针等内容不熟悉。当学习数据结构课程时遇到大量的C语言伪代码,学生就会觉得难懂、难学,畏难情绪由此滋生,给授课教师也带来重重困难,再者高职院校学生有一部分自律性差,基础较为薄弱,无法完成教师课后任务或者存在抄袭敷衍现象,课上听课容易走神,容易中途放弃。

三、研究目标

1.提高学生能力

针对学生基础薄弱的特点,采用合适的教学方式、教学内容,帮助学生提高学习兴趣、注意力。培养学生独立思考能力,解决问题的能力,提高学生抽象思维能力,提高学生数据结构等课程的学习质量。

2.优化现有课程结构

(1)改善现有考核模式

现有考核方式不合理,考核内容较为简单,平时分过多依赖于考勤、作业,而作业又存在很多抄袭现象,导致学生缺乏主动性、积极性。

(2)改变教学方式

现有的传统教学方式存在很多弊端,无法应对基础薄弱、自律性差的学生以及抽象复杂的教学内容,改变教学方式,使得学生更容易学习。

(3)优化教学设计

优化现有教学设计,教师教学更加便捷,学生学习更主动。

四、研究内容

1.因地制宜教学

学生基础薄弱,而课程内容又复杂抽象,原有的课后作业存在大量的抄袭或者敷衍现象,故增加课堂内任务,增加提问环节,将每个项目的课后作业更改到课堂上,请同学现场回答。在考核时,避免死记硬背的理论知识,增加通过理解推算的题目,对课本不是照搬全抄,而是采用适合的教学内容,减少晦涩难懂而又不重要的知识点,对于重点知识通过反复举例讲解。

(1)知识讲解与任务相结合教学法

在每章课程的结束都会有习题任务,教师在课前教学设计环节将任务分配到每一个小结知识点的结束,在讲完知识点后布置课堂任务,让同学当堂完成,帮助其进一步理解知识点,对于较简单题目,教师鼓励那些容易走神、基础薄弱的学生作答;对于较难的题目,可由学生主动举手作答。对于回答错误的学生,询问其思路,并帮其纠正,鼓励其勇气;对于回答正确的学生,给予肯定。鼓励式教学更适合高职院校的学生。

(2)去除过于复杂而非重难点的教学内容

数据课程内含有大量的代码,在课堂上全部进行讲解,难度较大,学生容易走神,可根据不同的知识点进行优化或者舍弃,在课程中涵盖很多知识点应用的实训课程,是一些比较难的C语言代码,含有指针、结构体等难点,实训课时仅有8课时,数据结构本身是一种偏理论性的算法课程,如果过多地介绍这些代码,一是增加了学生学习的难度,二是偏离了课程的重点,三是会降低学生学习的积极性,因此应该摒弃较难的代码部分,留下重要并且简单的实训内容。

2.可视化教学

(1)基于visualgo的可视化教学方法

所谓可视化教学,是指在计算机的帮助下,将一些抽象的事物及其变化过程通过视频、动画、图片等现实可观化的方式表现出来,使得学生能够直观地观察到这些知识,从而建立起抽象事物模型与现实世界的关联。

数据结构课程的学习最大的难点就是知识点的抽象化,一方面很多知识点偏离实际生活经验,另一方面是设计很多复杂算法需要其自己想象。但是如果可以通过可视化将整个学习的知识点、运算流程,让学生清晰可见,就可以大大地降低课程的学习难度。visualgo网站提供了大量的图片和动画,让知识点直接作用于感官,是一个很好的学习网站,因此在数据结构课程教学中,可以利用它将知识点具体化。

下面是在数据结构课程中可视化教学的举例:

(1)在“最小生成树”中介绍普里姆(Prim)算法时,可将整个算法的动态运算过程使用视频展现给学生,课前在visualgo网站录制算法的运算视频,作为教学素材,课中放给学生看,让学生观察其运算思路,回答问题,掌握知识要点,最终完成算法的学习。图1是运算过程的截图展示。

图1 最小生成树计算过程

(2)在讲解冒泡排序(Bubble Sort)时,课前在visualgo网站录制算法的运算视频,课中以水中气泡引入介绍冒泡排序算法,然后播放算法排序视频,视频中算法的动态过程如图2。帮助学生直观地看到算法的运算过程,然后介绍关键代码,让抽象复杂的运算过程变得可观,帮助学生更简单地掌握知识的学习。

图2 冒泡排序过程

3.多种方法融合教学

不同的知识,需要不同的方法,不同的人,需要不同的方法。高职院校的学生类型丰富,数据结构的知识重点也多,因此需要选取合适的方法,就需要融合多种方法,在不同的情况下选择不同的方法进行教学,才能最大可能性地提高教学质量。

(1)体验式教学

为了提高学生的学习兴趣,在讲到部分算法或者数据结构时,由于学生本身也是一种非常好的操作对象,教师可利用学生进行体验式教学。例如,讲到插入排序算法知识点时,可在知识点讲解后,由教师创建情景,布置任务,让学生分小组,利用插入排序算法方法思想进行动态的调整自己的座位,最终小组全员达到按照学号升序排序的目的。整个过程轻松有趣,学生主动参与,既能帮助学生真正掌握知识点,也能增加学生的学习兴趣。

(2)问题教学法

感觉印象不如概念可靠,而数据结构的概念十分复杂抽象难懂,容易让学生困惑,巧妙的问题教学法可让学生循序渐进地靠近知识的内涵,也可以帮助学生掌握知识的要点,增加学习兴趣,提高独立思考能力。在数据结构教学中,教师可以让学生观看问题的解答过程,观看过程中思考问题,在“看”“思”“答”的过程中得到知识点的掌握,例如,讲到希尔排序时,其概念性的介绍就有几百字,内容非常抽象复杂。因此采用以下教学设计:

学生反复看视频,视频内容为希尔排序的举例讲解。学生思考问题:

①变量K分别设定哪些值?

②什么时候发生交换?

③什么时候需要回溯比较?

④什么时候停止回溯?

回答问题。

通过问题的回答,学生便掌握了希尔排序的重难点,再回过头看希尔排序的概念就变得非常简单易懂。

(3)举例教学法

在讲到部分知识点时,采用举例方式,让学生真实客观地将抽象的问题联系到实际,既能让学生知道自己所学知识与现实世界的关联,更能帮助学生理解知识点,提高学习兴趣。

举例1:讲到“栈”时,以 “桶装月饼”为例,观察月饼的加入、拿出从而得到“栈”的插入、删除等性质特点。

举例2:在讲到最小生成树时,为了让学生真实地了解到问题,以“为村庄规划路”问题为例,将图中的每个结点看成村庄,将每个分支看成村庄之间的拟规划道路,分支上的权看成对应道路需要的造价,求解最小生成树变成从规划图初稿当中选择部分路使得总造价最低且每个村庄都可以互通。

举例3:在讲到排序算法之间的性能比较时,可以以“图书馆进了1280本新书”为例,为了将图书排好顺序,采用不同的排序算法,如果只有一位人工管理员,冒泡需要9.5天,插入排序需要将近5天,快速排序需要3.5个小时。通过时间的对比,让学生知道算法之间的差距。

五、研究应用后的教学效果与评价

将研究成果应用于我校2020级计算机应用技术、2020级计算机网络技术两个专业,其教学效果与2019级相比有了明显提升。具体数据如下表所示:

表1 教学效果各项指标

课堂作业基本完成,很少出现抄袭现象,会主动讨论题目并能积极主动地举手答题,很少出现走神的学生,基本都是抬头认真听讲。能够积极主动地参与到教学活动中。在课程考核在增加了难度之后,只有极少数人未通过考核,教学效果较好。

该研究结果可经过改善优化应用于其他课程教学当中。

猜你喜欢
数据结构举例排序
作者简介
数据结构线上线下混合教学模式探讨
重典型应用,明结构关系
恐怖排序
乘法公式应用举例
节日排序
抽象函数应用举例
学会最常用的习语,让老外眼前一亮
等差数列与数表
数据结构与算法课程设计教学模式的探讨