APP下载

《数据结构》教学改革研究

2012-09-12胡章平

重庆高教研究 2012年5期
关键词:数据结构计算机专业结构

胡章平

(重庆文理学院软件工程学院,重庆 永川 402160)

为了进一步深化重庆文理学院教育教学改革,探索应用型人才培养规律,重庆文理学院实施了新一轮人才培养方案,配合学分制改革试点,明确学校今后教学研究与改革的范围及方向,推动学校教育教学改革,提高学校教育教学质量水平.其中,对于应用型学生的培养,探索学生实践教学的新途径和新方法是至关重要的一个环节[1].

《数据结构》是计算机专业的一门重要专业基础课.本课程的目的是使学生了解数据对象的特性,学会数据组织的方法,掌握现实世界中的问题如何在计算机内部表示的方法,培养学生基本、良好的程序设计技能.学生在初步掌握计算机基本知识并学会使用一种计算机语言的基础上,学习了数据结构之后,能够结合实际问题有意识地选取合适的数据结构和正确的算法,设计出更合理、运行效率更高的程序.在理解基本概念的基础上,掌握设计数据结构与算法的主要原理和方法;研究解决常用问题的经典算法,以提高学生使用计算机解决问题的能力[2].如何提高学生的抽象思维能力和程序设计的能力,培养学生对该门课程的兴趣,是《数据结构》教学改革中应该探索和研究的问题.

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

这门课程教学要求相对比较高,不但要求学生掌握数据结构的基本概念,而且还要在此基础上用程序设计语言进行算法描述及分析.因此,要求学生有较为扎实的数学基础和较强的逻辑推理能力,而且还要具备一定的分析能力和动手能力.

数据结构中涉及到大量的概念、模型及操作算法,都较为抽象,学生理解起来有一定的困难,教师教学难度也比较大.

学生对描述算法的程序语言掌握得不够好.现在,部分数据结构的教材采用的是C语言描述算法,在刚刚学完C语言的基础上,大部分同学对结构体、指针、链表等知识点掌握得都不够深入.因为学生没有扎实的程序设计语言的基础,导致不能独立完成数据结构的实验,因此学生对这门课程便逐渐失去了学习兴趣.

2 《数据结构》课程改革方案

2.1 改进教学方法,提高课堂效率

大学课堂应该注重两个方面的内容讲授:一是具体知识内容,二是科学的思维方法.如果采用科学的教学方法,教师所传授的知识便易于被学生有效吸收,同时其解决问题的思想方法也容易被学生所吸纳并转变为一种潜在的能力.思维方法在学生创造力培养方面起着主导作用,而学生对这些方法的掌握,需要通过教师的具体教学方法来引导.

对于《数据结构》中的许多抽象概念和算法,以教师为中心的教学模式起不到很好的效果[3].学生只是一味被动地接收知识,而这些知识有什么用、该怎么用都不清楚.因此,在教学过程中,应始终围绕问题而展开教学活动,引导学生不断发现问题、分析问题并最终解决问题,以培养学生的创造性思维.故应在教学中采用以学生为主体、以问题为中心的教学模式,充分调动学生的求知欲,提高他们的积极性和主动性.

因此,在教学过程中,教师应结合每个章节的情况采用不同的教学方法,避免只注重概念不注重应用的纯知识灌输式教学,而应采用启发式、案例式等教学方法,引导学生去思考问题并解决问题.

2.2 加强实践教学,提高解决实际问题的能力

当前,国内几乎所有高等院校都开设有计算机专业,但通常只注重学生计算机基础理论的培养,缺乏实践训练,导致学生毕业后无法满足企业的实际要求[4].《数据结构》是一门理论性和实践性很强的课程,它需要理论教学的结果来指导实验教学的过程,更需要实验教学的过程来强化理论教学的效果,因此,实验教学是培养学生动手解决实际问题的能力的关键途径[5].

要完成数据结构课程要求的实验目标,需要学生有较好的程序设计基础,程序语言基础是提高实践教学效果的关键因素.C语言是广泛使用的算法描述语言之一,而要实现一些较综合的实验题目,需要学生能灵活运用指针、结构体等知识.因此,从2011届开始,重庆文理学院在制定人才培养方案时增加了24学时来学习C语言的指针、结构体、文件等部分,将更好地保证数据结构的实验教学效果.

其次,在制定考核评价方式时应加重实验成绩在期末总成绩中的比例.目前,实验成绩在期末总成绩中只占10﹪~20﹪,导致学生对实验过程不够重视.考核评价方式一定程度上能对学生的学习起到一个引导作用,因此,如果增加实验成绩在期末总成绩中的比例,将更能引起学生对该课程中实践部分的重视.

2.3 注重课程教学内容的有机整合

数据结构的研究内容包括逻辑结构、物理结构(存储结构)和运算等三个方面.数据的逻辑结构是指数据之间的逻辑关系,主要有四种基本结构:集合(在数据结构课程中一般不讨论)、线性结构、树形结构和图状结构;数据的存储结构主要包括顺序、链式等方式.数据的基本运算有查找、插入、删除、更新等.数据结构课程的主要内容如图1所示.在教学过程中,教师要注意承前启后,善于总结,把内容前后串起来,从而有利于学生对知识的理解和掌握;还要把握其内在联系,注重有关内容的前后呼应,对各种不同的数据结构的特点与操作,适时进行相应的归纳、总结与对比.

图1 数据结构主要内容

首先,在绪论部分,一定要让学生搞清楚抽象数据类型的概念、实现方法和为什么要进行抽象类型定义.因为不管是线性表、栈、队列,还是树和图,都要对它们进行抽象定义.抽象数据类型是学好数据结构的一个理论基础.然后我们沿逻辑结构这条主线展开,循序渐进,由浅入深地让学生从理论上弄清各种数据结构的逻辑关系.在讲解每种结构时,先讲逻辑结构,再讲存储结构,最后讲运算.在学习查找和排序两种操作时,对多种查找和排序的方法进行类比和对比教学,并且先讲实例再讲思想,最后讲算法,让学生在真正弄清楚每一种方法的基础上,在解决实际问题时能根据情况去选择合适的最优的方法.

总之,在教学时应注意知识点的横向和纵向的联系和比较.比如,线性结构中线性表、栈、队列应进行逻辑结构的比较,它们在存储时的相同点和不同点也应进行比较;以线性结构为基础,在后面学习树和图时再与此进行比较,以促进学生对知识点的整体把握.

2.4 培养学生的学习兴趣

兴趣是最好的老师.如果不注意教学的生动性,学生的学习只能是一种被动的行为,为了考试而学习,将起不到应有的教学效果.激发学生的学习兴趣的有效方法就是要变被动学习为主动学习.在理论教学时,可以针对教学内容设计一系列课堂讨论题目,组织学生进行课堂讨论.另外,在讲每一种数据结构的应用时,可以结合生活中的具体实例.比如,用“迷宫问题”等可以帮助学生理解数组、递归及回溯问题[6];用“猜数字游戏”解决二分查找问题.在讲图的最小生成树、最短路径时,可以让学生具体去采集一些身边的数据,然后再画图、编程、运行程序等.在实验教学时,也应该紧密结合理论知识,找一些实际案例让学生完成编程.比如:链表部分的约瑟夫环,队列部分的停车场问题、病人就医问题等.但也应注意一个原则,就是要注意难易程度的把握.如果难度太低,达不到提高编程能力的目的;如果难度太高,学生望而却步根本做不出来,打击其学习积极性.总之,在教学过程中要特别重视学生学习兴趣的培养,只有学习兴趣提高了,才能提高学生的学习自觉性,以保证达到好的教学效果.

3 结语

本课程要求学生学会数据组织的方法,运用求解问题的策略设计算法;能够结合实际问题选取合适的数据结构和算法,设计出更合理、运行效率更高的程序;运用算法复杂性理论分析所设计算法的时间和空间效率.在教学中除了强化实践、提高学生软件设计的综合能力外,还应在教学中培养学生的学习主动性,培养学生的学习兴趣,以提高学生的实践应用能力.

[1]马新强,黄羿.应用型本科院校计算机专业学生实践能力培养研究[J].重庆文理学院学报:自然科学版,2011,30(6):78 - 80.

[2]周海岩,陈宏明,殷路.《数据结构》课程教学的思考[J].教育理论与实践,2010,30(6):62 -63.

[3]贾庆节,栗红生.数据结构课程教学改革与探索[J].中国成人教育,2009(22):152-153.

[4]王瑞胡,罗代忠,张莲.应用型本科院校计算机专业引入北大青鸟Aptech课程体系的实践研究[J].职业技术教育,2010,31(11):26 -28.

[5]彭声泽,李琼.培养计算机专业学生实践创新能力的探索[J].计算机教育,2007(7):60-63.

[6]马秋菊,孔小利,马晓晨.加强《数据结构》课程建设培养学生应用与创新能力[J].石油教育,2004(5):72-74.

猜你喜欢

数据结构计算机专业结构
《形而上学》△卷的结构和位置
数据结构线上线下混合教学模式探讨
“以赛促学,以赛促教”促进计算机专业教学理念创新与实践研究
论结构
论《日出》的结构
“翻转课堂”教学模式的探讨——以《数据结构》课程教学为例
高职高专数据结构教学改革探讨
计算机专业理实一体化实践教学模式研究
CDIO模式下计算机专业实践教学改革策略研究
职业高中计算机专业教学改革浅析