当前位置:文档之家› 《数据结构》课程标准.doc

《数据结构》课程标准.doc

《数据结构》课程标准
适用专业:计算机应用技术、大数据技术
学时:72
前导课程:计算机应用基础、C语言程序设计
一、课程性质
《数据结构》是大数据应用专业的一门专业基础必修课程。

本课程面向Android软件工程师的岗位需求,主要讲述集合、线性表、堆栈和队列、树和二叉树、查找和排序等基本数据结构和算法。

本课程着重基本知识的掌握和基本技能的训练,为利用c语言进一步处理数据奠定基础。

二、课程理念
数据结构是计算机存储、组织数据的方式。

数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。

精心选择的数据结构可以带来更高的运行或存储效率,数据结构往往同高兴的检索算法和索引技术有关。

1、课程地位理念
在许多类型的程序设计中,数据结构的选择是一个基本的设计考虑因素。

许多大型的构造经验表明,系统实现的困难程度和系统构造的质量都严重的依赖于是否选择了最优的数据结构。

许多时候,确定了数据结构后,算法就容易得到了。

有些时候事情也会反过来,我们根据特定算法来选择数据结构与之适应。

不论哪种情况,选择合适的数据结构都是非常重要的。

选择了数据结构,算法随之确定,是数据而不是算法是系统构造的关键因素。

2、课程学情理念
本课程开设在嵌入式系统工程专科第一学期,学生在学习本课程前已具备计算机基础、C语言基础等知识,本课程力图让学生学会在C语言环境下,运用面向对象的思想编写规范的代码,实现经典的数据结构和算法。

熟悉常用的数据结构和算法,使学生初步具备一个优秀的软件开发人员所应有的基本能力。

3、课程内容理念
根据本课程的教学目标,确定了课程内容体系结构的五个组成部分:集合结构、线性
表、堆栈和队列、树和二叉树、查找和排序。

内容主要包括:绪论、线性表、有序线性表、堆栈、队列、树、二叉树、二叉树的遍历、顺序查找、折半查找、插入排序、选择排序等。

4、课程要求理念
《数据结构》是一门偏重理论的课程,有很强的理论性。

在多年的教学研究和教学实践中,《数据结构》形成了独具特色的“七化”教学方法,即教学资源立体化、教师精讲主导化、学生学习团队化、教学过程流水化、程序项目核心化、知识技能点索引化、和C 语言结合化。

5、课程考核理念
如何客观反映出学生对数据结构的理解、掌握、综合应用的实际情况,传统的闭卷考试有不完善的地方,应该对考核内容和形式进行适当的调整,过程评价与终结评价相结合,形成全方位、更加公正客观的评价体系。

考核方法采用“N+2”成绩评定方式,采用“课堂考勤+课堂实训练习+期末考试”的方式。

三、课程目标
(一)总目标
为学生的职业素质和职业技能的形成服务;为今后学习大数据处理技术奠定坚实的基础;为IT企业输送高质量的从业者。

(二)分目标
1、知识目标
(1)了解数据结构课程的体系结构,掌握数据结构的基本概念和基础知识。

(2)掌握线性表结构,能够运用C语言实现线性表结构;
(3)掌握堆栈和队列以及树和二叉树结构。

(4)掌握查找和排序算法,并且结合项目达到在项目中运用的能力;
2、能力目标
(1)使学生初步具备一个优秀的软件开发人员所应有的基本能力:会编写基本的算法、会利用数据结构解决基础编程语言不能直接表达的数据;
(2)为学生利用C进一步研究与学习大数据处理技术奠定基础。

3、情感态度价值观目标
(1)规范意识:让学生学会编写规范代码,熟悉常用程序设计技巧。

(2)团队精神:培养学生的合作精神、协调工作和组织管理的能力。

(3)探究精神:关注学科发展趋势和应用前景,注重培养学生的对新技术的探究精神。

四、课程内容
授课内容
主要包括:数据结构基本概念、线性表、堆栈和队列、树和二叉树、查找和排序等。

第1章绪论
1.1 什么是数据结构
1.2 算法描述
1.3 算法分析
重点:
1、数据结构的概念和术语
2、数据抽象和抽象数据类型
3、算法描述与分析
难点:
1、数据抽象和抽象数据类型
2、算法描述与分析
第2章线性表
2.1 线性表的定义及其运算
2.2 线性表的顺序存储结构
2.3 线性表的链式存储结构
2. 4 一元多项式的表示及相加
2.5 顺序表与链表的比较
2.6 算法应用举例
重点:
1、线性数据结构的特点
2、线性表的逻辑结构
3、线性表的顺序存储结构
4、线性链表
难点:
1、线性链表
2、线性表的应用
第3章栈和队列
3.1 栈
3.2 队列
重点:
1、栈的表示和实现
2、队列的抽象数据结构类型及定义
3、链队列和循环队列
4、队列的应用
难点:
1、链队列和循环队列
2、队列的应用
第4章串
4.1 串的定义及运算
4.2 串的存储结构
4.3 串运算的实现
4.4 串操作应用举例
重点:
1、串的概念
2、串的运算
3、串插入与串删除
难点:
1、串的运算
2、串插入与串删除
第5章递归
5.1 递归的基本概念
5.2 阶乘问题
5.3 背包问题
5.4 汉诺塔问题
5.5 实训项目迷宫问题
重点:
1、阶乘算法;
2、背包问题
3、汉诺塔问题
难点:
1、阶乘;
2、汉诺塔
第6章树
6.1 树的基本概念
6.2 二叉树
6.3 遍历二叉树
6.4 线索二叉树
6.5 树和森林
6.6 哈夫曼树
重点:
1、二叉树的定义,基本操作,存储结构及性质;
2、二叉树的遍历
3、树的存储结构,树的遍历
4、最优二叉树和哈夫曼编码
难点:
1、二叉树的存储结构及性质;
2、树的存储结构
第7章图
7.1 图的基本概念
7.2 图的存储结构
7.3 图的遍历
7.4 生成树和最小生成树
7.5 最短路径
7.6 有向无环图及其应用
重点:
1、图的存储结构,图的遍历
2、图的连通性,最短路径
3、图的应用
难点:
1、最短路径
2、关键路径
第8章查找
8.1 查找的基本概念
8.2 线性表的查找
8.3 树表查找
8.4 散列查找
重点:
1、顺序查找,有序表的查找
2、索引顺序查找,二分查找法
3、哈希表
难点:哈希表
第9章排序
9.1 基本概念
9.2 插入排序
9.3 交换排序
9.4 选择排序
9.5 归并排序
9.6 分配排序
9.7 各种内排序方法的比较和选择
重点:
1、插入排序,快速排序,选择排序
2、归并排序,基数排序
难点:
1、各种排序算法的描述
2、各种内部排序方法的比较
五、课程实施
1、理论课时安排
2、实践教学课时安排
3、教学建议
(1)教学组织与形式
本课程教学全部采用理论和实践相结合的模式,一次理论对应一次上机实践,,要求学生在课前加强预习,完成要求的任务,为机房上课做好准备;
充分利用多媒体教学软件,对学生编程和学习进度进行控制;
上课采用小班教学,进一步提高教学质量,关注每一个学生的学生进度,并加以辅导、充分调动和发挥学生主体性;
案例式教学,提供程序列表,和教学进度和知识点匹配;
(2)教学方法与手段
①教学方法:理论课教学根据所授内容的不同,采用恰当的教学方法实施教学,如:讲授法、讨论法、直观演示法和任务驱动教学法等;实验课采用训练与实践式教学方法使
学生巩固、丰富和完善所学知识,培养学生解决实际问题的能力和多方面的实践能力;项目实训采用项目教学法,以实际应用为目的,通过师生共同完成教学项目而使学生获得数据库相关技术知识和数据库应用系统的开发能力。

②教学手段:采用多媒体现代化教学手段和传统的黑板教学手段相结合,有利于提高课堂教学效果,进行在线答疑。

(3)教学环境与策略
多媒体计算机与大屏幕投影仪为中心的多媒体教学环境,在这种环境下,教师主要播放教学课件进行讲授,利用软件课堂编写程序进行讲解;以网络技术为核心的教学环境,学生根据教师的安排进行自主式教学;多媒体实验中心和实训实验室教学环境,进行实验和项目实训操作。

3、考核方法
采用“N+2”成绩评定方式,主要构成及比例如下:
(1)考勤(30%)
(2)课堂实训(30%)
(3)期末考试(40%)
考试分制、形式与时间:百分制,闭卷、笔试,120分钟。

题型:填空题、选择题、简答题、程序分析设计题。

六、教材建设选用与参考书目
教材建设选用:
《数据结构(C语言版)》,洪运国,上海交通大学出版社,2017.11
参考书目:
1.《C程序设计教程》,段新娥等编著,人民邮电出版社,2014.1
2. 《C编程思想》(美),Bruce Eckel著,侯捷译,(Thinking in C,Second Edition),机械工业出版社,2012.9
3.《数据结构》,徐孝凯编著,清华大学出版社,2014.11.01。

相关主题