您现在的位置: 首页 > 教学大纲 > 正文

《数据结构与程序设计》教学大纲

2019-10-25 所属分类:教学大纲 浏览次数:27 作者: [字体:]

《数据结构与程序设计》教学大纲

一、基本信息

课程代码

 SME302

课程性质

学科共同课

课程名称

 数据结构与程序设计

英文名称

Data Structures and Program Design

学时/学分

48/ 3

开课时间

大二(上)

适用对象

信息管理、电子商务、物流管理三个专业

先修课程

网络程序设计

大纲执笔人

 欧阳毅

大纲审核人


修订时间

 2019-9

当前版本

2019

 

二、课程描述

本课程是信息管理、电子商务和物流管理三个专业的学科共同课之一。随着计算机应用领域的扩大和非数值计算的增加,数据大量增加,它们之间的结构关系也日益复杂,无论是操作系统、数据库系统、电子商务系统、编译系统及信息系统等的设计和实现,还是其它各种应用软件都涉及不同的数据结构。本课程阐明数据结构内在的逻辑关系,讨论它们在计算机中的存储表示,结合各种典型应用说明他们在进行各种运算时的动态性质及实际执行算法。这样,为后续软件课程和设计提供必要的知识准备,且进一步提高软件设计和编程水平。通过对不同的存储结构和相应算法的对比以及上机编程练习,增强学生根据问题选择合理的数据结构,并了解算法的空间和时间复杂度。通过本课程的学习,使学生深透地理解数据结构的逻辑结构和物理结构的基本概念以及有关算法,培养基本的、良好的程序设计技能,编制高效可靠的程序,为学习后续课程奠定基础。 

 

三、教学目标

通过本课程的理论教学和相关实验训练,使学生具备如下能力:

1增强学生根据问题选择合理的数据结构,并了解算法的空间和时间复杂度。

2、了解数据结构及其分类、数据结构与算法的密切关系。理解《数据结构与程序设计》课程的基本概念、主要数据结构类型和算法及其评价策略。 

3、熟悉各种基本数据结构及其操作,学会分析研究计算机加工的数据的结构特性,以便为实际应用问题所涉及到的数据选择适当的逻辑结构、存储结构及其算法。

4、掌握设计算法的步骤和算法分析方法,培养数据抽象能力。 

5,训练复杂程序设计的技能;要求编写的程序结构清楚和正确易读,养成良好程序设计习惯。

 

四、课程目标对毕业要求的支撑

毕业要求

指标点

课程目标

6、具备扎实的数学、自然科学基础及基本的经管类知识,以及较好外的英语应用能力

6.1 具有扎实的数学和自然科学基础知识

教学目标1

7、掌握专业知识与技能,具有理解和表达复杂工程问题的能力

7.1 系统掌握本专业所需的高级语言、数据结构、数据库等专业基础理论知识

教学目标2

7.2 掌握信息检索和数据分析等专业技能及其相关工具的使用

教学目标3

9、具备复杂计算机应用系统的分析、设计、开发和维护能力

9.1 具有较强的分析问题能力

教学目标4

9.2 能够综合运用所学知识,应用相关工具进行计算机软件工程问题的系统设计、开发和维护

教学目标5

 

 

五、教学内容

1章  综述                                  (支撑课程目标1,2)

    重点内容:理解面向对象的编程思想,学会将程序划分成类;逻辑结构的分类、存储结构的分类、算法时间复杂度分析; Java数据结构的类库

难点内容:逻辑结构、存储结构、算法之间的区别和内在联系

教学内容:要求掌握数据结构基本概念,包括抽象数据类型等;熟悉逻辑结构的分类、存储映象的基本方法;了解算法空间复杂度;理解面向对象的编程思想,学会将程序划分成类。

第2章 数组和串                                 (支撑课程目标 2,3)

重点内容:对数组和串的插入,查找,删除基本操作;分析有序数组的静态存储结构和串的动态存储结构。

难点内容:算法时间复杂度分析;

教学内容:要求掌握对数组的插入,查找,删除基本操作;分析有序数组串的静态存储结构和串的动态存储结构。算法时间复杂度分析;

第3章 简单排序                                (支撑课程目标2,3)  

要求掌握交换排序、选择排序、插入排序;对象排序。

  重点内容:插入排序、选择排序、交换排序

难点内容:各算法性能比较

教学内容:  要求掌握插入排序、选择排序、交换排序的思想及其操作,除了在速度方面比较各类排序算法,还对各种算法需要的内存空间进行比较。

4章  堆栈和队列                            (支撑课程目标 2,3)

重点内容:堆栈的顺序存储结构、堆栈的链式存储结构,队列的顺序存储结构、队列的链式存储结构

教学内容:  要求掌握堆栈的定义及其操作,堆栈的顺序存储结构、堆栈的链式存储结构,队列的定义及其操作,队列的顺序存储结构、队列的链式存储结构;熟悉堆栈和队列应用。

5章  链表                               (支撑课程目标 2,3)

    重点内容:线性表的顺序存储结构及基本操作,链式存储结构及基本操作

难点内容:链式存储结构及操作

教学内容:要求掌握线性表的顺序存储结构及基本操作,链单链表、双向链表和循环链表存储结构及基本操作;熟悉线性表的逻辑结构及其基本操作;了解静态链表的定义、存储结构和基本操作。

   6章  递归及应用                            (支撑课程目标 3,4)

    重点内容递归求解数的乘方,递归的二分查找;归并排序;消除递归

难点内容归并排序;消除递归

教学内容:介绍递归的应用实例;递归求解数的乘方,递归的二分查找;归并排序;消除递归

7章  高级排序方法                              (支撑课程目标 3,4)

重点内容:希尔排序,归并排序,快速排序

难点内容:各算法性能比较

教学内容:要求掌握希尔排序,划分,快速排序,基数排序。

8章  树和二叉树                                (支撑课程目标3)

    重点内容:二叉树的抽象数据类型、存储结构、实现、遍历

难点内容:二叉树实现、遍历

教学内容:要求掌握树的定义、抽象数据类型、存储结构,二叉树的定义、抽象数据类型、存储结构,二叉树的实现、遍历,哈夫曼树,掌握二叉树类的设计方法,以及遍历、插入、删除等二叉树操作的算法实现;掌握采用链式存储结构表达非线性结构的设计方法;掌握采用递归算法实现递归数据结构基本操作的设计方法。

9章  哈希表与堆                      (支撑课程目标  4,5)

  重点内容:要求掌握哈希表的开放地址法,链地址法,哈希函数的构造。基于树的堆和堆排序

难点内容:哈希函数的构造及性能分析,堆的构造及性能分析

教学内容:要求掌握哈希表的开放地址法,链地址法,哈希函数的构造,效率及外部存储。堆的Java实现,基于树的堆和堆排序

  第10章  图                        (支撑课程目标 4,5)

    重点内容:图的邻接矩阵存储结构和实现、图的邻接表存储结构和实现

难点内容:图的邻接表存储结构和实现

教学内容:要求掌握图的抽象数据类型、图的邻接矩阵存储结构和实现、图的邻接表存储结构和实现,图的遍历,最小生成树概念、普里姆算法、科鲁斯卡尔算法;熟悉最小生成树的应用。有向图的拓扑排序,带权图的最小生成树和最短路径问题。
六、教学安排

该课程每周3学时,16周,48学时为课堂授课教学时间。实验实践单独设课,同时开设开放实验。建议教学进度如下:

章节

学时数

第1章  综述

        3学时

第2章  数组和串  

        3学时

第3章  简单排序    

        3学时

第4章  堆栈和队列    

        6学时

第5章  链表     

        6学时

第6章  递归及应用   

        3学时

第7章  高级排序方法

        6学时

第8章  树和二叉树   

        9学时

第9章  哈希表与堆    

        3学时

第10章  图     

        6学时

 

七、课内实验内容、要求及学时

基础实验单独开设,哈希表与堆实验通过开放实验开设。

 

八、教学方法与手段

以课堂理论教学为主,实验实践为辅。采用循序渐进的教学方式,由浅入深展开教学内容,比如:排序的算法较多,先介绍简单排序,引入递归思想后再介绍高级排序方法。课堂理论教学以多媒体课件为主,黑板板书为辅。在教学过程中注重能力的培养,以实际应用系统为例,提高理论教学实用性,提高学生分析和解决实际问题的能力。另外,本课程的考核采用开放多元评价方式,评价主体有学生个体、学习小组、教师,评价内容主要包括研讨活动记录和研讨内容深度、参与辅导网络学习的程度、实践任务的完成情况等。

 

九、考核方式及成绩评定

    考核方式:期末考试闭卷,平时作业、出勤、课堂情况,开放实验作业。

     成绩评定标准:总成绩(百分制)=平时成绩×30%+开放实验×10%+期末考试成绩×60%。

 

十、教材及主要参考书

指定教材:

[1] 数据结构 刘大有,杨博,黄晶,朱允刚,谷方明 等 著 (第3版)   高等教育出版社  ISBN:9787040467871


参考书目:

[1]严蔚敏,吴伟民,“数据结构”,清华大学出版社,2007.4。

[2]Mark AIlen Weiss,《数据结构与算法分析:Java语言描述(第2版)》出版社: 机械工业出版社

[3]、John,Lewis(J. 刘易斯),Peter,DePasquale(P. 德帕斯奎尔),Joseph 著;辛运帏 译,Java程序设计与数据结构教程(第二版)


教学大纲编写说明

1、课程性质:指普通共同课、学科共同课、专业核心课、专业选修课、通识选修课及任意选修课等。

2、适用对象:指适用年级、学科类别、专业大类或具体专业。

3、先修课程:指选修该课程前,学生事先需先修的课程。

4、修订时间:大纲修订的年月,格式为年-月,如2015-12

5、修订版本:与培养方案的版本相一致。

6、课程描述:对课程的性质、面向对象、教学目标、教学要求等做概要性描述。

7、教学目标:描述通过本课程的学习,使学生掌握的知识或达到的能力要求。

8、课程目标对毕业要求的支撑:结合专业培养方案,明确毕业要求与课程目标的对应关系。

9、教学内容:明确各章节的教学内容、重点内容和难点内容。

10、教学安排:说明课程总课时、教学周、课堂授课教学时间、课内实验教学时间、实践教学时间及各章节对应的学时数等内容。

11、课内实验内容、要求及学时:如果有课内实验,需填写此内容,明确实验内容、要求、学时等信息。

12、教学方法与手段:说明本课程采用哪些教学方法与手段。

13、考核方式及成绩评定:说明课程的考核方式、成绩比例及平时的纪律要求等。

14、教材及主要参考书:列出该课程相关的推荐教材和参考文献(包括书目和网络资源),格式为:作者,《书名》(版别),出版社,出版时间。

 

 


下一篇:《电子商务运营管理》课程教学大纲