喻剑平
(荆楚理工学院电子信息工程学院 湖北 荆门 448000)
面向电类专业的数据结构课程教学改革研究
喻剑平
(荆楚理工学院电子信息工程学院 湖北 荆门 448000)
数据结构是电类专业一门专业选修课程,由于课程具有知识点分散、先行课为C语言程序设计等特点,实际教学效果并不理想。本文主要分析目前电类专业数据结构课程教学现状及其存在的教学问题,从培养学生的兴趣和掌握编程思想出发,为提高学生的编程能力和解决实际问题的能力,在教学过程中对教学方法进行一定程度地研究和探索,提出一些可操作的建议。
电类专业,数据结构;教学改革
随着互联网+概念不断深入,数据结构作为电类的一门专业选修课程,虽然没有专业基础课重要,但对于电类专业学生来说是以后继续深造和从事软件编程工作的一门重要的课程。学习程序设计,一定要灵活运用,数据结构的学习也一样,然而要让学生做到对知识点深刻理解并灵活应用存在一定难度。针对数据结构课程中的教学问题,结合本人的教学实践,谈谈数据结构教学中的一些见解。
2.1 知识点繁杂,认知任务重。数据结构一般开设在第三或第四学期,它的先行课是C语言程序设计。对于非计算机专业学生来说,C语言程序设计的知识与本专业相关性不大,时间长了自然生疏、掌握不牢,现在要在此基础上学习数据结构,对他们来说有点难度。而数据结构是一门理论性比较强的课程,由于其概念抽象,算法经典和复杂使得该课程的教学难度较大,增加了学生的学习任务,成为学习过程中的障碍。
2.2 教学内容与专业相关性不大。目前电类专业数据结构课程不能和本专业的其他课程知识建立有效联系,无法满足电类专业的实际需求,学生只能孤立地学习该课程。很多学生在学完后不知道如何在实际编程中予以应用,学习目标不明确,认识不到它的重要性,使得学生主动学习的积极性不高。
老师在教这门课之前一定要明确其目的是学习算法思想而不是程序。否则可能会把数据结构当成编程语言课的“升华”和“提高”,教学时带领学生去读和讲解算法程序。不管是C语言程序设计还是数据结构,对课程章节知识点的编排始终沿着一条主线展开,及以“程序=数据结构+算法”为主线铺开。如果沿着这条主线梳理教材的知识点,就会发现每个知识点的前后关系,两门课程的详细分析过程如图1所示。学习数据结构的目的是根据实际问题中的数据选择合适的数据结构,设计合适算法并编写程序,解决实际问题。
图1 主线串接知识点
上每节课时都应该以“思想第一,实现第二”为教学主线,以算法思想为主,程序实现为辅,适当地教学生如何用程序实现思想,培养学生利用编程思想来解决实际问题的能力。让学生理解程序的根本是数据结构和算法。举例来说,写程序就好比设计电路,想要设计一个什么样的电路,电路要实现的功能以及具体的参数等数据要做到心中有数,一定要有规划,才能设计出满足功能和相关参数的电路。
电类专业学生对C语言程序设计还不能灵活运用,不能很好的将类C语言(伪代码)描述的算法转化为可执行程序,无疑增加了学生学习的难度。所以在选择教材上,教材中的算法最好是经过编程软件调试过的完整代码,能够让学生直接用到编程软件中运行,方便学生学习和理解。
“兴趣是第一动力”,学生有了兴趣才会提高学习的积极性,尤其对于理论性较强的数据结构来讲,学生的兴趣更为重要。如何激发学生的兴趣呢?主要是让学生了解所学知识能解决实际问题。例如我们讲线性表时,可以用约瑟夫环问题来导入,在学完这章内容后,再拿出约瑟夫环问题,和学生一起分析用哪种存储结构来解决,之后再引入新的问题,如何报数,当数到m的人时又如何出列?将这些问题转化为线性表的相关知识点。通过分析,让学生有了一定的解题思路,可以选择循环单链表来描述这种数据结构,用指针来报数,当指针指到m的人时进行删除操作,直到链表只有最后一人为止。然后将算法思路转换为程序的各个功能模块,包括循环单链表的定义和创建,用指针循环数数,以及删除指定结点,让学生根据各个功能模块写出相应的程序代码。最后让学生将程序用编程软件来调试和运行。使学生从中逐一体会到如何用自己学过的知识解决实际问题。
这里需要注意的是,引入的实际问题不能太难,不然学生就没有兴趣继续学习。我们可以在教学中引入一些小型实用的软件开发项目,帮助学生掌握实际编程时选择哪种数据结构的方法。例如:大多数学生喜欢玩游戏,但不知道数据结构的原理在游戏编程中如何应用。像游戏中某些“怪物”的反应可通过构造哈夫曼树来作为判定树设定算法;而游戏“连连看”就涉及到相同图形之间最短路径的求解。通过这些例子,让学生知道在软件开发过程中数据结构扮演的重要角色。明白学以致用,帮助学生理解知识点,提高应用能力。
数据结构着重于提高学生算法设计与编程能力的培养。通过多读程序,分析别人的程序设计思想,从中汲取编程经验。其次就是要多练,养成读懂问题、设计思路、编写程序、上机调试并分析程序运行结果的良好程序设计习惯。不管上理论课还是实验课,最好选择在机房上课,可以充分利用现有的信息化教学资源,教学效果会更好。
老师可以直接用Word作为黑板,而不需要一会操作电脑一会站起来到黑板上板书,原来用板书完成的事情均可用Word实现,为了节约课上时间,还可以结合PPT演示相关的图表。而算法程序可以直接启动Visual C++或其他编程工具进行编写、修改、调试和运行。Word黑板的特点是直观性较强,与学生面对面,克服了板书不雅和反复檫黑板的麻烦。采用PPT演示相关图表,节约了画图和表的时间。而利用编程工具直接编程和调试运行,可以让学生看清如何在读懂算法的基础上进行编程,以及后续的录入、调试运行和评价程序。这种教学方式直观性强,易于理解和掌握算法的基本思想和编程工具的操作过程。
很多任课教师热衷于制作多媒体课件,通过事先做好的演示文稿进行教学。但是对于像数据结构这类程序设计课程的教学,有着其自身的特点,单纯使用多媒体课件教学效果不太理想。而采用Word作为黑板,结合PPT,利用编程工具直接编程和调试运行,充分利用现代化信息技术,学生较容易掌握相关知识点。
总之,在数据结构的教学中根据教学内容使用不同的教学方法,提高学生的学习兴趣,吸引学生的注意力,从而提高学生的学习效率,培养学生分析和解决实际问题的能力。同时,鼓励学生参加大学生科技创新项目、互联网+创新创业大赛、全国大学生电子设计大赛等赛事,让枯燥的知识变成有趣的体验,提高学生主动能力性,给学生创造机会将所学的理论知识运用到实践中去。
[1]李燕.“数据结构”课程中算法实现的学习方法研究[J].计算机时代,2014(11).
[2]周张兰.导入在数据结构课堂教学中的应用[J].科教文汇,2014(11).
[3]孙杰,等.面向工科专业的C语言程序设计课程教学改革探索[J].计算机教育,2016(11).
[4]马靖善.“数据结构”课程实践教学法研究[J].渤海大学学报(自然科学版),2017(1).
TP311.12-4;G642 【文献标识码】A 【文章编号】1009-5624(2018)01-0116-03
参与项目:校级教学研究项目JX-201627:基于“口袋实验室”的单片机实践教学改革探讨
喻剑平(1983-),女,汉族,湖北武汉人,硕士,讲师,主要从事自动化、信息处理方面研究。