《数据结构》课程建设规划.docx
- 文档编号:729424
- 上传时间:2022-10-12
- 格式:DOCX
- 页数:12
- 大小:24.63KB
《数据结构》课程建设规划.docx
《《数据结构》课程建设规划.docx》由会员分享,可在线阅读,更多相关《《数据结构》课程建设规划.docx(12页珍藏版)》请在冰豆网上搜索。
《数据结构》课程建设规划
西安高新科技职业学院
十三五”《数据结构》课程建设与改革计划
(2016-2020年)
机械电子工程系
2016年10月
一、课程现状
(一)基本情况:
在计算机专业的课程体系中,《数据结构》是一门核心专业技术基础课,是学生进一步提高编程水平的必修课。
学习本课程能锻炼学生利用计算机解决实际问题的能力,为学生学习《面向对象程序设计》、《Java程序设计》、《C#程序设计》、《操作系统》、《数据库原理》等后继课程奠定坚实的基础。
但是,我们发现课程学习结束后,学生往往不知道自己到底学了些什么,对学过的知识也不知道怎样应用。
所以对这门课程的建设和改革问题已迫在眉睫。
分析问题出现的原因:
(1)该门课程具有较强的理论性和实践性,知识的理解相对比较抽象,难于掌握。
(2)教师没有注意培养学生的兴趣,学生被动地接受知识。
(3)由于课程内容较多,很多教师只注重各个知识点的介绍,而忽略了数据结构课
程的整体性和连续性。
(4)注重理论教学,实践能力即理论知识如何运用的训练还有待加强。
解决问题,加强课程建设和改革,具体的思路如下:
要想让学生学好这门课,首先要让他们知道所学课程的实用性和重要性。
可以由教师带领学生参观软件开发的现场,请工程师讲解数据结构在软件开发中所起的重要作用。
第二充分调动学生的主动性积极性。
在授课过程中利用分析解决“迷宫问题”
“猴子选大王问题”、“八皇后问题”等实际问题激发学生的兴趣,并在老师的辅导下让学生自己动手编程解决相关问题,使学生学有所用,用而后思,真正把知识点吃透。
(二)课程标准
1、课程性质
《数据结构》是计算机软件技术专业学生的一门统设必修课程。
本课程教学主要内容包括:
线性表、栈和队列、数组与矩阵、树与森林、图、查找、排序、递归等。
通过教学,使学员掌握如何组织各种数据在计算机中的存储、传递和转换等。
课程以C语言作为算法的描述工具,强化数据结构基本知识的掌握。
使学员的编程能力,特别是程序阅读和分析问题能力等方面的素质有所提高,为后续计算机专业课程的学习打下坚实的基础。
2、知识模块及课时分配
表1课程内容与课时分配表
序号
项目(任务或模块等)
知识内容与要求
技能内容与要求
教学活动设计
学时
1
概论
(1)数据结构的基本概念;
(2)算法的描述方法;
(3)算法设计的要求和算法时间效率的度里分析。
理解数据的含义。
理解逻辑结构、存储结构、运算集合及它们之间的关系。
掌握算法的五个特点。
课堂讲授与学生分组讨论的方法,通过学生自主学习讨论使学生对课程的内容更深入的了解,同时培养学生的兴趣
2
2
线性结构
(1)线性表的定义及基本操作;
(2)单链表、循环链表、双向链表的定义、逻辑结构及基本操作;
(3)栈的概念,栈的顺序存储结构和链式存储结构及其基本操作;
(4)队列的概念,队列的顺序存储结构和链式存储结构及其基本操作;栈与队列的应用举例
掌握顺序存储结构的定义及基本操作。
掌握链式存储结构的定义及基本操作。
通过课堂讲授、演示等方法以及学生反馈相结合采用案例法和比较法讲述。
具体实例:
(1)符号表的实现;
(2)一元多项式的求和。
10
3
树与二叉树
(1)树的定义和存
储结构;
(2)二叉树的定义、性质、存储结构;
(3)树、二叉树和森林的相互转换;
(4)树和森林的遍
掌握二叉树的定义及遍历操作;
了解森林的遍历算法;
了解树、二叉树和森林的相互转换;
掌握哈夫曼树及其应用。
通过动画演示与现场教学,深化学生对树和森林的感官理解。
具体实例:
(1)学生会组织机构的管理实现;
(2)哈夫曼编码。
12
历算法;
(5)哈夫曼树及其应用
4
图
(1)图的定义和术语;图的存储结构,邻接矩阵表示法和邻接表表示法;
(2)图的遍历操作,深度优先搜索遍历和广度优先搜索遍历;
(3)图的几个典型应用问题,最小生成数、拓扑排序和取短路径。
掌握图的定义,图的存储结构,图的遍历操作和图的几个典型应用
通过动画演示与现场教学,深化学生对图的感官理解
实例训练:
(1)最小生成树;
(2)城市最短路径;
(3)排课系统的算法实现
12
5
查找
(1)静态查找表及查找算法:
顺序查找、折半查找;
(2)动态查找表及查找算法:
二叉排序树;
(3)哈希表及查找算法。
掌握静态查找表及查找算法:
顺序查找、折半查找;掌握动态查找表及查找算法:
二叉排序树;掌握哈希表及查找算法。
通过讲授与多媒体演示的方法,注重各种查找算法之间的区别,并了解各种算法的应用场景。
实例训练:
(1)在线性表里查找
X;
(2)在顺序表里查找X的算法实现;
(3)二叉排序数的查
找;
14
6
排序
(1)排序的概念;
(2)直接插入排序;
(3)冒泡排序;
(4)快速排序;
(5)堆排序;
(6)归并排序
(7)希尔排序
掌握常用的排序算法,直接插入排序、冒泡排序、希尔排序、快速排序、堆排序、归并排序。
通过讲授与多媒体演示的方法,使学生熟悉各种排序算法之间的区另并了解各种算法的应用场景。
实例训练:
(1)牌游戏实现;
(2)荷兰国旗问题;
(3)螺钉与螺母问题。
14
3、《数据结构》课程教学现状及改进措施
(1)《数据结构》课程教学的现状即存在的问题
1过于突出理论讲解,联系生活中的实际问题不够由于课程内容抽象,讲解中往往需要捋离出实际事物中与结构无关的特性,关注数据与模型本身,如果只是按照教材照本宣科,不与实际生活中的例子结合,容易言之无物,比如“图”这一结构中一个与很多重要应用算法,如“最小生成树”、“最短路径”相关联的概念一一“权”,在讲解这一概念时,如果只是依照教材上的点线图形来讲解,很难能够让学生清晰的理解这一概念的含义,如果与生活实际相结合,如解释“最短路径”算法时,将图中的点映射为城市,边映射为城市间的道路,那么权值这一概念的含义就自然浮现了。
过于注重理论的讲解方式会使得学生觉得内容空洞,从而学习兴趣下降。
2教学过程中互动不足,教学效率较低教学活动中,学生始终是最重要的主体。
教学活动的主要目的是传授知识,若学
生不能很好的掌握课程要求的知识,那么即便施教者拥有再好的教学技巧,教学效果也会大打折扣。
当前课堂上多采用填鸭式的被动式教学方式,教师在教学中扮演了过重的角色,课堂上经常见到这样的情形,教师在讲台上滔滔不绝的讲授,讲台下的学生却表现不佳,除少数几个能跟上老师的节奏认真听讲外,大多数都昏昏欲睡。
那么,要想拥有好的教学效果,必须使受教者一学生积极主动的投入到学习当中,这就需要教师在教学活动当中通过提问,随堂作业等互动方式引领学生自主的投入到学习活动当中,使学生通过主动的思考获取知识,提高学习的兴趣,提高教学效率。
3实验教学环节薄弱,学生编程能力提高较小
“实践出真知”,在计算机专业的课程学习中,编程上机实践是其重要组成部分,《数据结构》课程的学习也不例外。
上机编程实践能够巩固和验证学习的理论知识,促使学生加深对所学知识的理解,同时应该看到,计算机专业是一门基于实践的专业,没有良好的编程能力,学生无法在就业及以后的职场发展中占据优势,因此使学生拥有良好的编程能力是计算机专业教育教学的一项重要内容。
而实验教学环节是锻炼学生程序编写能力的有效途径。
当前的课程教学中对实验课程不够重视,这在课时安排上就有所体现,实验课时只有理论课时量的三分之一。
同时还有一个问题影响实验教学的质量,就是部分学生在程序设计类的前导课程中训练不足,基础的程序设计能力较差,如有些同学完全不会使用“指针”,甚至不知道设计函数的基本语法规则。
这样就导致部分学生从课程一开始就无法完成实验内容,久而久之,产生厌学情绪。
4课程考核机制不尽合理,不能体现学生的完整表现
课程考核本身是实现教学目的和检测学生学习成果的一种手段,而不是目的。
课程考核的目的不仅是为了考察学生是否完成和深化对所学知识的意义建构,实现课程目标的程度,更是为了检验和改进学生的学习和教师的教学,改善课程设计,完善教学过程,从而有效地提高学生的专业素养。
因此,课程考核必须与教学紧密结合,成为教学的一部分,体现教学并服务于教学。
寓教于考,以考促学。
然而,当前的课程考核方式是课程结束后出纸质卷子进行一次笔试,考核形式比较僵化,虽然形式简单比较容易操作,但是很难反映学生在整个课程中的完整表现以及实际的动手编写程序的能力。
(2)教学改进措施
1使用案例教学法,理论联系实际
针对课程教学中,内容抽象,学生难于理解的问题,可使用案例教学法,将与实际生活联系紧密,易于理解的,与数据结构知识相关的案例引入课堂,用来解释一些抽象的概念和方法,如在讲解“栈”这一重要结构时,利用“停车场”这一经典案例,就能够很清楚的解释出“栈”结构使入栈数据“后进先出”的鲜明特点;在讲解“树”这一结构时,结合Windows操作系统的文件管理系统这一典型“树”型结构的应用,使学生对该结构建立起较清晰的认识。
这些案例的使用使抽象的理论知识与生动的生活中能看得见的具体事物联系起来,更容易理解和学习,进而取得了良好的教学效果。
2使用互动教学法,提高学生学习的主动性
学生学习兴趣不高,主动性不强的问题主要是学生对教学过程参与度不高造成的。
“疑是思之始,学之端”,采用互动教学法,就是要通过提出一些精心设计的与学习内容相干的主题问题,促使学生主动思考,充分调动学生的积极性、创造性,提高教学效果。
例如在讲解“哈夫曼树”这部分内容时,提出“如何高效的完成文本压缩”这一问题,吸引学生主动思考,提出他们自己的压缩方案,讨论自己设计的压缩方案的优劣,然后引出“哈夫曼树”算法,并归纳总结该算法的优势。
这样的过程能够引起学生广泛的思辨,争论,最后达到熟悉所学内容的目的,同时开阔思路,利于学生创新思维的培养。
3加强实践环节,强化学生编程能力
实践是强化理论学习,增强程序设计能力的重要手段,为使学生更好的掌握所学内容,必须强化实验环节。
就具体措施而言,首先应该增加实验课程的课时安排,应以达到理论学时的一半为宜,其次要细化实验内容,明确实验要求,可将实验分为独立完成的基础实验项目、分组完成的必做实验项目以及有较高难度的选作实验项目,各类实验项目应按照从易到难、从点到面、从知识训练到思维训练的步骤逐步强化数
据结构课程的知识内容,提高学生的程序设计能力,实验课程中还有一需要注意的问
题,就是有部分同学程序设计课程的基础较弱,对程序设计语言的掌握达不到课程要求,针对这种情况,建议在开课之初,对课程所使用的程序设计语言的相关知识点进行有针对性的复习,以利于学生较好的完成实验。
4改进考核方式,提高实验成绩比重
对教学而言,课程考核是手段不是目的,但仍应该看到就绝大多数同学而言,即使是老师怎样着重强调课程学习的目的是掌握知识,培养能力,考试成绩仍然是学生学习最大的动力和指挥棒。
因此,课程的考核方式有重要的引导作用。
建议在考试成绩中加大编程实践能力的比重,可参考实验课程内容学生的完成情况,给出相应的分数。
同时,学生到课情况、课后作业完成情况等也应作为平时成绩在总成绩中有所体现,可将总成绩分为三部分,期末卷面成绩占比百分之四十,实验成绩占比百分之四十,平时成绩占比百分之二十。
4、教学条件
(1)师资
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程 建设 规划
![提示](https://static.bdocx.com/images/bang_tan.gif)