教师教案 (2019一2020学年第2学期) 课程名称:软件技术基础 授课学时:32 授课班级: 任课教师:刘民岷 教师职称:副教授 教师所在学院:航空航天学院 电子科技大学教务处
教 师 教 案 (2019 — 2020 学年第 2 学期) 课 程 名 称:软件技术基础 授 课 学 时:32 授 课 班 级: 任 课 教 师:刘民岷 教 师 职 称:副教授 教师所在学院:航空航天学院 电子科技大学教务处
课程名称 软件技术基础 班级 授课 专业 航空航天大类 课程代码 R101472 修课 人数 基础通识类(): 核心通识类()片交叉通识类( ):学科通识类() 课程类别 学科基础课(√):学科拓展课():专业核心课():个性化课程( 理论课(√):实践课() 课堂讲授为主();实验为主(): 授课方式 自学为主():专题讨论为主(): 是否采用 多媒体授课 是 其他:线上线下混合小班研讨课 考核方式及 考 试(√)考查() 是否采用 成绩构成 双语教学 否 成绩构成及比例:平时45%,实验15%,期末40% 学时分配 讲授22学时:实验10学时;上机学时;习题 学时:课程设计 学时 教材 名称 作者 出版社及出版时间 软件技术基础(第四版) 黄迪明 电子科技大学出版社 《计算机科学概论(第11版)》 J.Glenn 人民邮电出版社 Brookshear 《数据结构》C语言版 严蔚敏等 清华大学出版社 Modern Operating System (The Andrew 机械工业出版社 3rd Edition) S.Tanenbaum 参考书目 《数据库系统概念》(第四版) Abraham 高等教育出版社 Silberschatz 软件工程理论与实践 S.L.Pfleeger 清华大学出版社 授课时间 第1周一第16周
课程名称 软件技术基础 授课 专业 航空航天大类 班级 课程代码 R101472 修课 人数 课程类别 基础通识类( );核心通识类( );交叉通识类( );学科通识类( ) 学科基础课(√ );学科拓展课( );专业核心课( );个性化课程( ) 理论课( √ );实践课( ) 授课方式 课堂讲授为主( );实验为主( ); 自学为主( );专题讨论为主( ); 其他:线上线下混合小班研讨课 是否采用 多媒体授课 是 考核方式及 成绩构成 考 试( √ )考 查( ) 成绩构成及比例:平时 45%,实验 15%,期末 40% 是否采用 双语教学 否 学时分配 讲授 22 学时;实验 10 学时;上机 学时;习题 学时;课程设计 学时 教材 名称 作者 出版社及出版时间 软件技术基础(第四版) 黄迪明 电子科技大学出版社 参考书目 《计算机科学概论(第 11 版)》 《数据结构》C 语言版 Modern Operating System(The 3rd Edition) 《数据库系统概念》(第四版) 软件工程理论与实践 J.Glenn Brookshear 严蔚敏等 Andrew S.Tanenbaum Abraham Silberschatz S.L.Pfleeger 人民邮电出版社 清华大学出版社 机械工业出版社 高等教育出版社 清华大学出版社 授课时间 第 1 周——第 16 周
软件技术基础课程教学总体目标是:定位学生的全面发展,同时注重个性培 养,在全面基础上有所专长;有机融合课程思政,提升学生的奉献精神、科研精 神和大国工匠精神,把学生培养成为德才兼备,具有科技报国的家国情怀和使命 担当,一生成长的社会主义接班人。 本课程是工科非计算机专业学生的一门专业基础课,其内容涵盖数据结构、 操作系统、软件工程、数据库等,结合本课程的特点,课程教学目标细化为:将 马克思主义立场观点方法教育同科学精神的培养结合起来,着力培养学生正确认 识问题、分析问题和解决问题的能力:强化学生工程伦理教育,培养其精益求精 的大国工匠精神,激发学生们科技报国的家国情怀和使命担当。结合课程内容, 重点强化学生的钻研精神(自主产权问题)、爱国主义精神(做自己的操作系统)、 责任担当(开源问题)、技术操守(盗版及安全问题)和理想情怀(技术贡献)
软件技术基础课程教学总体目标是:定位学生的全面发展,同时注重个性培 养,在全面基础上有所专长;有机融合课程思政,提升学生的奉献精神、科研精 神和大国工匠精神,把学生培养成为德才兼备,具有科技报国的家国情怀和使命 担当,一生成长的社会主义接班人。 本课程是工科非计算机专业学生的一门专业基础课,其内容涵盖数据结构、 操作系统、软件工程、数据库等,结合本课程的特点,课程教学目标细化为:将 马克思主义立场观点方法教育同科学精神的培养结合起来,着力培养学生正确认 识问题、分析问题和解决问题的能力;强化学生工程伦理教育,培养其精益求精 的大国工匠精神,激发学生们科技报国的家国情怀和使命担当。结合课程内容, 重点强化学生的钻研精神(自主产权问题)、爱国主义精神(做自己的操作系统)、 责任担当(开源问题)、技术操守(盗版及安全问题)和理想情怀(技术贡献)
绪论(2学时) 一、教学内容及要求(按节或知识点分配学时,要求反映知识的深度、广度,对知识 点的掌握程度(了解、理解、掌握、灵活运用),技能训练、能力培养的要求等) 1重点掌握内容 ·基于二进制的信息表述 2理解内容 无 3了解内容 ● 计算机发展历史 ●计算机硬件结构及工作原理 二、教学重点、难点及解决办法(分别列出教学重点、难点,包括教学方式、教 学手段的选择及教学过程中应注意的问题:哪些内容要深化,那些内容要拓宽等等) 1.基于二进制的信息表述 该知识点属于已知已会的内容,但是学生缺乏系统性,大部分同学并没有思考过为什么 使用二进制,以及二进制带来的诸多问题。 解决办法:带领同学们通过回顾历史的模式,重走二进制起源和发展之路,让学生自己 来思考,如果信息表述这个问题摆在自己面前,自己将会如何解决?如何利用二进制表示数 值、语言问题、音频和视频信息? 三、教学设计(如何讲授本章内容,尤其是重点、难点内容的设计、构思) 1.回顾历史:带领同学们回顾历史,包涵两个话题:其一是二进制的起源:其二是计 算机发展简史。 1)二进制的起源:从易经的阴阳八卦开始,谈二进制的起源。诱发学生们对中华灿烂 文化的自信心和自豪感。 2)计算机发展历史:从古代的算盘说起,到今天的大型计算,中国人都有显著的贡献, 在相关领域写下了浓墨重彩的一笔。可以启发学生思考和信息搜索,包括两个话题:(1)中 国古代的算盘可以进行哪些进制的计算?(2)请同学们查询op500.og网站,然后分析发 现了什么?大家会发现全球预算速度最快的计算机榜单上,有中国的大型计算机!由此展开 讨论。引发对中国现代科学技术的认同感和自信心
绪论(2 学时) 一、教学内容及要求(按节或知识点分配学时,要求反映知识的深度、广度,对知识 点的掌握程度(了解、理解、掌握、灵活运用),技能训练、能力培养的要求等) 1 重点掌握内容 基于二进制的信息表述 2 理解内容 无 3 了解内容 计算机发展历史 计算机硬件结构及工作原理 二、教学重点、难点及解决办法(分别列出教学重点、难点,包括教学方式、教 学手段的选择及教学过程中应注意的问题;哪些内容要深化,那些内容要拓宽等等) 1. 基于二进制的信息表述 该知识点属于已知已会的内容,但是学生缺乏系统性,大部分同学并没有思考过为什么 使用二进制,以及二进制带来的诸多问题。 解决办法:带领同学们通过回顾历史的模式,重走二进制起源和发展之路,让学生自己 来思考,如果信息表述这个问题摆在自己面前,自己将会如何解决?如何利用二进制表示数 值、语言问题、音频和视频信息? 三、教学设计(如何讲授本章内容,尤其是重点、难点内容的设计、构思) 1. 回顾历史:带领同学们回顾历史,包涵两个话题:其一是二进制的起源;其二是计 算机发展简史。 1)二进制的起源:从易经的阴阳八卦开始,谈二进制的起源。诱发学生们对中华灿烂 文化的自信心和自豪感。 2)计算机发展历史:从古代的算盘说起,到今天的大型计算,中国人都有显著的贡献, 在相关领域写下了浓墨重彩的一笔。可以启发学生思考和信息搜索,包括两个话题:(1)中 国古代的算盘可以进行哪些进制的计算?(2)请同学们查询 top500.org 网站,然后分析发 现了什么?大家会发现全球预算速度最快的计算机榜单上,有中国的大型计算机!由此展开 讨论。引发对中国现代科学技术的认同感和自信心
2.翻转研讨:重点讨论两个问题: 1)在二进制的基础上,如何表达日常需要计算机处理的信息?包括数值、语言文字、 音频、视频以及计算机指令。 2)计算机采用二进制,人类使用十进制,那么八进制和十六进制等进制有什么用途? 四、作业 无 五、参考资料(应列出学生学习的参考书目,可根据课程自身的特点选择是否填写或者 是否每章都填写) 1.计算机科学概论(第11版),J.Glenn Brookshear著,人民邮电出版社,2013. 六、教学后记(教学后记的内容包括教学计划的执行情况,效果如何,有什么经验教训, 原因是什么,应如何改进等等:应该在该章(节)教学活动结束后填写)
2. 翻转研讨:重点讨论两个问题: 1)在二进制的基础上,如何表达日常需要计算机处理的信息?包括数值、语言文字、 音频、视频以及计算机指令。 2)计算机采用二进制,人类使用十进制,那么八进制和十六进制等进制有什么用途? 四、作业 无 五、参考资料(应列出学生学习的参考书目,可根据课程自身的特点选择是否填写或者 是否每章都填写) 1. 计算机科学概论(第 11 版),J.Glenn Brookshear 著,人民邮电出版社,2013. 六、教学后记(教学后记的内容包括教学计划的执行情况,效果如何,有什么经验教训, 原因是什么,应如何改进等等;应该在该章(节)教学活动结束后填写)
第一章数据结构(16学时,包含8学时上机) 一、教学内容及要求(按节或知识点分配学时,要求反映知识的深度、广度,对知识 点的掌握程度(了解、理解、掌握、灵活运用),技能训练、能力培养的要求等) 1重点掌握内容 ●有关数据结构(DS)的基本概念(0.5学时) 数据元素、数据结构、C语言的数据类型、抽象数据类型 ●线性DS的常用存储结构(4.5学时) )线性表,包括:i.线性表的顺序存储和链式存储结构:ⅱ,顺序存储下的插入和删除算 法:ⅱ.线性链表(重点掌握),其中涵盖单链表的插入、删除和生成算法以及双向链表, 双向循环链表以及相应的算法: b)栈,包括:1.顺序栈(重点掌握),顺序栈的入栈、2.出栈算法:ⅱ.链栈,涵盖链栈 的入栈算法以及链栈的出栈算法: c)队列,包括:.队列的顺序存储,涵盖入队算法、出队算法和循环队列入队、出队算 法(重点掌握):ⅱ队列的链式存储,涵盖链队列入队算法、链队列出队算法: d)栈和队列的应用 ©)数组和串,包括:i.数组的顺序存储结构、iⅱ.二维数组的压缩存储、i.特殊矩阵的 存储实现 ●非线性DS的常见存储结构(4学时) a)树(重点掌握),包括:i二叉树的概念、iⅱ.二叉树的存储结构、ii.二叉树的遍历 b)图,包括:i.图的基本概念:ⅱ.图的存储结构:邻接矩阵和邻接表:ⅱ.图的遍历: 深度优先遍历和广度优先遍历: ●查找、排序算法(6学时) a)查找算法,包括:i顺序查找:监视哨的作用:iⅱ.二分查找:二分查找的适用场合(适 用于哪种存储实现):ⅱ.分块查找:w.树表查找:二叉排序树:v.哈希查找:重点掌握 哈希思想:关键字到地址的映射 b)排序算法,包括:i.排序的基本概念:排序码、稳定性、内部排序和外部排序:ⅱ.简 单排序算法:涵盖简单插入排序:把未排序部分第一个元素与有序部分元素依次比较,并 插入到适当位置:简单选择排序:每次选取无序部分最小的元素,跟无序部分第一个元素 交换:冒泡排序:两两比较,每次将最大的元素交换到最右端:ⅱ.快速排序算法:分
第一章 数据结构(16 学时,包含 8 学时上机) 一、教学内容及要求(按节或知识点分配学时,要求反映知识的深度、广度,对知识 点的掌握程度(了解、理解、掌握、灵活运用),技能训练、能力培养的要求等) 1 重点掌握内容 有关数据结构(DS)的基本概念(0.5 学时) 数据元素、数据结构、C 语言的数据类型、抽象数据类型 线性 DS 的常用存储结构(4.5 学时) a) 线性表,包括:i. 线性表的顺序存储和链式存储结构;ii. 顺序存储下的插入和删除算 法;iii. 线性链表(重点掌握),其中涵盖单链表的插入、删除和生成算法以及双向链表, 双向循环链表以及相应的算法; b) 栈,包括:i. 顺序栈(重点掌握),顺序栈的入栈、2. 出栈算法;ii. 链栈,涵盖链栈 的入栈算法以及链栈的出栈算法; c) 队列,包括:i. 队列的顺序存储,涵盖入队算法、出队算法和循环队列入队、出队算 法(重点掌握);ii. 队列的链式存储,涵盖链队列入队算法、链队列出队算法; d) 栈和队列的应用 e) 数组和串,包括:i. 数组的顺序存储结构、ii. 二维数组的压缩存储、iii. 特殊矩阵的 存储实现 非线性 DS 的常见存储结构(4 学时) a) 树(重点掌握),包括:i. 二叉树的概念、ii. 二叉树的存储结构、iii. 二叉树的遍历 b) 图,包括:i. 图的基本概念;ii. 图的存储结构:邻接矩阵和邻接表;iii. 图的遍历: 深度优先遍历和广度优先遍历; 查找、排序算法(6 学时) a) 查找算法,包括:i. 顺序查找:监视哨的作用;ii. 二分查找:二分查找的适用场合(适 用于哪种存储实现);iii. 分块查找;iv. 树表查找:二叉排序树;v. 哈希查找:重点掌握 哈希思想:关键字到地址的映射 b) 排序算法,包括:i. 排序的基本概念:排序码、稳定性、内部排序和外部排序;ii. 简 单排序算法:涵盖简单插入排序:把未排序部分第一个元素与有序部分元素依次比较,并 插入到适当位置;简单选择排序:每次选取无序部分最小的元素,跟无序部分第一个元素 交换; 冒泡排序:两两比较,每次将最大的元素交换到最右端;iii. 快速排序算法:分
区交换的思想,基准元素的选择,快速排序的稳定性:ⅳ.归并排序算法:二路归并排序 2理解内容 ●顺序存储和链式存储的优缺点对比及应用场合(0.5学时) 3了解内容 ● 链栈(0.3学时) ●链队列(0.2学时) 二、教学重点、难点及解决办法(分别列出教学重点、难点,包括教学方式、教 学手段的选择及教学过程中应注意的问题:哪些内容要深化,那些内容要拓宽等等) 1.顺序存储和链式存储 该知识点属于本章的核心技术,也是重点和难点内容。顺序存储和链式存储各有优缺点, 也有各自适用的应用场合。许多类型的数据逻辑结构都可以采用这两种物理存储来实现,如 何选择是难点。另外一方面,数据的物理存储同其操作算法存在着密切的关系,这种关系也 有必要强调。 解决办法:该知识点可以通过线性表的两种存储模式:顺序表和链表来展开。介绍完线 性表的逻辑特征后,让学生就线性表如何在计算机当中实现物理存储展开讨论,引导他们得 出两种物理存储方式后,讨论两种方案各自的优缺点,指出顺序存储可以节约存储空间,实 现随机访问,但插入删除操作耗时:链式存储需要付出指针的开销,而且只能实现顺序访问, 但插入删除操作方便高效。最后,通过两个实例程序的分析来印证上述结论,有可能的情况 下,组织学生讨论两种实现算法的CPU和存储开销。本知识点的教学还要同上机实验结合 起来进行。 2.双向链表插入算法指针修改顺序 该知识点属于本章重点和难点内容。链式存储相对于顺序存储而言对内存要求低,不需 要系统确保连续存储空间,逻辑上顺序的元素在屋里上可以不连续,而是通过指针表达元素 之间的逻辑关系:链式存储的插入和删除操作也简单高效,只需要修改指针域,而不会引起 元素移动。本部分知识的重点是单链表的结点结构描述以及单链表的插入删除操作算法。由 于涉及到指针,因此指针域的修改是难点,尤其对于双向链表,由于指针数量多,其修改顺 序是一个难点,错误的修改顺序会导致链表的断链。 解决办法:相对于单向链表,双向链表访问直接前趋和直接后继都很方便,但是在插入 和删除操作时,需要修改更多的指针,并且指针的修改顺序有严格要求,否则会引起链表的 断链。本知识点可通过案例教学的模式展开,先给出教材的案例,让学生讨论插入操作时指
区交换的思想,基准元素的选择,快速排序的稳定性;iv. 归并排序算法:二路归并排序 2 理解内容 顺序存储和链式存储的优缺点对比及应用场合(0.5 学时) 3 了解内容 链栈(0.3 学时) 链队列(0.2 学时) 二、教学重点、难点及解决办法(分别列出教学重点、难点,包括教学方式、教 学手段的选择及教学过程中应注意的问题;哪些内容要深化,那些内容要拓宽等等) 1. 顺序存储和链式存储 该知识点属于本章的核心技术,也是重点和难点内容。顺序存储和链式存储各有优缺点, 也有各自适用的应用场合。许多类型的数据逻辑结构都可以采用这两种物理存储来实现,如 何选择是难点。另外一方面,数据的物理存储同其操作算法存在着密切的关系,这种关系也 有必要强调。 解决办法:该知识点可以通过线性表的两种存储模式:顺序表和链表来展开。介绍完线 性表的逻辑特征后,让学生就线性表如何在计算机当中实现物理存储展开讨论,引导他们得 出两种物理存储方式后,讨论两种方案各自的优缺点,指出顺序存储可以节约存储空间,实 现随机访问,但插入删除操作耗时;链式存储需要付出指针的开销,而且只能实现顺序访问, 但插入删除操作方便高效。最后,通过两个实例程序的分析来印证上述结论,有可能的情况 下,组织学生讨论两种实现算法的 CPU 和存储开销。本知识点的教学还要同上机实验结合 起来进行。 2. 双向链表插入算法指针修改顺序 该知识点属于本章重点和难点内容。链式存储相对于顺序存储而言对内存要求低,不需 要系统确保连续存储空间,逻辑上顺序的元素在屋里上可以不连续,而是通过指针表达元素 之间的逻辑关系;链式存储的插入和删除操作也简单高效,只需要修改指针域,而不会引起 元素移动。本部分知识的重点是单链表的结点结构描述以及单链表的插入删除操作算法。由 于涉及到指针,因此指针域的修改是难点,尤其对于双向链表,由于指针数量多,其修改顺 序是一个难点,错误的修改顺序会导致链表的断链。 解决办法:相对于单向链表,双向链表访问直接前趋和直接后继都很方便,但是在插入 和删除操作时,需要修改更多的指针,并且指针的修改顺序有严格要求,否则会引起链表的 断链。本知识点可通过案例教学的模式展开,先给出教材的案例,让学生讨论插入操作时指
针的修改顺序。然后给出一个修改后的案例,讨论按照教材指针的修改顺序是否能达成目标。 讨论过程中会发现,插入操作失败,因为出现了结点地址丢失,也就是断链的情况。进而总 结为何会出现断链以及如何避免断链。本知识点的教学也应当同上机实验结合起来进行。 3.二叉树的遍历和重构 该知识点属于本章重点和难点内容。二叉树是学生接触到的第一种非线性结构,其存储 方式主要采用链式存储模式,常见的是二叉链表和三叉链表。二叉树的二叉链表存储以及在 这种存储模式上的遍历操作是本部分的重点:其中,二叉链表的三种遍历方式以及基于遍历 序列的二叉树重构是本部分的难点,重点引导学生体会在二叉树算法中体现出来的递归算法 特征。 解决办法:本知识点教学过程中强调两个核心,一是遍历算法中体现出来的递归思想, 二是二叉树重构条件。递归算法的灌输可以从二叉树的定义开始,为了帮助学生理解递归的 核心,可以将经典例子汉诺塔的递归算法作为实例。有了递归算法之后,二叉树的遍历算法 变得非常简单和直观,但是要强调递归执行的复杂性,并且提醒学生留意递归的收敛,避免 出现无穷递归。关于递归的执行,可以带领学生以一个简单的二叉树的遍历来进行分析。关 于二叉树的重构,可以通过设问讨论的方式进行。再得到一棵二叉树的三种遍历序列之后, 提问学生,利用哪两种遍历序列可以重构二叉树,进而分析原因。最终得出结论,先序和后 序遍历序列中可以识别出树的根节点,而中序遍历序列可以利用根结点将树划分为两个子 树,在上述思想的基础上,在对子树利用递归分析,就可以重构二叉树。 4.常见排序算法和性能评价 该知识点属于本章重点和难点内容。查找和排序属于数据结构部分必须掌握的重要内 容,其中排序算法比较多,部分排序算法比较复杂,学生掌握起来有一定的难度,比如快速 排序、归并排序,都需要一定的技巧,也属于本知识点的难点。 解决办法:本部分涉及到的排序算法较多,而且比较复杂。教学过程中,首先以一个具 体无序序列实例来讲解排序的思想,从最简单的排序方式开始。在讲解清楚各种排序方式的 思想后,再介绍排序算法。本部分涉及到的算法应当同实验结合起来,确保学生上机实验之 前已经深刻理解算法精髓。 三、教学设计(如何讲授本章内容,尤其是重点、难点内容的设计、构思) 1.案例教学 链式结构的指针域需要重点讲授,同指针相关的内容需要进行深化和拓宽。这一部分要
针的修改顺序。然后给出一个修改后的案例,讨论按照教材指针的修改顺序是否能达成目标。 讨论过程中会发现,插入操作失败,因为出现了结点地址丢失,也就是断链的情况。进而总 结为何会出现断链以及如何避免断链。本知识点的教学也应当同上机实验结合起来进行。 3. 二叉树的遍历和重构 该知识点属于本章重点和难点内容。二叉树是学生接触到的第一种非线性结构,其存储 方式主要采用链式存储模式,常见的是二叉链表和三叉链表。二叉树的二叉链表存储以及在 这种存储模式上的遍历操作是本部分的重点;其中,二叉链表的三种遍历方式以及基于遍历 序列的二叉树重构是本部分的难点,重点引导学生体会在二叉树算法中体现出来的递归算法 特征。 解决办法:本知识点教学过程中强调两个核心,一是遍历算法中体现出来的递归思想, 二是二叉树重构条件。递归算法的灌输可以从二叉树的定义开始,为了帮助学生理解递归的 核心,可以将经典例子汉诺塔的递归算法作为实例。有了递归算法之后,二叉树的遍历算法 变得非常简单和直观,但是要强调递归执行的复杂性,并且提醒学生留意递归的收敛,避免 出现无穷递归。关于递归的执行,可以带领学生以一个简单的二叉树的遍历来进行分析。关 于二叉树的重构,可以通过设问讨论的方式进行。再得到一棵二叉树的三种遍历序列之后, 提问学生,利用哪两种遍历序列可以重构二叉树,进而分析原因。最终得出结论,先序和后 序遍历序列中可以识别出树的根节点,而中序遍历序列可以利用根结点将树划分为两个子 树,在上述思想的基础上,在对子树利用递归分析,就可以重构二叉树。 4. 常见排序算法和性能评价 该知识点属于本章重点和难点内容。查找和排序属于数据结构部分必须掌握的重要内 容,其中排序算法比较多,部分排序算法比较复杂,学生掌握起来有一定的难度,比如快速 排序、归并排序,都需要一定的技巧,也属于本知识点的难点。 解决办法:本部分涉及到的排序算法较多,而且比较复杂。教学过程中,首先以一个具 体无序序列实例来讲解排序的思想,从最简单的排序方式开始。在讲解清楚各种排序方式的 思想后,再介绍排序算法。本部分涉及到的算法应当同实验结合起来,确保学生上机实验之 前已经深刻理解算法精髓。 三、教学设计(如何讲授本章内容,尤其是重点、难点内容的设计、构思) 1. 案例教学 链式结构的指针域需要重点讲授,同指针相关的内容需要进行深化和拓宽。这一部分要
多结合算法实例进行讲解。本章是本专业该门课程的重点和核心,数据结构和算法也涉及到 C语言的许多重要知识,诸如指针和结构体,参数传递方法等。对于大二的学生而言较难准 确掌握:加之本学院课时数设置较少,因此授课难度很大。 授课过程中,应多结合实例进行教学,对于算法的讲解,重点在于算法逻辑的描述,算 法描述环节可以大量的利用动画或其他多媒体工具,具体的C语言实现不宜讲得过细,而 是留在实验环节让学生自行消化、体会。 2.项目驱动的教学 为了确保教学质量,本部分安排了8个学时的上机实验。分别涵盖了顺序表、单链表、 双向链表、常用排序算法等。本课程将上机实验同课程项目结合起来,各章节实验均作为最 终项目的组成部分。按照项目驱动的模式进行课程设计,要求学生以小组的形式利用所学的 操作系统、数据结构、软件工程和数据库知识,自行设计实现一个题库管理系统。在这个项 目实施过程中,可以着力锻炼学生们的吃苦耐劳、勇于创新的工匠精神。该项目会贯穿整个 课程的始终,教师仅提出框架性的要求,软件系统的功能需求分析、设计、编码实现和测试 均由同学们自己完成,对学生的自主学习、吃苦耐劳、科研创新、团队合作能力都具有巨大 的锻炼作用。 四、作业 作业:10、11、14、17、21、22、23、26、28 思考:2、3、5、6 五、参考资料(应列出学生学习的参考书目,可根据课程自身的特点选择是否填写或者 是否每章都填写) 1.数据结构与算法分析一C语言描述(第二版),维斯著,机械工业出版社,2004 2.数据结构(C语言版),严蔚敏著,清华大学出版社,1997. 六、教学后记(教学后记的内容包括教学计划的执行情况,效果如何,有什么经验教训, 原因是什么,应如何改进等等;应该在该章(节)教学活动结束后填写)
多结合算法实例进行讲解。本章是本专业该门课程的重点和核心,数据结构和算法也涉及到 C 语言的许多重要知识,诸如指针和结构体,参数传递方法等。对于大二的学生而言较难准 确掌握;加之本学院课时数设置较少,因此授课难度很大。 授课过程中,应多结合实例进行教学,对于算法的讲解,重点在于算法逻辑的描述,算 法描述环节可以大量的利用动画或其他多媒体工具,具体的 C 语言实现不宜讲得过细,而 是留在实验环节让学生自行消化、体会。 2. 项目驱动的教学 为了确保教学质量,本部分安排了 8 个学时的上机实验。分别涵盖了顺序表、单链表、 双向链表、常用排序算法等。本课程将上机实验同课程项目结合起来,各章节实验均作为最 终项目的组成部分。按照项目驱动的模式进行课程设计,要求学生以小组的形式利用所学的 操作系统、数据结构、软件工程和数据库知识,自行设计实现一个题库管理系统。在这个项 目实施过程中,可以着力锻炼学生们的吃苦耐劳、勇于创新的工匠精神。该项目会贯穿整个 课程的始终,教师仅提出框架性的要求,软件系统的功能需求分析、设计、编码实现和测试 均由同学们自己完成,对学生的自主学习、吃苦耐劳、科研创新、团队合作能力都具有巨大 的锻炼作用。 四、作业 作业:10、11、14、17、21、22、23、26、28 思考:2、3、5、6 五、参考资料(应列出学生学习的参考书目,可根据课程自身的特点选择是否填写或者 是否每章都填写) 1. 数据结构与算法分析——C 语言描述(第二版),维斯 著,机械工业出版社,2004. 2. 数据结构(C 语言版),严蔚敏著,清华大学出版社,1997. 六、教学后记(教学后记的内容包括教学计划的执行情况,效果如何,有什么经验教训, 原因是什么,应如何改进等等;应该在该章(节)教学活动结束后填写)
第二章操作系统(8学时) 一、教学内容及要求(按节或知识点分配学时,要求反映知识的深度、广度,对知识 点的掌握程度(了解、理解、掌握、灵活运用),技能训练、能力培养的要求等) 1重点掌握内容 ●处理机管理(重点掌握)(3学时) )进程的概念:搞清楚进程和处理机管理的必然联系,熟悉进程的唯一标志:进程控 制块PCB b)进程的控制:进程的状态转换,以及控制进程状态转换的原语 ©)进程的调度:五种调度方式,各自的优缺点 d)进程的互斥和同步以及进程之间的通信(重点和难点),包括:1.基本概念:临界 资源、临界区:2.互斥和同步的含义:3.信号量和P、V操作:4.P、V操作实现的进 程间互斥:5.P、V操作实现的进程间同步:掌握实例:计算进程和打印进程:6.生产 者一消费者模型(难点):7.进程通信的方式: e)死锁以及死锁的预防 f)介绍了解线程的概念和特性:线程和进程的关系 ·存储管理(重点掌握)(2.5学时) )存储管理的功能,包括:内存的分配和回收:内存的共享:存储保护:地址映射: 地址空间和存储空间,重定位概念,:内存扩充:扩充的实质是什么: b)分区存储管理,包括:1.固定分区:优缺点:2.可变分区:优缺点,拼接技术:3. 存储分配策略:FF、BF、WF,三者的比较:4.覆盖和交换技术的基本思想: ©)虚拟存储技术:本质:部分装入、部分交换 d分页和段页式管理,包括:分页存储管理:页面地址转换:各种相关表结构:缺页 中断处理(重点):页面淘汰算法:FIFO、LRU、LFU:分页管理的特点:效率高、存 储保护功能、重定位方便、页面共享容易、开销大:抖动现象:原因、处理方法: 2理解内容 ●设备管理和文件管理(掌握)(0.5学时) a)数据传送控制方式,包括:1.中断(重点):2.DMA(重点):3.通道方式 b)缓冲技术:重点理解缓冲的思想 c)虚拟设备管理和SPOOLing技术
第二章 操作系统(8 学时) 一、教学内容及要求(按节或知识点分配学时,要求反映知识的深度、广度,对知识 点的掌握程度(了解、理解、掌握、灵活运用),技能训练、能力培养的要求等) 1 重点掌握内容 处理机管理(重点掌握)(3 学时) a) 进程的概念:搞清楚进程和处理机管理的必然联系,熟悉进程的唯一标志:进程控 制块 PCB b) 进程的控制:进程的状态转换,以及控制进程状态转换的原语 c) 进程的调度:五种调度方式,各自的优缺点 d) 进程的互斥和同步以及进程之间的通信(重点和难点),包括:1. 基本概念:临界 资源、临界区;2. 互斥和同步的含义;3. 信号量和 P、V 操作;4. P、V 操作实现的进 程间互斥;5. P、V 操作实现的进程间同步:掌握实例:计算进程和打印进程;6. 生产 者-消费者模型(难点);7. 进程通信的方式; e) 死锁以及死锁的预防 f) 介绍了解线程的概念和特性:线程和进程的关系 存储管理(重点掌握)(2.5 学时) a) 存储管理的功能,包括:内存的分配和回收;内存的共享;存储保护;地址映射; 地址空间和存储空间,重定位概念,;内存扩充:扩充的实质是什么; b) 分区存储管理,包括:1. 固定分区:优缺点;2. 可变分区:优缺点,拼接技术;3. 存储分配策略:FF、BF、WF,三者的比较;4. 覆盖和交换技术的基本思想; c) 虚拟存储技术:本质:部分装入、部分交换 d) 分页和段页式管理,包括:分页存储管理;页面地址转换:各种相关表结构;缺页 中断处理(重点);页面淘汰算法:FIFO、LRU、LFU;分页管理的特点:效率高、存 储保护功能、重定位方便、页面共享容易、开销大;抖动现象:原因、处理方法; 2 理解内容 设备管理和文件管理(掌握)(0.5 学时) a) 数据传送控制方式,包括:1. 中断(重点);2. DMA(重点);3. 通道方式 b) 缓冲技术:重点理解缓冲的思想 c) 虚拟设备管理和 SPOOLing 技术