《数据结构》课

点赞:4064 浏览:15319 近期更新时间:2024-03-18 作者:网友分享原创网站原创

【摘 要】本文阐述了《数据结构》课程的地位和作用,详细论述了《数据结构》课程的教学过程设计,提出了讲解该课程的理念、方法.

【关 键 词】数据结构,知识体系,教学设计

1课程的地位与作用

《数据结构》是计算机科学与技术专业的核心专业基础课程,是计算机程序设计的重要理论和实践基础,是计算机理论与技术的重要基石.《数据结构》上承高级语言程序设计,下启算法分析与设计,是计算机科学与技术人才素质框架中的脊梁骨,对学生能力培养至关重要,向来是计算机本科教学的重中之重.调查表明已毕业的学生通过他们的工作实践认为《数据结构》是最有用的课程之一,这也从另一方面说明了该课程的重要性.

计算机科学与技术专业的培养目标之一是掌握计算机科学与技术的基本理论、计算机软/硬件基本知识及应用技术,《数据结构》在培养目标的实现中具有举足轻重的作用,是理解计算机科学与程序开发技术的关键课程.作为一门重要的专业必修课程,《数据结构》课程既是对以往课程的深入和扩展,也是为将来更加深入地学习其他专业课程打下基础.课程中所学习的排序问题的算法,以及基本的树、图等数据结构,是计算机科学的基本功.B+树等高级数据结构,也是数据库、操作系统、编译原理、计算机网络等后续课程的基础.《数据结构》是计算机专业考研的统考课程,也是很多大赛(“蓝桥杯”、ACM等)必涉及的知识.

《数据结构》与其它课程关系如图1所示.

图1《数据结构》与其它课程关系

《数据结构》在培养目标中的作用如图2所示.

图2《数据结构》在培养目标中的作用

2课程的教学目标与主要内容

2.1课程的教学目标

学习本课程后,应达到下列基本要求:

(1)理解数据结构的基本概念,

(2)熟练掌握线性表、栈、队列、树、图等常用数据结构的基本运算的实现及应用,

(3)熟练掌握排序和查找的常用算法及应用,

(4)能够对算法进行时间复杂度度、空间复杂度的分析,

(5)培养学生分析数据、组织数据的能力,能够根据实际问题来选择合适的数据结构,设计有效的算法.

2.2教材与主要参考资料

教材

耿国华《数据结构(用C语言描述)》,高等教育出版社,2011年

教材选择的依据:

(1)该教材跟踪技术发展需要,体系科学,是“十一五”国家级规划教材.

(2)该教材理论的阐述由浅入深、通俗易懂.

(3)该教材理论结合实际,配有大量的例题、习题与实习题.

主要参考资料

[1]严蔚敏,吴伟民《数据结构(C语言版)》,清华大学出版社,2006年

[2]张铭,王腾蛟,赵海燕《数据结构与算法》,高等教育出版社,2008年

[3]朱战立《数据结构――使用C语言(第4版)》,电子工业出版社,2009年

[4]王晓东《数据结构(C语言版).》电子工业出版社,2007年

[5]西北大学数据结构精品课程网站

http//:jpkc.nwu.edu./datastr

[6]北大数据结构与算法课程网站

http://.jpk.pku.edu./pkujpk/course/sg/

[7]洛阳理工学院数据结构精品课程网站

http//:jpkc.lit.edu./sg

[8]洛阳理工学院数据结构精品资源共享课程网站

http//:jpkc.lit.edu./ds

2.3知识体系

《数据结构》知识体系可分为分为三大块,如图3所示.

图3《数据结构》知识体系

数据结构课程的基本知识模块是以数据的逻辑结构为主线,顺序介绍线性结构(线性表、栈、队列、串、数组、广义表)、树形结构、图结构.在介绍每种数据结构时,再讨论其存储结构以及相关的算法.在介绍完基本的数据结构及其存储结构和相关的算法后,介绍了两种常用技术:查找和排序.

3课程教学内容安排

3.1课程重点、难点

重点:线性表、栈、队列、二叉树、图典型数据结构的逻辑结构、存储结构和操作的实现方法,各种典型的排序和查找算法思想.

难点:各种数据结构的操作实现和应用

第1章是对数据结构课程的认识,基本概念比较多,概念要讲清楚、准确,第一章要通过丰富的例子讲解如何分析算法时间复杂度,这是贯穿整门课程的内容,也是本课程的一个难点,第2章是整个课程的重要基础,要讲得十分详细,为后面的章节打下良好的基础,第3章的栈与递归的实现是本书的一个难点,要通过例子讲透,并且在第6章还要进一步地讲递归到非递归的转换.第四章内容较简单,而且学生在高级语言程序设计中学习过字符串,因此留给学生自学,也可以培养学生的自学能力.第五章数组和广义表一般讲解即可.第6章的二叉树要详细讲解,第7章的几个关于图的算法较难,要结合例子讲解,第8章中的难点是平衡二叉树的调整和B树,要通过例子把算法的思想讲清楚,使学生能实际操作.第9章要把各种排序的思想、特点讲清楚,特别是较难的希尔排序、快速排序、堆排序、基数排序一定要结合实例讲解.

3.2课时分配

表1总课时:72,理论授课:58,实验:14

4课程实践环节

数据结构是与实践紧密结合的课程,学生学习的理论必须经过大量的实践才能更好的掌握,因此必须强化实践教学.数据结构实践分两部分:一部分是随课程进行的实验,另一部分是课程结束后为期一周的课程设计.通过合理、有效地设计上机题目,改进实验考核方式,调动学生的积极性,启发引导学生掌握基础理论并能创新应用,增强学生综合运用有关知识的能力.实验内容包括六个实验项目,分别为:线性表的基本操作(2学时),栈的基本操作(2学时),队列的基本操作(2学时),二叉树的建立及遍历(2学时),图的遍历的实现(2学时),宿舍管理查询系统(4学时).其中宿舍管理查询系统实验为三性实验.


课程设计是课程结束后进行的很重要的实践环节,本课程课程设计给出14个题目,这些题目都是综合性的,学生可任选一题,完成后要写出课程设计报告.通过课程设计,使学生进一步理解和掌握所学各种基本知识,培养学生综合运用所学的理论知识和方法独立分析和解决问题的能力,训练学生用系统的观点和软件开发一般规范进行软件开发,使学生具备软件工作者所应具备的科学的工作方法和作风.

学生完成实验后,不仅要求学生提交高质量的规范的实验报告,还要引导学生互相交流,开阔视野.好的实验作业要放到班级公共里和所有学生共享.

5课程的建设情况

5.1课程资源情况

该课程教学文件完备.通过多年的教学,积累了必要的一些辅助教学资料(包括教学参考书、参考课件、声像、影像等),并且使用效果良好.补充的学习资料有:

(1)教学网站:http://jpkc.lit.edu./sg/

http://jpkc.lit.edu./ds/

(2)搜集了大量探讨数据结构理论与算法、介绍学科前沿动态的中、英文学术论文和硕、博论文,对其分类整理后在课程教学网站上提供下载链接,以供学生深入研究、学习,

(3)自编《数据结构实验指导书》,

(4)多媒体电子教案的纸制版和网络版,

(5)数据结构与课程实验指导书的纸制版和网络版,

(6)自编的算法演示器,

(7)Flash课件和Flash算法演示,

(8)图书馆内,国外优秀的经典教材.

5.2实验实习条件

所有实验在计算机系机房进行,机房现有的实验平台功能齐全,课程中所涉及的实验项目均可在平台上完成.目前课程实验大纲中所列的实验开出率达到100%,实验教学效果良好.

5.3课程成果

该课程2010年被评为河南省级精品课程,2012河南省级精品资源课程.

《数据结构》课参考属性评定
有关论文范文主题研究: 关于数据结构的论文范本 大学生适用: 在职研究生论文、在职研究生论文
相关参考文献下载数量: 15 写作解决问题: 毕业论文怎么写
毕业论文开题报告: 论文提纲、论文总结 职称论文适用: 杂志投稿、职称评中级
所属大学生专业类别: 毕业论文怎么写 论文题目推荐度: 经典题目

6教学设计

《数据结构》是一门理论与实践相结合的课程.由于理论的抽象性,学生难以建立起数据结构的相应算法概念,容易产生畏惧和茫然的情绪.因此教学中在积极引导学生、启发学生,激发学生学习的积极性.教学以课堂讲授为主,同时借助网络教学平台,拓展课堂讲授的相关知识,便于同学自主学习、巩固课堂所学内容.另外,组织独立习题课,针对学生作业中出现的典型问题进行深入探讨.

在教学中要贯彻“以理论学习为主线,以课程实验、课程设计为补充”的教学思想.

6.1精心组织教学内容

分析学生的需求和现实,同时紧紧抓住教学目的,参考相关院校的教材和教学计划,取长补短,参考考研大纲、软考大纲,对课程的内容进行严格的筛选,删除一些较深且应用不是很广泛的内容,对于重点的内容要精讲、细讲,而对于有些较简单且与先修课程交叉的内容(如字符串与数组),就粗讲,甚至可以留给学生去自学.这样重点突出,简洁明了.在课程内容的安排上由浅入深,循序渐进.对每种数据结构都按三个层次来组织教学内容,并且把这三个层次的思想贯穿于数据结构教学的各个环节.第一个层次,基本概念、方法,这是最基本的内容,学生必须掌握,在学生很好地掌握了这个层次的内容后,可进入第二个层次,基本概念、知识的简单应用,这一层次是对基本概念、知识加深理解,这个层次学生必须达到.第三个层次就是基本概念、方法的深入应用,把所学的知识、方法串起来灵活运用.要达到这个层次,需经过大量的训练才行.

6.2实现数据结构课程与其先修和后续课程的无缝衔接

程序设计语言(如C语言)是本课程的一门非常重要的先修课程,数据库原理、编译原理、操作系统是该课程的后续课程,这些课程不能各自为政,而要无缝衔接,教这些课程的老师要互相交流,这样在讲程序设计语言时可以有的放矢的把和数据结构联系紧密的内容预先告知学生,这样学生就会对相关知识印象深刻,到数据结构课中就很容易用的得心应手.在数据结构课中讲到各种后续课程中用到的数据结构时也告诉学生,并且在后续课程中用到相关数据结构时提醒学生这是这种数据结构在本课程中的应用.这样使学生的知识一脉相承,使学生在学习各门课程时把知识融会贯通.

6.3精讲多练,加强实践环节,培养学生分析问题解决问题的能力

数据结构既有大量的理论又是实践性很强的课程,学生要很好地掌握这门课,必须要有一定的理论知识,又要经过大量的上机实践.因此,针对应用型本科的特点,在教学过程中,即注重理论,又重视实践,加大上机实践的力度.实践由与理论课同时进行的上机实验和理论课讲授完毕后的课程设计两部分组成.对所学的每一部分内容都要要求学生完成相应的实验习题.整个实践过程要结合教学进度与学生的实际情况,制定实践的内容.每部分的实验习题必须精心挑选,和上述三个层次对应,分为基础与验证型实验、设计与综合型实验,开发与创新型实验.既要把基本知识掌握好,又要会灵活运用.基础与验证型实验是基本的、较简单的题目,主要结合课堂理论教学内容展开,学生可以对在课堂上学到的基本算法进行验证,设计与综合型实验是具有挑战性的较难的新颖有趣的题目,让学生充分利用所学的理论知识进行相对较复杂的应用设计,培养学生综合能力,开发与创新型实验培养学生的创新意识,提高综合能力和创新实践能力.

6.4多样化的教学方法

6.4.1启发式教学

教师主要起引导的作用,激发学生的学习兴趣,发挥学生的学习积极性,与学生进行互动,鼓励学生对教学内容提出问题,师生共同讨论,提高教学和学习水平.鼓励学生多动脑子进行思考,在学习过程中不拘于以往的解法,对同一个问题可以提出不同的解法,深化对问题的理解.另外还要强调学生自己学会对知识的总结、梳理、推演和挖掘.总结是教学中一个非常重要的环节,不可忽视.通过对所学内容的总结、梳理、推演和挖掘,理清内容的内在联系,使知识条理化、系统化,加强对知识的理解和掌握,培养学生的归纳总结能力和思维创造能力,对所学内容提炼出精华的东西.(下转第260页)

(上接第167页)6.4.2对比式教学

对同一问题,引导学生从不同的角度去思考,找出多种方法来解决.比如,在解决约瑟夫环问题时,可以采用循环链表作存储结构,或采用线性表的顺序存储结构,也可以采用数组作存储结构.这种对同一问题寻找不同算法实现的教学方式,有效地开阔了学生的思路,同时通过对不同算法的比较,加深了学生对算法的理解和掌握.

6.4.3案例教学

通过实例引入知识点.比如讲最小生成树可以通过城市间建立通信联络网为例引入最小生成树及其求解算法,再比如讲最短路径可以通过去旅游选择最短路径为例引入最短路径及其求解方法.

6.5把课程与考研、软考、相关竞赛有机的结合起来

数据结构是计算机专业考研和软考的必考科目,在教学过程中有意识地把考研和软考引入教学中,使学生学完本课程后能够从容应对考研和软考中的数据结构题目.组织和鼓励学生参加程序员,高级程序员证书考试,辅导学生参加各种编程竞赛比如ACM大赛.

7考核方法

要加强平时的学习过程管理,不定时地进行一些随堂的小测试,课堂提问等.考试以学生完成日常作业和实验环节为必要条件,期末考试采用笔试方式.成绩评定由三部分组成:期末考试占总成绩的60%,平时成绩占总成绩的20%,实验占总成绩的20%,综合考核学生该科成绩.

8结语

《数据结构》对计算机科学与技术专业的学生来说是非常重要的课程,组织好教学,使学生通过该课程的教学,很好地掌握数据结构的相关知识,为今后的学习奠定良好的基础是非常重要的.

【参考文献】

[1]耿国华.数据结构――用C语言描述[M].北京:高等教育出版社,2011.

[2]许卓群,杨冬青,等.数据结构与算法[M].北京:高等教育出版社,2004.

[责任编辑:张涛]