对高职《 数据结构》课程教学改革的思考

2011-04-13 04:52徐天为
山西广播电视大学学报 2011年2期
关键词:数据结构C语言程序设计

□徐天为

(山西林业职业技术学院,山西 太原 030009)

《数据结构》在计算机专业中是一门逻辑性强、抽象性高的专业基础课,是介于数学、计算机硬件和计算机软件之间的一门综合性核心课程,主要研究非数值计算的程序设计问题中计算机操作对象以及它们之间的关系和操作等。《数据结构》也是一门理论性很强的课程,学习《数据结构》可以为理解程序、应用和开发程序提供技术和方法支持,进而使学生学会使用计算机有效地组织、存储和处理数据来解决实际问题的方法。

一、《数据结构》在高职教学中存在的问题

高职教学的主要目标是培养高级技术应用型人才,实践能力的培养是重中之重,《数据结构》却重在理论。而高职学生的自身特点决定了理论性课程的教学难度较大,其概念的抽象性、算法的经典性和复杂性、描述语言的先进性,导致在教学中,理论教学和实践教学不能很好的结合起来,加上学生的基础薄弱,学习起来难度特别大,被认为是高职计算机课程中最难学习的课程之一。

“C语言程序设计基础”是数据结构的前导课程之一,学生对C语言程序设计的掌握程度直接关系到数据结构课程的课堂授课和上机实验的教学效果。“程序设计基础与C语言”是学生接触到的第一门编程语言,编程思想与以往的思维方式不同。其中,指针、结构体和数组等知识点是“程序设计基础与C语言”中的教学难点。通过一学期的学习难以熟练掌握融会贯通并具有较高的编程能力,对函数、函数的返回值、函数的参数、调用的理解也不够深入,对递归及递归过程更是难以理解。致使教学效果不理想,学生甚至丧失对该课程学习的兴趣和信心。这些知识点在数据结构课程中会频繁应用,而熟练掌握这些知识点是在数据结构课程中理解理论算法和完成上机实验的重要保证。

《数据结构》课程本身逻辑性强、抽象性高。因此在多年的教学实践中发现, 学生认为这门课程理论性太强、不好学,学了不知有什么用、怎么用;当面对具体问题时,不知该如何应用学过的知识来给出切实可行的解决方案以及编制程序,得到正确的结果。

二、《数据结构》课程改革的新思路

要解决上述问题, 首先要加强理论教学,教师在教学过程中尽量多采用一些动态效果来描述算法的思想,使学生易于接受和理解, 并加深印象;其次尽可能多地将前后内容联系起来从中寻找一些规律进行归纳提炼和使其系统化,使学生能较好地理解各个知识点间的联系,从而“削减”课程的复杂度;最后通过合理、有效地设计实验内容,来强化理论教学的效果。具体措施如下:

熟悉相关课程的知识点。授课前要了解学生的前导课程“程序设计基础与C语言”的学习掌握情况。应与“程序设计基础与C语言”的授课教师做好教学的沟通工作,做好课程之间的衔接,将数据结构课程中经常用到的知识点重点讲授并加强上机实践。在讲数据结构算法之前复习C语言中的指针、结构体和函数等知识点;布置涉及这些知识点的课外编程作业,通过作业批改发现学生存在的问题然后集体重点讲解;要求学生在课余时间认真复习C语言,在本课程的教学过程中,同时设置、讨论、检查C语言相关内容题目,穿插教学、温故知新。

采用授课与设问相结合的教学方法,提升学生的学习兴趣。教学中强调学生思考,针对基础不同的学生采用不同提示和设问,提高学生的学习信心。除此之外,还应根据学生对基础内容的掌握情况来设计上机实践内容,采用对不同学生进行不同提示和设问的教学方法,在实验过程中充分发挥每个学生的思维能力和实践能力,通过实验, 使每个学生都有不同程度的收获,以提高他们对该课程学习的自信心。

通过实例教学调动学生学习兴趣。所谓“实例教学”,就是对课程中的重点、难点内容,选配适当的例题、运用恰当的比喻进行演示和说明,把抽象的内容具体化、形象化,帮助学生理解掌握这些内容,并适当加以引申,引导并激发学生作进一步的思考和探索。在教学过程中, 应结合学生实际,结合日常生活中实例的现象进行比喻说明,使用更加通俗、形象、生动、直观的教学语言和教学方法进行讲授,注重激发学生的学习兴趣,更有效地帮助学生理解和掌握课程内容。通过比较有趣的实例,学生可以较容易地理解一个较复杂的知识点,在理解的过程中获得成就感,从而更大程度地激发他们的求知欲望,逐步形成一个良性循环的学习过程,激发继续学习的欲望。

例:在讲解栈和队列的概念时,分别举出日常生活中的事例。如栈的例子,穿、脱衣服时, 一层一层往身上穿相当于进栈,脱衣服时,又反过来一层一层地向外脱相当于出栈。队列的例子,在公交车进站时, 按照先后顺序依次进行排队等候,相当于进队;公交车出站时,又从站内一个接一个地出站,相当于出队。人们为了购物时所排的队就是一个队列,新来购物的人接到队尾( 即进队),站在队首的人购到物品后离开( 即出队),当最后一人离队后,则整个队列为空。

设计综合性实验内容, 提高学生实践创新能力。综合理论教学和实践教学的结果, 组织学生以小组为单位,布置综合性的题目, 或者由学生自己寻找感兴趣的题目,教师引导学生全面、综合地运用所学的基础知识来解决实际问题, 如开发一套具有借书、还书、查询、统计等功能的图书管理系统;或编一个学生爱玩的游戏等,使学生进一步掌握数据结构的应用和软件开发的方法, 提高学生分析问题、组织数据、解决实际问题的能力。学生在整个过程中,可以相互讨论、交流,充分发挥学习积极性, 发挥团队精神,共同进步。实验过程中,及时了解学生对知识的掌握情况、题目的完成情况和学生意见, 有利于及时调整教学方法,提高教学效果。

注重知识点的分类比较、适时总结。《数据结构》课程中很多内容是具有类比性的, 在具体教学过程中需要把握这个特点, 充分挖掘出内容相关的知识点进行分类对比。如对于《数据结构》内部排序的学习,总共要讲述近十种排序方法,对于每一种排序方法都要讲清楚排序算法的执行原理、算法的执行效率、算法的执行步骤以及所需存储空间的情况。在教学过程中可以对所有算法从时间复杂度、空间复杂度、稳定性等方面进行列表、归类、对比;然后给出具体的一组待排序数值序列用不同的排序方法通过多媒体演示的方法分别进行排序,学生就可以轻松掌握各种排序方法。《数据结构》课程中有很多内容是层层递进, 前后联系的, 应做到举一反三,适时总结。这就要求在教学过程中要承前启后、不断总结、及时复习、注重理解,把有联系的内容相互串联起来形成一个完整的知识体系。

就业为主导,推行证书教育。高职学生的教育是以就业为主旨的,从“一切为了学生的学习和就业”的角度出发,应努力推行证书教育,为学生的高质量就业增加一个砝码。目前计算机行业中最权威的认证就是“全国计算机技术与软件专业技术资格(水平)考试”, 而《数据结构》是考试的重要内容,因此可以推荐学生参加此类资格考试。考试中的大量算法均来自《数据结构》这门课程。所以在《数据结构》教学过程中,根据资格考试的大纲要求,切合学生实际,增加部分教学内容,让学生为参加资格考试提前准备。

三、结束语

由于《数据结构》课程在计算机专业课程中的重要性,及其较强的理论性和实践性,通过进行合理、有效、系统地组织教学及实验,形成一个以教学方法、内容和手段为一体的教学体系的改革,才能有效地提高教学效果,进一步提升学生学习《数据结构》的积极性,提高分析问题和解决问题的能力。

参考文献:

[1]严蔚敏,吴伟民.数据结构(C 语言版)[M].北京:清华大学出版社,1997.

[2]严蔚敏,吴伟民.数据结构习题集(C 语言版)[M].北京:清华大学出版社,1999.

[3]李春葆.数据结构教程(第3版)[M].北京:清华大学出版社,2009.

猜你喜欢
数据结构C语言程序设计
基于Visual Studio Code的C语言程序设计实践教学探索
从细节入手,谈PLC程序设计技巧
基于C语言的计算机软件编程
高职高专院校C语言程序设计教学改革探索
“翻转课堂”教学模式的探讨——以《数据结构》课程教学为例
高职高专数据结构教学改革探讨
PLC梯形图程序设计技巧及应用
论子函数在C语言数据格式输出中的应用
TRIZ理论在“数据结构”多媒体教学中的应用
《数据结构》教学方法创新探讨