21
南京理工大学 数据结构 课程 教案 授课专业 计算机科学与技术,软件工程 网络工程,智能科学与技术 年级班级 2017 级 9171068403 班 教学团队 张琨、练智超、陈强、刘亚洲、朱保平

南京理工大学 数据结构 课程 教案 - livedu.com.cnlivedu.com.cn/filebase/9AE32EC9CCAFBA6DE0501B0ADF4...南京理工大学 数据结构 课程 教案 授课专业 计算机科学与技术,软件工程

  • Upload
    others

  • View
    17

  • Download
    1

Embed Size (px)

Citation preview

  • 南京理工大学

    数据结构 课程

    教案

    授课专业 计算机科学与技术,软件工程

    网络工程,智能科学与技术

    年级班级 2017 级 9171068403 班

    教学团队 张琨、练智超、陈强、刘亚洲、朱保平

  • 课程名称 数据结构 授课专业

    计算机科学与技

    术、软件工程、网

    络工程、智能科学

    与技术

    班级 2017 级

    9171068403

    班 课程编号 06022404

    课程类型 ■专业课 □公共基础课 □通识模块课程

    授课方式 线上线下混合式 考核方式 闭卷笔试

    总学时 48 学 分 3

    学时分配 线上学时:12;课堂学时: 36

    教材名称

    (含作者、

    出版社、出

    版时间)

    书名:《数据结构与算法分析:C++语言版》

    作者:张琨,张宏,朱保平

    出版社:人民邮电出版社

    出版时间:2016 年 2 月

    书号:978-7-115-40927-0

    参考书

    (含作者、出

    版社、出版时

    间)

    书名:数据结构(C 语言版)

    作者:严蔚敏、吴伟民

    出版社:清华大学出版社

    出版时间:2007 年 3 月

    书号:787302147510

    授课教师 职 称 主要教学任务安排

    张 琨 教 授 主讲教师

    负责课程建设、上机实验辅导和教学答疑与讨论

    练智超 副教授 主讲教师

    负责教学内容规划,参与教学答疑与讨论

    陈 强 教 授

    主讲教师

    负责考核方式设计和电子教学资源规划,参与教学

    答疑与讨论

    刘亚洲 副教授 主讲教师

    参与上机实验辅导

    朱保平 副教授 主讲教师

    负责教材建设和教学实例设计

  • 周次、节次 第 12 周,周二,第一大节,2018 年 11 月 13 日

    主讲教师 张琨

    教学章、节或主题 第一章,绪论

    主要内容

    1. 课程的意义和安排 2. 什么是数据结构 3. 基本概念和术语 4. 抽象数据类型的表示与实现 5. 算法和算法分析

    教学目标

    认知目标:

    1. 初步了解什么是数据结构 2. 熟悉各名词、术语的含义,掌握基本概念 3. 掌握计算语句频度和估算算法时间复杂度的方法 技能目标:培养学生对数据类型、算法等基本概念的理解能力

    情感目标:初步培养对计算机数据结构的兴趣、了解数据结构重要性

    教学环境 第四教学楼 A501 室

    教学手段 讲授

    教学过程设计 课的结构---准备部分,主体部分,结束部分及其相应内容,组织教

    法,时间分配等

    课的部分 教学内容 时间

    (分) 学习目标与要求 学习成果

    准备部分 预习教材绪论内容 30 精读教材绪论

    通过提前预习,

    对课程内容有基

    本了解与认知

    主体部分

    1. 课程的意义和安排 2. 什么是数据结构 3. 基本概念和术语 4. 抽象数据类型的表示与实现 5. 算法和算法分析

    125

    1. 了解课程安排 2. 了解数据结构相关

    基本概念和术语

    3. 掌握抽象数据类型的表示与实现

    4. 掌握算法和算法分析概念

    通过对知识点讲

    授,学生们对于

    数据结构课程有

    了基础性的认知

    结束部分 课堂总结 10 概括课堂内容的重点

    和难点

    对于数据类型表

    示与实现等重点

    和难点学生已基

    本掌握

    作业与训练

    考核方式

  • 周次、节次 第 13 周,周二,第一大节,2018 年 11 月 20 日

    主讲教师 张琨、朱保平

    教学章、节或主题 第二章 2.1-2.3

    主要内容

    1. 线性表的类型定义 2. 线性表的顺序表示和实现 3. 线性链表的表示与实现

    教学目标

    认知目标:

    1. 了解线性表的逻辑结构特性是数据元素之间存在着线性关系 2. 熟练掌握顺序存储结构的描述方法、顺序表的各种基本操作的实现 3. 熟练掌握链式存储结构的 3 种描述方法、线性链表基本操作的实现 技能目标:掌握利用线性表和线性链表的存储与基本操作方法

    情感目标:加深对数据结构的理解,培养严格定义数据类型的意识

    教学环境 第四教学楼 A501 室

    教学手段 讲授、在线 MOOC 教学、互动讨论法

    教学过程设计 课的结构---准备部分,主体部分,结束部分及其相应内容,组织教

    法,时间分配等

    课的部分 教学内容 时间

    (分) 学习目标与要求 学习成果

    准备部分 预习教材 2.1-2.3,在线观看

    MOOC 线性表视频 75

    精读教材、全程观看

    视频

    通过提前预习,对线

    性 表 有基 本了 解 与

    认知

    主体部分

    1. 线性表的类型定义 2. 线性表的顺序表示和实现 3. 线性链表的表示与实现

    120

    1. 了解线性表的定义

    2. 熟练掌握线性表的查找、插入和

    删除等基本操作

    3. 熟练掌握线性链表的基本操作

    学生已基本掌握

    结束部分 课堂回顾,互动思考生活中的

    线性关系的例子 15

    总结重点和难点,举

    例 2-3 个

    学 生 已基 本掌 握 线

    性 表 操作 等重 点 内

    容,小部分学生还需

    对 线 性链 表操 作 进

    行消化

    作业与训练 课后习题二的第一、二、三大题

    考核方式 课后做,下节课提交作业,并在课堂讲评部分题目

  • 周次、节次 第 14 周,周二,第四大节,2018 年 11 月 27 日

    主讲教师 张琨、练智超

    教学章、节或主题 第二章 2.4,第三章 3.1

    主要内容

    1. 相关算法设计举例 2. 循环链表、双向链表的基本操作 3. 一元多项式的存储和运算 4. 栈的定义

    教学目标

    认知目标:

    1. 掌握顺序表和链表的各种算法分析与设计 2. 循环链表、双向链表 3. 掌握线性表如何应用于一元多项式的相加 4. 了解栈的定义 技能目标:掌握线性表、单链表、循环链表、双向链表的基本操作和

    初步应用

    情感目标:加深对数据结构重要性理解,进一步培养编程规范意识

    教学环境 自主学习(学生可自主选择学习地点,如图书馆或基础实验楼)

    教学手段 线上学习、在线 MOOC 教学、互动讨论法

    教学过程设计 课的结构---准备部分,主体部分,结束部分及其相应内容,线上组

    织教法,时间分配等,与学生在线上互动

    课的部分 教学内容 时间

    (分) 学习目标与要求 学习成果

    准备部分

    预习教材 2.4 和 3.1 节,在

    线观看 MOOC 循环链表、

    双向链表视频

    75 精读教材、全程观看视频

    通过提前预习,

    对链表有基本了

    解与认知

    主体部分

    1. 相关算法设计举例 2. 循环链表、双向链表的

    基本操作

    3. 一元多项式的存储和运算

    4. 栈的定义

    120

    1. 熟练掌握线性表和链表相关算法设计

    2. 掌握循环链表、双向链表的基本操作

    3. 熟练应用线性表解决一元多项式运算

    4. 初步了解栈的概念

    学生已基本掌握

    结束部分 在线抽查线性表的应用情

    况,讨论栈与线性表的区别 15

    熟练掌握线性表应用,明确

    栈与线性表区别

    学生已基本了解

    两者的区别

    作业与训练 课后习题二第五题(算法设计)

    考核方式 在线平台提交作业

  • 周次、节次 第 14 周,周四,第二大节,2018 年 11 月 29 日

    主讲教师 张琨、朱保平

    教学章、节或主题 第三章 3.2-3.3

    主要内容

    1. 栈的表示和实现 2. 栈的应用举例:数制转换 3. 括号匹配的检验;行编辑程序

    教学目标

    认知目标:

    1. 了解栈的实现方法 2. 了解栈的几种典型应用 技能目标:掌握栈的基本存储和操作运算

    情感目标:充分了解堆栈在实际生活中的应用情况和作用,培养对数

    据结构学习兴趣

    教学环境 第四教学楼 A501 室

    教学手段 讲授、在线 MOOC 教学、互动讨论法

    教学过程设计 课的结构---准备部分,主体部分,结束部分及其相应内容,组织教

    法,时间分配等

    课的部分 教学内容 时间

    (分) 学习目标与要求 学习成果

    准备部分 预习教材 3.2-3.3,在线观

    看 MOOC 栈视频 75 精读教材,全程观看视频

    通过提前预习,对

    栈有基本了解与

    认知

    主体部分

    1. 栈的表示和实现 2. 栈的应用举例:数制转

    3. 括号匹配的检验;行编辑程序

    75

    1. 掌握栈的基本存储结构和操作运算

    2. 熟练掌握利用栈进行数制转换

    3. 了解利用栈实现括号匹配的检验和行编辑

    学生已基本掌握

    栈的操作和应用

    结束部分 课堂总结,讨论实际生活中

    栈的作用 15

    掌握重点和难点,列举

    2-3 个作用

    学生已基本掌握

    重点内容,对括号

    匹配的检验还有

    少部分学生需要

    加强理解

    作业与训练 课后习题三第五题(算法设计)的第 1、2 小题

    考核方式 在线平台提交作业

  • 周次、节次 第 15 周,周二,第四大节,2018 年 12 月 4 日

    主讲教师 张琨、练智超

    教学章、节或主题 第三章 3.4-3.6

    主要内容

    1. 队列的 ADT 定义 2. 链队列的基本操作实现 3. 循环队列的基本操作实现

    教学目标

    认知目标:

    1. 掌握队列类型的特点 2. 熟练掌握链队列的基本操作实现算法 3. 熟练掌握循环队列的基本操作实现算法;特别注意队满和队空的描

    述方法

    技能目标:掌握队列的基本操作和运用

    情感目标:充分了解队列的重要意义,培养对程序设计和数据结构的

    热爱

    教学环境 自主学习(学生可自主选择学习地点,如图书馆或基础实验楼)

    教学手段 线上学习、在线 MOOC 教学

    教学过程设计 课的结构---准备部分,主体部分,结束部分及其相应内容,线上组

    织教法,时间分配等,与学生在线上互动

    课的部分 教学内容 时间

    (分) 学习目标与要求 学习成果

    准备部分 预 习 教 材 3.4-3.6 , 在 线 观 看

    MOOC 队列视频 75

    精读教材、全程观看

    视频

    通过提前预习,

    对队列有基本

    认知

    主体部分

    1. 队列的 ADT 定义 2. 链队列的基本操作实现 3. 循环队列的基本操作实现

    120

    1. 掌 握 队 列 的 基 本概念和存储

    2. 熟练掌握链队列、循 环 队 列 的 基 本

    操作

    3. 了 解 队 列 的 应 用情况

    学生已基本掌

    握链队列和循

    环队列的操作

    结束部分 在线总结 15 归纳重点和难点

    学生对循环队

    列这一难点基

    本掌握

    作业与训练 课后习题三第五题(算法设计)的第 5 小题

    考核方式 在线平台提交作业,并在课堂讲评作业情况

  • 周次、节次 第 15 周,周四,第二大节,2018 年 12 月 6 日

    主讲教师 张琨、陈强

    教学章、节或主题 第五章 5.1-5.3

    主要内容 1. 数组的定义 2. 数组的顺序表示和实现

    教学目标

    认知目标:

    1. 了解数组的两种存储表示方法,并掌握数组在以行为主的存储结构中的地址计算方法

    2. 了解稀疏矩阵压缩存储方法的特点和适用范围,领会以三元组表示稀疏矩阵时进行矩阵运算采用的处理方法

    技能目标:掌握数组和稀疏矩阵存储特点,熟练运用基本操作

    情感目标:培养学生在程序设计中的团队合作和探索创新精神

    教学环境 自主学习(学生可自主选择学习地点,如图书馆或基础实验楼)

    教学手段 线上学习、在线 MOOC 教学、互动讨论法

    教学过程设计 课的结构---准备部分,主体部分,结束部分及其相应内容,线上组

    织教法,时间分配等,与学生在线上互动

    课的部分 教学内容 时间

    (分) 学习目标与要求 学习成果

    准备部分 预 习 教 材 5.1-5.3 , 观 看 在 线

    MOOC 数组视频 70

    精读教材,全程观看

    视频

    通过提前预习,

    对数组有基本了

    解与认知

    主体部分 1. 数组的定义 2. 数组的顺序表示和实现

    80

    1. 熟 练 掌 握 数 组 的定义

    2. 掌 握 数 组 的 顺 序表示和实现方法

    学生已基本掌握

    结束部分 在线总结,并讨论数组的压缩存

    储问题 10 归纳重点和难点

    学生对数组压缩

    存储已基本了解

    和认知

    作业与训练 课后习题五第四大题

    考核方式 课后做,下节课提交作业,并在课堂讲评

  • 周次、节次 第 16 周,周二,第四大节,2018 年 12 月 11 日

    主讲教师 张琨、练智超

    教学章、节或主题 第六章 6.1-6.3

    主要内容

    1. 树的定义和基本术语 2. 二叉树的定义 3. 二叉树的性质二叉树的存储结构 4. 三种二叉树遍历算法的实现

    教学目标

    认知目标:

    1. 了解树的定义 2. 熟练掌握二叉树的结构特性,了解相应的证明方法 3. 掌握二叉树的性质 4. 熟悉二叉树的各种存储结构的特点及适用范围 5. 掌握各种遍历策略的递归算法 技能目标:掌握树的基本定义、熟练掌握二叉树的基本操作和遍历

    情感目标:培养对数据结构精华和精髓的理解能力,进一步加深对数

    据结构的兴趣

    教学环境 第四教学楼 A501 室

    教学手段 讲授、在线 MOOC 教学、互动讨论法

    教学过程设计 课的结构---准备部分,主体部分,结束部分及其相应内容,组织教

    法,时间分配等

    课的部分 教学内容 时间

    (分) 学习目标与要求 学习成果

    准备部分 预习教材 6.1-6.3,在线观看

    MOOC 树和二叉树视频 80

    精读教材,全程观看

    视频

    通过提前预习,对

    二叉树有基本了解

    主体部分

    1. 树的定义和基本术语 2. 二叉树的定义 3. 二叉树的性质二叉树的存

    储结构

    4. 三种二叉树遍历算法的实现

    110

    1. 了 解 树 的 基 本 概念

    2. 熟 练 掌 握 二 叉 树的基本操作

    3. 熟 练 掌 握 二 叉 树的三种遍历算法

    学生已基本掌握

    结束部分 课堂回顾,二叉树遍历算法的

    讨论 25

    归纳重点和难点,对

    三种遍历算法进行总

    结对比

    学生已基本掌握,

    极少数学生对三种

    遍历算法理解不透

    作业与训练 课后习题六第五题(算法设计)的第 2 小题

    考核方式 在线平台提交作业,并在课堂讲评作业

  • 周次、节次 第 16 周,周三,第四大节,2018 年 12 月 12 日

    主讲教师 张琨、刘亚洲

    教学章、节或主题

    主要内容 1. 约瑟夫问题求解 2. 附加题:一元多项式的链式表示及相加、相乘

    教学目标

    认知目标:

    1. 熟练掌握线性链表的各种操作 2. 编程实现约瑟夫问题求解,选做一元多项式的链式表示及相加 技能目标:学会运用线性链表解决约瑟夫问题

    情感目标:提高学生运用算法和程序解决实际问题的成就感

    教学环境 基础实验楼

    教学手段 上机

    教学过程设计 课的结构---准备部分,主体部分,结束部分及其相应内容,组织教

    法,时间分配等

    课的部分 教学内容 时间

    (分) 学习目标与要求 学习成果

    准备部分 熟练运用 C++编程环境进行程序

    编译和调试 30 独立操作编程环境

    学生对编程环境

    运用已掌握

    主体部分

    1. 约瑟夫问题求解 2. 附加题:一元多项式的链式表

    示及相加、相乘

    120

    1. 编程实现线性链表解决约瑟夫问

    题的程序

    2. 编程实现一元多项式的链式表示

    及相加、相乘的

    功能

    学生均已提交程

    序代码,部分学

    生代码运行结果

    不正确

    结束部分 互动,请学生讲解实现过程和关

    键点 15

    学生已基本掌握

    关键点

    作业与训练 完成上机实验报告,提交源程序

    考核方式

  • 周次、节次 第 16 周,周四,第二大节,2018 年 12 月 13 日

    主讲教师 张琨、朱保平

    教学章、节或主题 第六章 6.3

    主要内容 1. 二叉树高度的计算、树叶的计数、二叉树的拷贝等 2. 二叉树的线索化方法

    教学目标

    认知目标:

    1. 掌握二叉树相应的递归算法,灵活运用遍历算法实现二叉树的其它操作

    2. 熟练掌握二叉树的线索化过程 技能目标:熟练掌握二叉树递归、遍历算法和线索化操作的原理

    情感目标:进一步培养程序设计规范意识和数据类型合理运用的意识

    教学环境 自主学习(学生可自主选择学习地点,如图书馆或基础实验楼)

    教学手段 线上学习、在线 MOOC 教学、互动讨论法

    教学过程设计 课的结构---准备部分,主体部分,结束部分及其相应内容,组织教

    法,时间分配等

    课的部分 教学内容 时间

    (分) 学习目标与要求 学习成果

    准备部分 预习教材 6.3,在线观看 MOOC 二

    叉树相关视频 40

    精读教材,全程观看

    视频

    通过提前预习,

    对二叉树有基

    本了解与认知

    主体部分

    1. 二叉树高度的计算、树叶的计数、二叉树的拷贝等

    2. 二叉树的线索化方法 80

    1. 理解二叉树高度计算、树叶计数

    和二叉树拷贝方

    2. 熟练掌握二叉树的线索化方法

    学生已基本掌

    握,少数学生对

    二叉树线索化

    方法还需加深

    理解与消化

    结束部分 在线讨论二叉树高度和树叶计算的

    意义 10 深入理解其意义

    学生已理解二

    叉树高度和树

    叶计算的意义

    作业与训练 课后习题六第四大题第 3、4 小题

    考核方式 课后做,下节课提交作业,并在课堂讲评

  • 周次、节次 第 17 周,周二,第四大节,2018 年 12 月 18 日

    主讲教师 张琨、朱保平

    教学章、节或主题 第六章 6.3

    主要内容 1. 二叉树遍历的非递归算法 2. 二叉树相关操作的非递归算法分析与设计

    教学目标

    认知目标:

    1. 掌握二叉树遍历的非递归算法 2. 掌握二叉树相关操作的非递归算法 技能目标:熟练掌握二叉树遍历的非递归算法

    情感目标:充分培养对同一问题多种算法设计解决的理念,提高对程

    序设计的兴趣

    教学环境 第四教学楼 A501 室

    教学手段 讲授

    教学过程设计 课的结构---准备部分,主体部分,结束部分及其相应内容,组织教

    法,时间分配等

    课的部分 教学内容 时间

    (分) 学习目标与要求 学习成果

    准备部分 思考二叉树遍历递归算法和非递归

    算法的区别 20 归纳二者区别

    通过提前预习,

    对二者区别有

    基本了解

    主体部分

    1. 二叉树遍历的非递归算法 2. 二叉树相关操作的非递归算法

    分析与设计

    135

    1. 熟练掌握二叉树遍历的非递归算

    2. 理解相关操作的核心算法思想

    学生已基本掌

    握二叉树遍历

    的非递归算法,

    部分学生还需

    加深理解

    结束部分

    作业与训练 用非递归算法完成课题习题六第五题(算法设计)的第 3 小题

    考核方式 在线平台提交作业

  • 周次、节次 第 17 周,周四,第二大节,2018 年 12 月 20 日

    主讲教师 张琨、练智超

    教学章、节或主题 第六章 6.4、6.6

    主要内容

    1. 树的存储结构 2. 森林与二叉树的转换 3. 树和森林的遍历 4. 最优二叉树 5. 哈夫曼编码

    教学目标

    认知目标:

    1. 熟悉树的各种存储结构及其特点 2. 掌握树和森林与二叉树的转换方法 3. 了解最优树的特性,掌握建立最优树和哈夫曼编码的方法 技能目标:充分了解树的各种延伸,熟练掌握最优树和哈夫曼编码

    情感目标:充分了解最优树和哈夫曼编码在实际应用中的重要意义

    教学环境 自主学习(学生可自主选择学习地点,如图书馆或基础实验楼)

    教学手段 线上学习、在线 MOOC 教学、互动讨论法

    教学过程设计 课的结构---准备部分,主体部分,结束部分及其相应内容,线上组

    织教法,时间分配等,与学生在线上互动

    课的部分 教学内容 时间

    (分) 学习目标与要求 学习成果

    准备部分 预习教材 6.4 和 6.6,在线观

    看 MOOC 树和森林相关视频 35

    精读教材,全程观看录

    通过提前预习,对

    森林等概念有基

    本了解与认知

    主体部分

    1. 树的存储结构 2. 森林与二叉树的转换 3. 树和森林的遍历 4. 最优二叉树 5. 哈夫曼编码

    80

    1. 掌握树的存储结构 2. 了解森林与二叉树

    的转换

    3. 熟练掌握树和森林的遍历方法

    4. 了解最优树和哈夫曼编码的应用

    学生已基本掌握,

    少数学生对哈夫

    曼编码理解不深

    结束部分 在线总结,互动思考最优树的

    其他应用 10 归纳难点,互动讨论

    学生能学以致用,

    基本掌握最优树

    的其他应用

    作业与训练 课题习题六第五题(算法设计)的第 4、5 小题

    考核方式 课后做第 4 小题,下节课提交作业,并在课堂讲评;在线平台提交第 5 小题

  • 周次、节次 第 17 周,周五,第四大节,2018 年 12 月 21 日

    主讲教师 张琨、刘亚洲

    教学章、节或主题

    主要内容 1. 根据输入字符串创建树或二叉树 2. 输出树的哈夫曼编码

    教学目标

    认知目标:

    1. 学会编写实现二叉树或树的创建算法 2. 学会编写实现哈夫曼编码的算法 技能目标:设计实现二叉树或树创建以及哈夫曼编码的算法

    情感目标:增强运用数据结构和算法解决实际问题的自信心

    教学环境 基础实验楼

    教学手段 上机

    教学过程设计 课的结构---准备部分,主体部分,结束部分及其相应内容,组织教

    法,时间分配等

    课的部分 教学内容 时间

    (分) 学习目标与要求 学习成果

    准备部分 复习二叉树和哈夫曼编码相关内容 15

    学生已基本掌

    握二叉树和哈

    夫曼编码内容

    主体部分 1. 根据输入字符串创建树或二叉树 2. 输出树的哈夫曼编码

    135

    1. 编 程 实 现 树 或二 叉 树 创 建 的

    程序

    2. 编 程 实 现 树 的哈夫曼编码

    学生均已提交

    程序代码,部分

    学生代码运行

    结果不正确

    结束部分

    作业与训练 完成上机实验报告,提交源程序

    考核方式

  • 周次、节次 第 18 周,周二,第四大节,2018 年 12 月 25 日

    主讲教师 张琨、陈强

    教学章、节或主题 第七章 7.1-7.3

    主要内容

    1. 图的定义和术语 2. 图的存储结构 3. 图的遍历:深度优先搜索和广度优先搜索 4. 无向图的连通分量和生成树

    教学目标

    认知目标:

    1. 了解图的定义和相关术语 2. 熟悉图的各种存储结构及其构造算法 3. 熟练掌握图的两种搜索路径的遍历 4. 掌握应用图的遍历算法求解各种连通性问题 技能目标:熟练掌握图的基本存储和操作实现,重点掌握图的连通性

    判断方法

    情感目标:进一步理解数据结构重要意义,全面了解图在解决现实生

    活中节点链接关系问题上的价值

    教学环境 第四教学楼 A501 室

    教学手段 讲授、在线 MOOC 教学、互动讨论法

    教学过程设计 课的结构---准备部分,主体部分,结束部分及其相应内容,组织教

    法,时间分配等

    课的部分 教学内容 时间

    (分) 学习目标与要求 学习成果

    准备部分 预习教材 7.1-7.3,在线观看

    MOOC 图相关视频 50 精读教材,全程观看视频

    通过提前预习,

    对图有基本了解

    与认知

    主体部分

    1. 图的定义和术语 2. 图的存储结构 3. 图的遍历:深度优先搜索

    和广度优先搜索

    4. 无向图的连通分量和生成树

    120

    1. 了解图的基本概念 2. 掌握图的存储结构 3. 熟练掌握图的两种遍

    历方法

    4. 掌握无向图的连通分量和生成树

    学生已基本掌握

    结束部分 课堂总结,讨论图的两种遍

    历算法区别 15

    归纳重点和难点,明确两

    种遍历算法的异同

    学生已理解两种

    遍历算法的异同

    作业与训练 1. 课后习题七第五题(算法设计)第 3 小题 2. 思考图在互联网应用中的价值和意义

    考核方式 在线平台提交作业,并在课堂讲评图的某一种遍历算法作业

  • 周次、节次 第 18 周,周四,第二大节,2018 年 12 月 27 日

    主讲教师 张琨、陈强

    教学章、节或主题 第七章 7.4-7.6

    主要内容

    1. 最小生成树 2. 拓扑排序 3. 关键路径算法、最短路径算法

    教学目标

    认知目标:

    1. 理解掌握教科书中讨论的最小生成树算法 2. 理解掌握拓扑排序算法 3. 理解掌握关键路径算法、最短路径算法 技能目标:熟练掌握最小生成树、拓扑排序、关键路径和最短路径算

    法,重点理解算法原理和算法复杂度分析

    情感目标:全面了解最小生成树、关键路径、最短路径等算法在解决

    现实生活实际问题中的作用与价值,激发对程序设计的兴趣

    教学环境 第四教学楼 A501 室

    教学手段 讲授、在线 MOOC 教学、演示教学法

    教学过程设计 课的结构---准备部分,主体部分,结束部分及其相应内容,在线组

    织教法,时间分配等,在线演示

    课的部分 教学内容 时间

    (分) 学习目标与要求 学习成果

    准备部分 预习教材 7.4-7.6,在线观看 MOOC

    图相关视频 30

    精读教材,全程观

    看视频

    通过提前预习,

    对图的几种算

    法有基本认知

    主体部分

    1. 最小生成树算法 2. 拓扑排序算法 3. 关键路径算法、最短路径算法

    80

    1. 熟 练 掌 握 最 小生成树算法

    2. 熟 练 掌 握 拓 扑排序算法

    3. 熟 练 掌 握 关 键路 径 和 最 短 路

    径算法

    学生已基本掌

    握,部分学生对

    拓扑排序算法

    理解不透

    结束部分 课堂总结、演示科研成果——复杂

    网络仿真平台中相关算法效果 10

    归纳重点和难点,

    观看成果演示

    对复杂网络仿

    真平台有感性

    认识

    作业与训练 1. 课后习题七第五题(算法设计)第 4 小题 2. 思考最短路径算法在交通规划、出行导航中的应用场景

    考核方式 课后做,下节课提交作业,并在课堂讲评最短路径作业

  • 周次、节次 第 18 周,周五,第三大节,2018 年 12 月 28 日

    主讲教师 张琨、刘亚洲

    教学章、节或主题

    主要内容 以铁路旅行为应用背景的最短路径求解

    教学目标

    认知目标:编写实现图的最短路径求解

    技能目标:掌握最短路径求解方法

    情感目标:培养对算法设计复杂度的理解能力,提高解决实际问题能

    教学环境 基础实验楼

    教学手段 上机

    教学过程设计 课的结构---准备部分,主体部分,结束部分及其相应内容,组织教

    法,时间分配等

    课的部分 教学内容 时间

    (分) 学习目标与要求 学习成果

    准备部分 复习最短路径求解算法 15 学生已基本掌握

    最短路径算法

    主体部分 以铁路旅行为应用背景的最短

    路径求解 90

    编程实现铁路旅行

    最短路径求解算法

    学生均已提交程

    序代码,部分学生

    代码运行结果不

    正确

    结束部分

    作业与训练 完成上机实验报告,提交源程序

    考核方式

  • 周次、节次 第 19 周,周三,第四大节,2019 年 1 月 2 日

    主讲教师 张琨、朱保平

    教学章、节或主题 第八章 8.2

    主要内容

    1. 顺序表的查找 2. 有序表的查找 3. 索引顺序表的查找 4. 二叉排序树的插入、删除算法

    教学目标

    认知目标:

    1. 熟练掌握顺序表的查找算法,有序表的折半查找算法 2. 了解索引顺序表的查找方法 3. 掌握二叉排序树的定义及基本操作 技能目标:掌握顺序表、有序表的查找方法,熟练掌握二叉排序树的

    实现操作

    情感目标:进一步培养编程规范的意识和算法设计的理念

    教学环境 第四教学楼 A501 室

    教学手段 讲授、在线 MOOC 教学、互动讨论法

    教学过程设计 课的结构---准备部分,主体部分,结束部分及其相应内容,组织教

    法,时间分配等

    课的部分 教学内容 时间

    (分) 学习目标与要求 学习成果

    准备部分 预习教材 8.2,在线观看 MOOC 顺

    序表查找和二叉排序树视频 30

    精读教材,全程观看

    视频

    通过提前预习,

    对相关内容有

    基本了解与认

    主体部分

    1. 顺序表的查找 2. 有序表的查找 3. 索引顺序表的查找 4. 二叉排序树的插入、删除算法

    115

    1. 掌握顺序表和有序表的查找

    2. 了解索引顺序表的查找

    3. 熟练掌握二叉排序树的操作

    学生已基本掌

    握,少数学生对

    二叉排序树的

    插入和算法算

    法理解不透

    结束部分 课堂总结,讨论顺序表和有序表查

    找的时间复杂度、空间复杂度异同 20

    归纳重点和难点,明

    确复杂度方面的异

    同点

    学生已基本了

    解复杂度方面

    的异同

    作业与训练 课后习题八第五题(算法设计)第 2 小题

    考核方式 在线平台提交作业,并在课堂讲评作业

  • 周次、节次 第 19 周,周四,第二大节,2019 年 1 月 3 日

    主讲教师 张琨、练智超

    教学章、节或主题 第八章 8.2、8.3

    主要内容

    1. 平衡二叉树的构造方法 2. B-树的定的构造方法 3. HASH 表的构造方法

    教学目标

    认知目标:

    1. 掌握平衡二叉树的定义 2. 掌握 B-树的定义 3. 掌握 HASH 表的定义 技能目标:掌握几种特殊树结构的构造方法

    情感目标:培养对数据结构设计深度钻研的精神

    教学环境 第四教学楼 A501 室

    教学手段 讲授、在线 MOOC 教学、互动讨论法

    教学过程设计 课的结构---准备部分,主体部分,结束部分及其相应内容,组织教

    法,时间分配等

    课的部分 教学内容 时间

    (分) 学习目标与要求 学习成果

    准备部分

    预习教材 8.2 和 8.3,在线观看

    MOOC 平 衡 二 叉 树 、 B- 树 和

    HASH 表的视频

    40 精读教材,全程观看

    视频

    通过提前预习,

    对相关内容有基

    本了解与认知

    主体部分

    1. 平衡二叉树的构造方法 2. B-树的构造方法 3. HASH 表的构造方法

    80

    1. 掌握平衡二叉树的构造方法

    2. 掌握 B-树的构造方法

    3. 掌握 HASH 表的构造方法

    学 生 已 基 本 掌

    握,部分学生对

    HASH 表构造理

    解不透

    结束部分 课堂总结,互动讨论 HASH 表在

    区块链技术中的应用场景 10

    归纳重点和难点,了

    解 HASH 表的广泛

    应用

    学生已基本掌握

    HASH 表的应用

    场景

    作业与训练 课后习题八第五题(算法设计)第 4、5 小题

    考核方式 课后做,下节课提交作业,并在课堂讲评

  • 周次、节次 第 20 周,周二,第四大节,2019 年 1 月 8 日

    主讲教师 张琨、练智超

    教学章、节或主题 第九章

    主要内容

    1. 内部排序概述 2. 直接插入排序 3. 折半插入排序 4. 希尔排序 5. 快速排序 6. 简单选择排序 7. 归并排序 8. 各种内部排序方法的比较讨论

    教学目标

    认知目标:

    1. 掌握排序的定义和各种插入排序方法的特点 2. 熟悉快速排序、简单选择排序、归并排序方法的排序过程及其依据

    的原则

    技能目标:了解各类排序方法的适用场景和效率,掌握典型排序方法

    的过程

    情感目标:进一步培养对算法设计效率的理念

    教学环境 第四教学楼 A501 室

    教学手段 讲授、在线 MOOC 教学、演示教学法

    教学过程设计 课的结构---准备部分,主体部分,结束部分及其相应内容,组织教

    法,时间分配等

    课的部分 教学内容 时间

    (分)

    学习目标与要

    求 学习成果

    准备部分 预 习 教 材 第 九 章 , 在 线 观 看

    MOOC 排序视频 60

    精读教材,全程

    观看视频

    通过提前预习,对排序

    有基本了解与认知

    主体部分

    1. 内部排序概述 2. 直接插入排序、折半插入排序 3. 希尔排序、快速排序 4. 简单选择排序、归并排序 5. 各种内部排序方法比较讨论

    110

    1. 了解各种排序方法原理

    和复杂度

    2. 熟练掌握典型排序方法

    学生已基本掌握各种

    排序算法,部分学生对

    各种排序方法的优劣

    理解不透

    结束部分 课堂总结,观看典型排序方法过

    程比较演示视频 25

    归纳重难点,理

    解排序思想

    学生已基本掌握,通过

    视频观看对各种排序

    方法差异有直观认识

    作业与训练 课后习题九第五题(算法设计)第 1、4 小题

    考核方式 在线平台提交作业

  • 周次、节次 第 20 周,周四,第二大节,2019 年 1 月 10 日

    主讲教师 张琨、陈强

    教学章、节或主题 第十章

    主要内容

    1. 分治法 2. 贪心算法 3. 动态规划法

    教学目标

    认知目标:掌握分治法、贪心算法和动态规划算法的原理

    技能目标:掌握综合运用数据结构和程序设计的几种典型算法

    情感目标:进一步了解数据结构的重要价值,增强解决实际问题的勇

    气和信心

    教学环境 第四教学楼 A501 室

    教学手段 讲授、在线 MOOC 教学、互动讨论法

    教学过程设计 课的结构---准备部分,主体部分,结束部分及其相应内容,组织教

    法,时间分配等

    课的部分 教学内容 时间

    (分) 学习目标与要求 学习成果

    准备部分

    预习教材第十章,在线观看 MOOC

    分治法、贪心算法和动态规划算法视

    40 精读教材,全程观

    看视频

    通过提前预

    习,对相关

    内容有基本

    了解与认知

    主体部分

    1. 分治法 2. 贪心算法 3. 动态规划法

    40

    1. 掌 握 分 治 法 原理

    2. 掌 握 贪 心 算 法原理

    3. 掌 握 动 态 规 划法原理

    学生已基本

    掌 握 分 治

    法、贪心算

    法和动态规

    划原理,部

    分学生对动

    态规划法理

    解不透

    结束部分 课堂总结,互动讨论动态规划法的若

    干应用场景 5

    归纳重点和难点,

    明 确 应 用 价 值 和

    意义

    学生已基本

    掌握动态规

    划法的意义

    作业与训练 课后习题十第一题(算法设计)第 4、5、9 小题

    考核方式 在线平台提交作业