APP下载

数据结构教改初探

2021-08-31刘淑娴

科技视界 2021年22期
关键词:数据结构C语言章节

王 佳 刘淑娴

(新疆大学,新疆 乌鲁木齐830002)

0 前言

现实世界中采用程序设计可解决的问题,通常可划分为数值问题和非数值问题。随着高校应用型人才培养模式的提出,作为信息安全专业的核心必修课之一,数据结构在注重理论学习时,也要注重实践能力的培养[1]。同时,课程思政建设在所有高校、所有学科专业的全面推进,使得课程思政理念深入人心,数据结构的课程思政建设迫在眉睫[2]。本文立足于目前数据结构教学过程中存在的主要问题,着眼于应用型人才培养和课程思政建设,对数据结构的教学设计和教学模式进行初步的探索分析。

1 存在问题

数据结构主要用来解决现实世界中的实际问题,如何对具体问题进行抽象化描述是数据结构实践教学的难点。目前,新疆大学的数据结构教学,主要采用理论课教师课堂教授+学生课后习题,实验课教师算法部分实现+学生课堂完成的方式。通过一个学期的数据结构学习,学生仅能掌握大部分习题,无法将抽象化思维运用到实际问题中,不能做到理论与实际有机结合。通过对目前数据结构教学的分析调研,该课程的教学仍存在以下3点问题:

(1)课时安排较少。数据结构的课程较为复杂、抽象,大部分院校中数据结构是一学期的课程,但由于其对C语言编程能力、抽象问题理解能力等的要求较高,无法在一学期的课程中讲通讲透。尤其是针对实际问题解决能力不高的大一学生,其相应的实际场景到抽象问题的映射能力不足,导致课堂进程艰难。例如,教师在讲解线性表及其存储结构时,除线性表的定义、线性表的顺序存储、线性表的链式存储等理论知识外,还需要帮助学生理解现实生活中学生管理、图书管理等线性表的实际应用;同时在实践教学中,表的类型定义采用结构体,设计联系人管理系统时需用到循环、分支等控制语句,由于大一学生的程序设计能力不强,教师还需要帮助学生回顾相关的C语言程序设计内容。在课时和课程内容的双重约束下,很多问题只能泛泛而谈,无法做到面面俱到。

(2)学生能力不同。新疆是多民族聚居的省份,少数民族学生的汉语言能力稍差,其相应的学习能力受到很大限制。即便其他不存在语言问题的学生,其个体接收知识的能力也不尽相同。本校数据结构课程针对的多是大一学生,C语言程序设计是数据结构的先行课程。通过分析某班C语言程序设计的期末成绩,85分以上学生占5%,70~85分学生占11%,60~70分学生占24%,有60%的学生挂科。学生对C语言的熟悉掌握程度截然不同。如何在教学过程中不出现好学生喂不饱差学生学不好的问题,是一直以来无法解决的问题。同时由于大多数学生的C语言掌握不扎实(指针、结构体、循环、分支等确实入门较难),刚开始的数据结构章节学生听不懂,跟不上节奏,直接导致学生后续章节的学习积极性不高。

(3)教学过程单一。在数据结构教学过程中,由于课时与课程内容的双重约束,教师把大多数的时间用来讲授理论知识。同时在授课过程中缺乏师生间的交流与互动,无法及时获取学生对知识的掌握情况。同样在实践教学中,教师只能针对实验题目进行简单讲解,无法做到深入扩展,学生也就无法触类旁通。由于课堂中的理论知识学生没有完全理解,在上机实验时对实验题目就无从下手,不知道怎样去分析解决题目。当理论与实践脱离后,学生就缺乏信心,对下一次理论课失去兴趣,进而形成恶性循环,无法培养学生对实际问题的分析解决能力。

2 改进探索

(1)提升教师知识深度。数据结构是一门教师难教学生难学的课程。“难”主要在于计算机专业的相关领域知识日新月异,而数据结构的课程内容变化较小,如何将数据结构内容与计算机领域前沿进行关联是重中之重。按照课程组内教师的不同研究方向分组,不同教师负责与自己研究内容紧密关联的数据结构章节的教学设计;当各章节教学设计完成后,课程组教师统一集体备课,探讨各教学设计的合理性、前沿性等,最终确定数据结构全书的教学设计。尤其要关注教学设计中的课程思政内容,坚持以立德树人为中心,根据不同章节的内容引入思政教育,将思想引领与理论教学统一起来,形成课程思政和思政课程教育同向同行,把思想政治工作贯穿数据结构教育教学的全过程[3]。例如,研究方向为工作流、社交网络等的教师,其主要负责图这一章节的教学设计。首先,通过一个前沿案例A引入图的概念,激发学生的学习兴趣。案例A:针对大数据环境下的实时气象数据精准分析问题,采用Storm计算框架对气象数据工作流进行分布式处理提高实时性和准确性。其次,在案例讲解过程中,将图的相关定义及术语一一给出,加深学生的理解。再次,分析案例A中多个顶点间相互协作可快速高效地完成实时气象数据精准预测,从而告诫学生在平时的学习生活中要注重团体协作精神。最后,启发学生来简单实现Storm计算框架中的默认调度策略。教师本人完成相应章节的教学设计后,课程组统一讨论进行再次修正。采取这种尽其所能、分工协作的团队教学设计,既可以拓展学生的知识面,让学生能够深入领悟各个章节,又能够节约教师的时间,让其有更多的时间投入到科研中。

(2)线上线下混合教学。数据结构包含线性表、栈、队列、串、广义表、树、图、查找和排序等重点内容,综合考虑课时和课程内容,将C语言程序设计相关内容和各章节主要内容放在校内学习网站,让学生在课前的空闲时间自行学习。同时校内学习网站上的内容需注重层次,可分为基础层和提高层,尽量满足所有学生对知识的渴求。教师在线下授课时,除对线上课程相关内容进行扩展外,还需注意思政内容的升华。例如,可通过游戏让学生加强对知识点的实际应用能力,从而领悟团体协作的重要性。为了加强师生间的交流,通过雨课堂对学生进行课前测试,了解学生对课程的掌握程度,从而对未掌握的知识点进行重点讲解。同样在数据结构实验课教学中,线上课堂实验题目由教师提供算法框架,让学生对C语言语句填空,学习章节知识点在实验题目中的具体应用,从而深入理解算法实现;线下课堂中,给出的实验题目较线上课堂存在一定区别,让学生慢慢尝试写算法,先成为基本的代码搬运工,进而在理解代码的基础上,做到自己可以依葫芦画瓢,最终在理解章节知识的基础上做到融会贯通。同时在实验课程中,对学生进行分组,让他们真正体会团体协作的优越性。采用这种线上掌握、线下领悟的混合教学模式,在授课过程中,真正做到以学生为主体,让学生在课堂中活跃起来,掌握本节课的内容及本质,做到熟练应用。

3 结语

数据结构是程序设计的基础。当今社会对应用型人才的迫切需求,使得数据结构的教学模式、教学过程以及实验过程等环节都需要改革。通过采用尽其所能、分工协作的团队教学设计和线上掌握、线下领悟的混合教学模式,在保证学生理论知识掌握的同时,提升学生的思政水平和实践能力。当然,数据结构的教学依赖于教学方法、教学设计、教学能力、教学反思等多个教学环节的协调和配合。对于教师来说,需要向经验丰富的同行学习,不断提高自己各方面的能力。在后续的教学中,需要根据实际情况,持续不断的完善数据结构的课程改革。

猜你喜欢

数据结构C语言章节
基于Visual Studio Code的C语言程序设计实践教学探索
高中数学章节易错点提前干预的策略研究
基于C语言的计算机软件编程
素养之下,美在引言——《“推理与证明”章节引言》一节比赛课的实录
高职高专院校C语言程序设计教学改革探索
“翻转课堂”教学模式的探讨——以《数据结构》课程教学为例
黄廖本《现代汉语》词汇章节中的几个问题
论子函数在C语言数据格式输出中的应用
八仙过海,各显神通
TRIZ理论在“数据结构”多媒体教学中的应用