高校计算机专业 数据结构教学改革的探讨
2022-05-25冯江辉
摘要:数据结构课程在计算机专业中具有一定的地位,课程教学从教材、讲授、实验指导都体现了先进的教育理念。但在实际的教学当中,数据结构课程对学生来说比较难以理解,学生在学习的过程中具有一定的困难,这也就导致了当前课后教学中存在一些问题。本文阐述了数据结构课程在高校计算机专业中的作用,对数据结构教学中由于授课对象存在一定的差异性、教师没有明确的教学目的、教学方式单一化、学生缺乏实践活动和缺少对网络资源利用的基本现状作出分析,探讨了高校计算机专业数据结构教学改革的方法。
关键词:计算机专业; 数据结构;教学改革
一、引言
数据结构是计算机专业学生需要学习的一门具有基础性的核心课程,其中包括如何组织各种数据在计算机中进行存储、转换和传递。但教学内容也存在着一定的抽象性,学生在没有接触了解过的前提下,对这门课程的学习具有一定的难度。所以教师要保证学生的学习成果,主要内容应以课堂讲解的模式,先让学生具有初步的认识和了解,再辅以一定的实践操作活动,使学生能够很快地掌握课程的主要知识和解决相应问题的办法。
二、数据结构课程在高校计算机专业中的作用
(一)数据结构课程的特点
数据结构是计算机专业的基础课程,采用国内的专业教材,结合实际的理论研究和科研动态,以课堂教学为主,以大作业和上机实践为辅的课堂模式,培养学生的专业水平。数据结构课程内容侧重于对理论知识的理解和掌握,它是一门集技术性、理论性和实践性于一体的综合性课程。介绍抽象数据类型和基本数据结构,阐述各种数据结构内在的逻辑关系,讨论各种数据结构在计算机中的存储表示及算法实现。虽然课程内容比较难以理解,但对培养学生的专业思维和形成独立的风格具有一定的帮助,所以教师在进行课程教学时,应注重如何让学生能够进入课堂教学,将抽象的理论定义用简单的知识进行阐述,强化学生的学习能力,同时还考验着教师的教学水平[1]。
(二)数据结构课程的作用
对于计算机专业的学生来说,对数据结构课程的学习具有重要的作用,学生在学习后能够对计算机专业具有一定的了解,为学生未来在计算机行业的发展奠定了一定的基础,也是今后工作的重要内容。数据结构课程是计算机专业学生的一门基础课程也是必修课程,学生在进行计算机专业的学习就要先经过数据结构这门课程的学习。它的内容包括:数组、链接表、栈和队列、递归、树与森林、图、堆与优先级队列、集合与搜索结构、排序、索引与散列结构等。课程采用面向对象的观点讨论数据结构技术,并以兼有面向过程和面向对象双重特色的C++语言作为算法的描述工具,强化数据结构基本知识和面向对象程序设计基本能力的双基训练。主要是让学生在学习课程之后能够充分掌握重要数据结构的概念、使用方法以及实现技术的同时学会做简单的算法分析,包括算法的时间代价和空间代价。因此数据结构在计算机专业学习中具有非常重要的作用,也为后续计算机专业课程的学习打下坚实的基础。
三、高校计算机专业数据结构教学中存在的问题
(一)授课对象存在一定的差异性
由于学生的学习能力和接受能力的不同,学生之间就具有一定的差异性,对计算机专业的学习也是如此,有些学生的学习能力比较强,对于一些专业的理论知识就能很快地理解,但与之相反,有些同学对专业的理论知识就比较难以理解,尤其是数据结构这一课程,对于理论知识的理解能力有着比较高的要求,很多知识比较抽象化,很容易产生两极分化,理解能力相对差的学生可能会花费大量的时间去学校,就会影响整体的学习进度,也会影响学生的学习成果。但教师如果知识强调比较浅显的理论知识的讲解,对于学习能力比较强的学生来说,不利于其创造性思维的发展[2]。
(二)教师没有明确的教学目的
很对教师对数据结构课程的教学只要求学生掌握一些基本的内容和操作,在授课过程中由于教学内容理论性,知识点比较抽象化,导致学生在课程学习中具有一定的困难,也不能理解学的内容到底是什么,有什么用处。在实验课上也不能实际地去分析问题,对问题存在一定的疑惑性,这样就很难能在实验中应用数据结构所学的理论知識。而数据结构中大量算法,理解一个算法并不仅是能把一个算法表面上的东西记住,然后自己能复写出来而已。真正的理解是理解算法的思想,为什么要这么做,有什么好处,与别的解决一个问题的算法相比,优劣在哪?以及处理问题的时候,能用这个思想方法来解决不同的问题,绝不仅限于算法本身,算法只是表象,思想才是实质。
(三)教学方式单一化
目前,许多院校的教师对数据结构课程的教学仍然以传统的教学方法对学生进行教学,主要以教学大纲为主,将课程内容的各章各节进行分类,按照规定进行对教材内容的讲解,对于课程的重点内容没有很好地突出。教师在进行授课时,就只是将教材内的内容讲解给学生,没有突出重点,也没有将具有联系的知识点进行串联,学生在下面听,一股脑儿地接受所有的知识,在实际操作中的教学也是如此,学生在进行操作时大多是按照要求按部就班地开展实验,这种灌输性的教学对学生具有一定的影响,压制了学生创造性思维的形成,不利于学生进行独立地思考问题和解决问题[3]。
(四)学生缺乏实践活动
在实际的课堂当中,教师大多是以理论基础为主,对实际需要操作的内容相对来说比较少,学生就只是掌握理论知识,对后续的学习起不到有效的帮助。而实际上,理论课程与实验教学过程往往是单独开设的,两者的授课教师具有不同的教学观念,如果在教学当中没有及时地沟通交流,可能导致知识点没有有效的衔接,教学内容很容易产生空白,导致理论课程与实践课程之间缺乏联系,可能对后续的教学产生不同的问题,使学生不能深入地了解所学的知识。计算机专业在本质上就具有一定的实践性,就算学生掌握足够的理论性知识,但这对学生来说还不够,只有多参与实践,将理论知识与实际操作相结合增加实际的操作经验,才能将理论知识“吃透”,才能够独立地完成对不同程序的编写以及相关软件的操作。
(五)缺少对网络资源的利用
学生在进行数据结构课程的学习时的主要途径就是教师在课堂上的讲解,但这门课程实际上具有一定的难度,所以,学生仅仅依靠教师的讲解进行学习,就具有一定的局限性,对课后的复习和实际操作也是非常重要的。而现如今的网络信息技术逐渐被普及,很多学校也积极地应用网络教学,为学生搭建学习课程的网上平台,也方便学生的进行课前的预习和课后的复习,但这些平台大多只是课程相关的题库,内容比较复杂,且不够多样化,学生在做题时容易遇到困难,所以不适合学生自学,效果不理想,也不能激发学生的学习兴趣[4]。
四、高校计算机专业数据结构教学改革的探讨
(一)改变传统的教学模式,增加学生的主动性
从课堂教学上来看,由于学生具有一定的差异性,教师在进行数据结构的理论讲解时,应该适当地增加一些现代化的元素,吸引学生的注意力,在传统教学模式下加入一些案例增强学生的理解能力,结合实际的现实生活案例,以多媒体PPT的形式展现给学生,让学生能够通过各种案例的实施发现其中的问题,并根据问题作出独立的思考和解决,能够尽量地减小学生之间的差异性,真实的案例分析能够提高学习能力较差学生的理解能力,而对于学习能力强的学生也可以让他们通过实际案例引发思考,培养学生的创造性思维。从实验课程的教学来看,应该结合学生的实际学习情况和个体差异性,将学习能力强的学生和学习能力不高的学生组成一个实验小组,让学习能力强的学生能够起到一定的带动作用。
在实验课程开始之前,教师可以布置一些能够考查学生学习效果类的实验项目,学生通过对项目的了解和掌握的理论知识进行实际操作,使学生在操作过程中能够充分理解相应的理论知识,在课程结束后,应依据课程内容要求学生完成实验报告,将实验过程和实验结果完整的体现在实验报告当中,进一步加深学生对教学内容的理解。
(二)合理安排教学内容,强化教学目标
数据结构课程的教学内容具有理论性比较强的特点,教师在开课之前,应该与本校教师进行研讨,清晰教学目标,根据教学大纲将课程内容进行大致梳理,对课程内容进行严格筛选,对每章每节的教学要有合理的安排,以以往的教学经验分析学生的需求。
在进行授课时,要结合教学任务和学生的实际学习情况,调整教学内容,重点的知识详细讲解,反复讲解,尽量让所有学生能够理解重点知识,对相对简单的教学内容就可以粗略地带过,比如说一些浅显的定义,操作步骤等,也可以留在课后让学生自主进行学习。
这样能够让学生充分地了解到哪里是重点知识,需要付出努力学习,哪里是不太重要的知识,可以大致地学习,这样的教学效果,可以突出重点教学内容,对知识的划分也比较明显,方便学生理解和学习,教师也能更好地完成教学任务,提高整体的教学质量[5]。
(三)充分利用理论知识,提高学生的实践能力
对于理论知识的学习,实际上也是为学生的实际操作奠定基础,上机操作也是获取知识的重要手段。教师在课堂上的理论讲解只是起到一定的引导作用,实际上还需要学生进行自我思考和实际的操作,除了读懂教材上的内容外,也需要其他相关资料对其进行补充,并且根据所学的内容做题,加深印象的同时也能够理解对知识的运用,才能掌握好知识点。其实目的也就是通过阅读和做题提高自己对问题的思考以及解决的能力,为此院校方面应该结合课程的实际内容,多开展相应的实践操作机会,要求学生珍惜实验机会,真正做到学有所获。学生在做上机实验前,应事先将程序、调试数据、上机操作顺序准备好。以实际提高学生自身的操作能力和上机效率为主,严禁抄袭或拷贝他人的成果,自觉培养科学、严谨的作风。除了院校提供的实际操作机会外,学生也可以利用自己的计算机自行进行操作练习,通过大量的实践操作提升自己的学习能力和知识水平[6]。
(四)利用启发式教学,提高学生的学习兴趣
数据结构课程是一门需要不断深入了解并思考的课程,因为这个课程当中包含了很多成熟的算法,这些算法其实都很经典,学生如果能够完全掌握的话,对其后续的学习和发展都具有很重要的作用,但这些算法对于大多数学生来说比较难以理解。所以,教师在授课过程中,还是要将重点放在引导学生思考,多强调算法思想,在课堂上也可以通过各种经典案例的分析,让学生通过学习可以在了解理论知识的同时提高对不同问题的思考和解决能力。经过调查显示,大多数学生对数据结构这种理论知识比较多的课程不感兴趣,难以激发他们的学习积极性,究其原因就是因为他们让位这门课程没有什么实用性,除了会在学校学习和考核外,以后很可能不会用到,而且学生在课程当中也会产生学好数据结构有什么用的疑惑。因此教师在授课过程中应该注重实践,引导学生在实际生活与数据结构课程中的联系,以此来提高学生的学习积极性。
具体来说,当用计算机来解决实际问题时,就要涉及数据的表示及数据的存储和处理,这正是数据结构讨论的内容。教师在讲解重点内容后,可以对学生提出一些启发性的问题,引导学生将所学的内容与现实生活之间的相关联系,这样不仅可以促进师生之间的双向互动,也可以调动学生的学习兴趣[7]。
(五)建立网络平台,充分利用数字化课程教学
学校方面应该针对不同的课程,与全国各地的高校进行沟通交流,建立适合教师与学生共同学习与交流的网络平台,丰富教学资源。尤其是偏远地区的高校,在师资力量教学设备有所匮乏时,就可以积极鼓励学生进行网络课程的学习。网络课程具有比较全面系统的课程大纲,也可以将与数据结构课程相关的课程和知识点进行联系,细化课程中的重点内容。而且网络课程对学生来说具有一定的自由性,学生可以按照自己的学习情况进行网络课程的学习,在课堂上没有听懂的内容也可以在网络课程上进行反复的学习观看,直到能够明白为止,也可以在课堂学习之后,面对自己难以理解和消化的知識点进行复习和巩固。也可以从学校搭建的网络平台上查找与数据结构有关的试题进行自我检测,遇到问题时可以以留言的形式向各个高校内的教师和同学进行提问,也可以互相交流对数据结构网络课程的心得体会。
所以网络平台的搭建,可以有效地激发学生的学习兴趣,提高学生学习课程的积极性从而能够自主学习,也可以弥补教师思想观念和课堂教学存在的不足之处。
五、结束语
总而言之,数据结构是计算机专业的核心课程,不管是教师还是学生本身都应该引起一定的重视,教师在进行授课时必须要引导学生正确的思考方式,将理论知识与实践活动相结合,通过现代化的教学手段,尽可能提高学生的学习能力,满足学生的学习需求,并且对其中存在的问题及时做出调整和改正。
作者单位:冯江辉 湖北文理学院理工学院
教改项目:本文系湖北文理学院理工学院2019年度校级教研项目立项支持的“《数据结构》课程混合式教学的实践与效果研究”课题(2019JYYB09)部分研究成果。
冯江辉(1986-), 男,汉族,山东荣成,硕士研究生,讲师,研究方向:云计算,大数据。
参 考 文 献
[1]杨艺.新时期高校计算机专业教学改革研究——评《计算机专业教学改革研究》[J].教育发展研究,2020,40(1):1.
[2]林基艳,张雅琼,张慧,等.”互联网+”和”新工科”背景下榆林地方院校计算机专业教学改革研究[J].微型电脑应用,2020,36(1):4.
[3]李悦.高校计算机教育教学实践与创新[J].食品研究与开发,2020,396(23):
245-245.
[4]黄海龙,兰娅勋.高校计算机教育教学课程改革研究——评《计算机教育教学课程研究与实践》[J].林产工业,2020,v.57;No.341(09):110-110.
[5]杨海峰,蔡江辉,赵旭俊,等.新时期普通高校算法与数据结构课程教学灵魂理念——选择与设计[J].高教学刊,2021,7(29):4.
[6]颜慧.基于新工科教育理念《数据结构与算法分析》课程教学改革与实践[J].电脑知识与技术:学术版,2021,17(4):3.
[7]王兰,李向前.基于独立学院数据结构课程教学的应用型人才培养模式的研究[J].课程教育研究,2020,000(16):2.