软件工程专业卓越工程师本科阶段教学大纲

更新时间:2024-04-05 05:00:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

西南交通大学软件工程专业

卓越工程师本科阶段课程教学大纲

西南交通大学 二〇一一年六月

1

目录

《计算方法》教学大纲 ................................................................................................................... 1 《数字电子技术》教学大纲 ........................................................................................................... 4 《离散数学》教学大纲 ................................................................................................................... 6 《数据结构与算法》教学大纲 ..................................................................................................... 10 《计算机组成原理》教学大纲 ..................................................................................................... 15 《操作系统》教学大纲 ................................................................................................................. 18 《编译原理》教学大纲 ................................................................................................................. 22 《软件工程导论》教学大纲 ......................................................................................................... 26 《汇编语言程序设计》教学大纲 ................................................................................................. 30 《计算机网络》教学大纲 ............................................................................................................. 34 《数据库原理与设计》教学大纲 ................................................................................................. 38 《高级语言程序设计》教学大纲 ................................................................................................. 42 《面向对象程序设计》教学大纲 ................................................................................................. 47 《软件系统分析与设计》教学大纲 ............................................................................................. 52 《Java语言程序设计》教学大纲 ................................................................................................ 55 《嵌入式系统开发》教学大纲 ..................................................................................................... 61 《软件质量保证与测试》教学大纲 ............................................................................................. 65 《人机交互技术》教学大纲 ......................................................................................................... 70 《软件项目管理》教学大纲 ......................................................................................................... 76 《计算机图形学》教学大纲 ......................................................................................................... 80 《信息系统安全工程》教学大纲 ................................................................................................. 83 《铁路信息系统架构与集成》教学大纲 ..................................................................................... 91

2

3

《计算方法》教学大纲

中文 英文 计算方法 Computational Method C 信息科学与技术学院 曾蓉 总学时 学分 授课方式 撰搞人 32 2学分 讲授 曾蓉 课程名称 开课单位 授课教师 一、课程的性质和目的

《计算方法》是一门应用性很强的基础课,它以数学问题为对象,研究适用于科学计算与工程计算的数值计算方法及相关理论,它是程序设计和对数值结果进行分析的依据和基础,是用计算机进行科学计算全过程的一个重要环节。

通过本课程的学习及上机实习,使学生正确理解有关的基本概念,掌握常用的基本数值方法,培养和提高应用计算机进行科学与工程计算的能力,为以后的学习及应用打下良好的基础。 二、课程教学内容

第一章 绪论(2学时) 1.教学内容:

误差与运算误差分析;

绝对误差、相对误差和有效数字的概念; 算法的概念; 算法的特点;

算法的设计基本方法;算法时间复杂度和空间复杂度的概念及表示。 2.教学要求:

(1)了解误差的来源、截断误差,舍入误差及其对数值计算的影响; (2)充分理解绝对误差、相对误差与有效数字的概念; (3)基本掌握数值型算法的特点、设计基本方法以及复杂度。 矩阵与线性代数方程组(6学时) 教学内容: 高斯顺序消元法;

高斯列主、全主元素消元法; 高斯-约当消元法(无回代); 雅可比迭代法;

高斯-赛德尔迭代法,超松弛法。 2. 教学要求:

(1)了解超松弛法以及上述算法的收敛条件;

(2)理解高斯消元法、选列主元以及高斯-约当消元法(无回代)的技术; (3)牢固掌握雅可比迭代法,高斯-赛德尔迭代法。

1

第三章 方程求根(4学时) 1. 教学内容: 方程求根的基本过程; 对分法求方程的根; 简单迭代法; Aitken加速迭代法; 牛顿迭代法; 插值法(弦截法); 迭代公式的收敛阶(速度)。 2. 教学要求:

(1)了解收敛的阶的概念;

(2)充分理解迭代法的基本思想及收敛性; (3)牢固掌握二分法求解、牛顿法与割线法。 第四章 代数插值法(8学时) 1.教学内容:

插值的基本概念,包括:问题的提法、插值多项式的存在唯一性; 拉格朗日插值多项式的构造及其插值多项式的余项; 差商(均差)及牛顿插值公式、差分与等距节点插值公式;

最小二乘曲线拟合的基本概念及用正交多项式作最小二乘曲线拟合。 2.教学要求:

(1)充分理解最小二乘曲线拟合的基本概念;

(2)掌握插值概念及插值多项式的存在性、唯一性,差商(均差)及差分的概念与性质; (3)重点掌握拉格朗日插值多项式的构造及其插值多项式的余项、牛顿插值公式以及等距节点插值公式。

第五章 数值微分与积分(8学时) 1.教学内容:

数值求积公式、插值型求积公式、代数精度;

Newton-Cotes公式(等距节点的插值型求积公式),包括:Cotes系数、常用公式、插值型求积公式余项以及复化求积公式;

逐次半分法、逐次半分加速、。 2.教学要求:

(1)深入理解数值微分公式的导出方法及常用的数值微分公式,代数精度和截断误差的概念;

(2)掌握待定系数法、数值积分公式的导出方法、复化梯形以及复化辛卜生公式; (3)掌握龙贝格求积法。 常微分方程数值解(4学时) 1.教学内容:

常微分方程数值解的基本思想:化导数为差商、数值积分法和台劳展开法;

2

欧拉方法:基本公式、误差分析、步长的自动选择和改进的欧拉公式; 龙格-库塔法。 2.教学要求:

(1)了解截断误差的含义; (2)充分理解龙格-库塔法; (3)重点掌握欧拉法与梯形公式。 三、课程总体安排

讲课:28学时 习题课:2学时: 机动:2学时 四、课程的教学基本要求

1. 上机实验是本门课必不可少的教学环节,由于目前所执行32学时,因此上机实验作为课外练习,实验成绩占期末总成绩的10%。每个学生将从给出的5个实验中完成了相应的实验,才能获得给定的实验分数。

2.作业是巩固学习效果的重要方式。平时作业、课堂作业和考勤占期末成绩的20%。平时作业完成得质量是主要考核依据。 五、本课程与其它课程的联系

本课程的先修课有:高等数学、线性代数、FORTRAN语言程序设计或C语言。 本课程的后续课有:线性规划与非线性规划、最优化计算方法等。 六、建议教材及参考教材

1.建议教材:

《数值分析与算法》,徐士良 编著,机械工业出版社 2.参考教材:

《数值方法》[美]John H. Mathews Kurtis D. Fink著,周璐、陈渝等译,电子工业出版社

《数值分析》李庆扬 王能超 易大义著,清华大学出版社

3

《数字电子技术》教学大纲

中文 英文 数字电子技术 Digital Electronic Technique 信息科学与技术学院 白天蕊 总学时 学分 授课方式 撰搞人 68 4学分 讲授与实验 白天蕊 课程名称 开课单位 授课教师 一、课程的性质和目的

本课程是电信类和电气类各本科专业的一门重要的技术基础课。本课程的任务是在学习完“电路分析”等课程的基础上,使学生获得电子技术方面的基本理论、基本知识,掌握数字逻辑系统分析和设计的基本方法,为学习有关专业课程及进行电子电路设计和科学研究打下坚实的基础。 二、课程教学内容 1. 数制与码制

掌握二进制数和十进制数及它们之间的相互转换,二进制数的基本运算及各种码制。 2. 逻辑代数及其实现方式

熟练掌握逻辑代数的基本定律、逻辑代数的各种化简方法,并掌握用基本门电路实现逻辑函数的方法。 3. 组合逻辑电路

掌握组合逻辑电路的分析和设计方法,了解组合电路中存在的竞争和冒险现象。掌握各种集成组合电路(如加法器、数据比较器、编码器、译码器、多路选择器等)的组成原理和使用方法。 4. 时序电路

了解基本RS触发器、JK触发器和D触发器的组成原理、掌握寄存器和各种计数器的组成和工作原理,掌握时序电路的分析和设计方法,了解RAM的工作原理。 5. 数字集成电路

了解TTL、CMOS集成门电路的构成、工作原理和传输特性,掌握各种数字集成电路(如加法器、数据比较器、编码器、译码器、多路选择器、寄存器、计数器等)的组成原理、功能、扩展和使用方法,并能用这些集成电路设计数字电路。 6. 可编程器件

了解可编程器件的基本结构,掌握各种ROM(包括ROM、PROM、EPROM、EEPROM等)的使用方法,了解可编程逻辑阵列PLA和可编程阵列逻辑PAL的内部结构,掌握通用阵列逻辑GAL的编程原理,并能用GAL设计电路。 7. 脉冲波形的产生与整形

了解多谐振荡器振荡器、石英晶体振荡器、单稳态触发器、施密特触发器的工作原理,掌握各种集成单稳态触发器、集成施密特触发器的功能和使用方法,了解集成定时器555

4

的工作原理,掌握555的功能和使用方法,并能用555设计电路。 8. A/D、D/A转换

了解A/D、D/A转换器 的工作原理,掌握各种常见的集成A/D、D/A转换器的使用方法。

9.数字系统设计

了解数字系统常用的两种实现方法:用中规模集成器件实现方法和用可编程逻辑器件实现方法,掌握自上而下的设计方法。 三、 能力培养的要求:

1.分析能力

对各种组合逻辑电路和时序逻辑电路,应具有分析电路的功能、电路中存在的问题、电路输入输出波形等方面的能力。

2.设计能力

对各种组合问题和时序问题,应具有根据问题的要求设计电路的能力,并具有使用可编程器件设计电路的能力。

3.自学能力

用具有自学和阅读电子技术参考书、查阅电子其间参考手册的能力。 4.表达能力

作业要求清晰、整洁、严谨,电路设计图要求准确。 四、几点说明

1.本课程是一门技术基础课,课程的任务是使学生获得电子技术方面的基本理论和基本知识,为后续课程的学习打好基础。在有限的学时之内,无法全面铺开,所以有些内容(如RAM)只作原理性介绍,更详细的内容应在专业课中讲授。

2.本课程还是一门实践性很强的课程,应当大力提倡理论教学和实践性教学环节的有机结合,只有加强实践教学,才能巩固和深化所学的理论知识。

3.考虑到当前可编程器件(PLD)应用的日益广泛,本课程从“可编程”角度出发将ROM(包括RMO、PROM、EPROM、EEPROM)、PLA、PAL和GAL等可编程其间的基本结构、原理及应用等内容单设一章进行介绍。

4.本课程要求精讲多练,建议习题课和课程设计的课时不少于参考学时的10%。要保证习题课、课程设计的质量可数量。

5

《离散数学》教学大纲

中文 英文 离散数学 Discrete Mathematics 信息科学与技术学院 李天瑞、赵宏宇、喻琇瑛 总学时 学分 授课方式 撰搞人 68学时 4学分 讲授 李天瑞 课程名称 开课单位 授课教师 一、课程的性质和目的

离散数学是现代数学的一个重要分支,是计算机科学与技术等相关专业的核心基础课程。它以研究世界事物间的结构和相互关系为主要目标。离散数学理论体系完整,结构严谨,具有很多相应的典型实例。对于学习有关计算机的理论与实践,离散数学是一门必不可少的工具性学科。通过对本课程的学习,使学生能够接受现代数学关于离散结构的观点,从系统结构的研究方法出发,研究事物间的有关属性;同时会应用数形结合方法,使事物论证简洁直观;此外通过描述方法和严密思维方法的训练,使学生具有良好的抽象思维和逻辑思维能力。总之,离散数学不仅是一门服务于专业的工具性学科,而且也是一门培养学生具有逻辑严密素质的核心课程。 二、课程教学内容

第一章 命题逻辑(10学时) 1.教学内容

(1) 命题及命题联结词; (2) 命题公式; (3) 自然语言翻译;

(4) 永真式,矛盾式与可满足式; (5) 等价与蕴涵; (6) 对偶与范式; (7) 命题推理。 2.教学要求

(1) 熟悉对自然语言的形式描述,理解常用联结词的逻辑含义,掌握命题公式等价

和蕴涵关系的含义和证明;

(2) 能利用真值表和命题公式等方法,进行命题演算和范式表示; (3) 能熟练地使用规则进行命题逻辑的推理证明 第二章 谓词逻辑(8学时) 1.教学内容

(1) 谓词,量词和谓词公式; (2) 特性谓词; (3) 自然语言翻译;

6

(4) 谓词公式的解释; (5) 等价与蕴涵; (6) 范式; (7) 谓词逻辑演绎。 2.教学要求

(1) 要求掌握谓词、论域、量词、量词的作用域、约束变元和自由变元等基本概念

和相互间的关系以及一阶谓词逻辑的表示方法; (2) 掌握谓词公式的定义和谓词公式的等价和蕴涵;

(3) 能熟练地运用基本的等价关系,蕴涵关系和规则进行一阶谓词逻辑推理。 第三章 集合(4学时) 1.教学内容

(1) 集合及其表示; (2) 子集,集合的相等; (3) 集合的运算及性质; (4) 空集、全集和幂集; (5) 集合的基数。 2.教学要求

(1) 要求掌握集合的定义、性质和运算定律; (2) 了解集合的基数概念。 第四章 关系(12学时) 1.教学内容

(1) 序偶,笛卡尔积和关系; (2) 关系的表示、关系的运算; (3) 逆关系、关系的合成、关系的性质; (4) 关系的闭包及性质; (5) 集合的划分与等价关系; (6) 集合的覆盖与相容关系; (7) 半序和半序集; (8) 全序,良序和拟序。 2.教学要求

(1) 掌握关系的定义,运算和性质,闭包的定义和性质; (2) 集合的划分和覆盖的原理和性质;

(3) 对序关系要求掌握半序,半序集,哈斯图并搞清各特殊元素; 第五章 函数(4学时)

1.教学内容 (1) 函数的定义; (2) 特殊函数及性质; (3) 函数的合成;

7

(4) 逆函数。 2.教学要求

(1) 掌握入射、满射和双射的定义,性质,构造和判别; (2) 掌握复合函数和逆函数定义和性质。 第六章 代数基础(14学时)

1.教学内容

(1) 代数运算及性质、代数系统 (2) 子代数,积代数和商代数 (3) 代数系统的同态与同构 (4) 半群、群和子群 (5) 交换群、循环群、置换群 (6) 陪集、拉格朗日定理 (7) 正规子群、商群 (8) 环和域 (9) 格、几种特殊格 2.教学要求

(1) 掌握代数系统的一般概念和理论,重点要掌握二元运算的性质和特殊元素的定

义与性质;

(2) 要用系统结构的观点研究半群、群、子群等代数系统的结构,掌握子群的判别

和证明;

(3) 掌握交换群、循环群和置换群的结构和性质; (4) 结合同态与同构的特性研究计算机中常用的代数方法; (5) 了解环和域的结构和性质。 第七章 图论基础(14学时)

1.教学内容

(1) 图的基本概念和性质 (2) 图的矩阵表示 (3) 欧拉图、哈密尔顿图 (4) 平面图、二分图 (5) 对偶图与着色 (6) 树与生成树、根树 2.教学要求

(1) 掌握图的基本概念、性质和表示方法; (2) 掌握图中的可达性和连通性的概念和求解方法;

(3) 对一些特殊的图,如欧拉图、平面图、二分图、对偶图、树和根树的性质和判

断条件要作深入的理解。

三、课程总体安排

(1) 讲课:56学时;

8

(2) 习题课:6学时; (3) 机动:2学时。 四、课程的教学基本要求

(1) 对常见的离散对象和相互间关系能根据具体问题采用恰当的计算、判定和证明

方法;能熟练地应用相关定律、定理和算法完成常见离散对象相互间关系的运算;具有自学和阅读与计算机科学相关的现代数学的对应参考书。

(2) 作业是巩固学习效果的重要方式;平时作业、课堂作业和考勤占期末成绩的

30%;平时作业完成的质量是主要考核依据。

五、本课程与其它课程的联系

(1) 本课程的先修课有:高等数学、线性代数。 (2) 本课程的后续课有:数据结构、数据库系统原理等。 六、建议教材及参考教材

1.建议教材:

《离散数学》,左孝凌等,上海科学技术文献出版社,1988 2.参考教材:

《离散数学(国家十五规划教材)》,耿素云,屈婉玲,高教出版社,2004。 《离散数学及其应用(第4版)》,[美]Kenneth H. Rosen著,袁崇义等译,机械

工业出版社,2002。

9

《数据结构与算法》教学大纲

中文 英文 数据结构与算法 总学时 学分 授课方式 撰搞人 85 5学分 讲授与实验 周荣辉 课程名称 开课单位 授课教师 Data Structure and Algorithm 信息科学与技术学院 周荣辉,赵宏宇,周杲 一、课程的性质和目的

《数据结构与算法》课程是软件工程专业的核心专业基础必修课程。该课程是在高级语言程序设计的基础上,讲授各种常用数据结构的逻辑结构、存储结构、基本操作及算法设计的基本知识。通过该课程的学习,使学生学会分析数据对象特性,选择合适的数据结构、存储结构及相应的基本处理算法,培养学生分析问题、解决问题的能力和实际动手的能力;使学生初步掌握算法的时间空间复杂度分析技巧,既为学生学习后继课程打好基础,也为将来软件开发提供理论指导。 二、课程教学内容 第一章 绪论(3学时)

1.教学内容:

数据、数据元素、数据项、数据对象、数据结构、数据类型等概念和术语; 数据的逻辑结构和存储结构的概念; 抽象数据类型的概念;

算法的概念及特性;类C语言描述算法的基本知识; 算法分析;算法时间复杂度和空间复杂度的概念及表示; 数据结构的性质、在计算机科学和课程体系中的地位。 2.教学要求:

(1)了解数据结构在计算机科学中的地位,以及数据结构课程与软件工程专业其它课程之间的关系;

(2)充分理解与数据、数据结构、数据类型等基本概念; (3)基本掌握算法分析得基本方法。

第二章 线性表(8学时)

1.教学内容:

线性表的定义及逻辑特征;

线性表的顺序存储结构及基本操作的算法实现; 线性表的链式存储结构及基本操作的算法实现;

循环链表与双向循环链表表示线性表的基本方法及插入、删除算法的实现; 线性表的应用:一元稀疏多项式的表示与相加运算的实现 2.教学要求:

(1)了解具有哪些特征的数据对象适合用线性表表示;

10

(2)理解线性表的顺序表示和链式表示如何数据元素之间的关系的。

(3)牢固掌握线性表的顺序表示和链式表示的算法实现方法级算法时间复杂度。 第三章 栈和队列(6学时)

1.教学内容: 栈的定义及特点;

栈的顺序存储结构和链式存储结构的实现,以及基本操作的算法实现; 栈的应用:栈在递归和函数调用中的作用;算术表达式计算的实现; 队列的定义及特点; 队列的链式存储实现;

循环队列的基本概念和原理,以及算法实现; 2.教学要求:

(1)充分理解栈和队列的基本概念和特征;

(2)牢固掌握栈和队列的顺序存储结构和链式存储结构,以及基本操作的算法实现,特别是顺序队列的实现方法。 第四章 串(4学时)

1.教学内容: 串的定义及术语;

串的存贮结构:顺序存储结构、堆式存储结构及存储映像、块链存储表示及主要算法实现;

串的模式匹配及KMP算法 2.教学要求:

(1)充分理解串的定义、相关术语及结构特性;

(2)掌握串的顺序存储结构和堆式存储结构的实现技术及主要算法实现; (3)重点理解和掌握串的模式匹配和KMP算法的理论和算法实现。

第五章 数组(4学时)

1.教学内容:

数组的定义、存贮结构 数组元素的地址计算方法 特殊矩阵的概念及压缩存贮方法

稀疏矩阵的概念、三元组表示及顺序实现与十字链表实现 广义表的定义与存储结构 2.教学要求:

(1)深入理解数组的结构特性、特殊矩阵、稀疏矩阵、广义表的基本概念; (2)掌握数组顺序存储实现技术和元素的地址计算方法; (3)掌握特殊矩阵的压缩存储技术。

第六章 树与二叉树(8学时)

1.教学内容:

树的定义、相关术语、逻辑表示;

11

二叉树的定义及二叉树的性质 二叉树的存储表示 二叉树的遍历

二叉树的线索化及线索树的遍历 树的存储结构、二叉树与树之间的转换 哈夫曼树的生成方法及哈夫曼编码 2.教学要求:

(1)充分理解树和二叉树的概念、二叉树的性质、树的存储结构;

(2)重点掌握二叉树的顺序存储结构和链式存储结构、二叉树的遍历及其算法实现;线索二叉树的表示及实现;哈夫曼树的构造及编码实现技术。 第七章 图(8学时)

1.教学内容:

图的基本概念及相关术语;

图的存贮结构和链式存储结构实现的原理和实现技术; 图的遍历:深度优先遍历和广度优先遍历及其算法实现; 最小生成树的概念,Prim算法和Kruskl算法的实现技术; 拓扑排序的概念及实现技术; 关键路径的概念及其实现技术; 最短路径的概念及其实现技术。 2.教学要求:

(1)深入理解图的基本概念;

(2)深入理解图的遍历、最小生成树、拓扑排序、关键路径、最短路径的概念; (3)掌握图的顺序存储和链式存储实现方法;

(4)掌握图深度优先遍历和广度优先遍历、Prim算法、拓扑排序算法、最短路径算法的实现方法。 第八章 查栈(8学时)

1.教学内容:

查找的基本概念;

静态与动态查栈表的组织及存贮方式;

静态表的顺序查找;拆半查找、索引顺序查找方法; 二叉排序树及平衡二叉树的组织与基本处理算法; B-的概念及构造算法;

哈希查找方法及哈希表构造方法。 2.教学要求:

(1)深入理解查找的基本概念;

(2)深入理解顺序查找、折半查找、索引顺序查找、二叉排序树、平衡二叉树、B_树、哈希查找的基本概念;

(3)掌握顺序查找算法、折半查找算法、二叉排序树德构造及查找算法、哈希表的

12

构造技术及查找方法。 第九章 排序(6学时)

1.教学内容:

排序的基本概念及算法的评价指标; 直接插入排序 希尔排序 冒泡排序 快速排序 简单选择排序 堆排序 归并排序 基数排序 2.教学要求:

(1)深入理解排序的基本概念和每种排序方法的基本思想 (2)掌握每种排序算法的实现技术。

第十章 文件(3学时)

1.教学内容: 磁盘存储器;

文件的概念;文件的分类;文件的逻辑结构和物理结构; 顺序文件; 索引文件;

索引顺序文件(ISAM); 直接存取文件; 多关键字文件。 2.教学要求:

(1)了解文件的概念,文件的组织与文件操作的相关内容;

(2)深入理解顺序文件、索引文件、索引顺序文件、直接存取文件、多关键字文件的数据组织结构及数据查找的基本方法。 三、课程总体安排

讲课:58学时 习题课:8学时: 实验:14*2=28学时 机动:5学时 四、课程的教学基本要求

1.实验是本课程的重点教学环节,实验成绩占期末总成绩的20%。每个学生将从给出的10个实验中完成5个以上实验,才能获得给定的实验分数。如果多做实验,将获得奖励分。将采取必要措施加强实验的质量。

2.作业是巩固学习效果的重要方式。平时作业、课堂作业和考勤占期末成绩的10%。

13

平时作业完成得质量是主要考核依据。 五、本课程与其它课程的联系

本课程的先修课有:高级语言程序设计、离散数学、概率统计。 本课程的后续课有:操作系统、编译原理、数据库原理与设计等。

六、建议教材及参考教材

1.建议教材:

《数据结构(C语言版)》,严蔚敏 吴伟民 编著,清华大学出版社 《数据结构题集》,严蔚敏 吴伟民 编著,清华大学出版社 2.参考教材:

《数据结构与算法》[美]Bruno R.Preiss著,胡广斌、王菘等译,电子工业出版社 《数据结构、算法与应用》[美]Sartaj Sahni著,汪诗林、孙晓东等译,机械工业出版社

14

《计算机组成原理》教学大纲

中文 英文 计算机组成原理 Principles of Computer 课程名称 开课单位 授课教师 总学时 学分 授课方式 撰搞人 85 5学分 讲授与实验 马永强 信息科学与技术学院 马永强 一、课程的性质和目的

本课程是计算机学科的一门主干专业基础课,系统地介绍计算机的组成结构及各组成部分的工作原理,培养学生硬件分析和设计的基本技能和方法。其内容着重于基本概念、基本原理的学习,同时也体现最新的成果。该课程要求学生理解和掌握计算机各组成部件的工作原理,理解软硬件逻辑等价性的内涵并从中领悟硬件基础知识对软件设计的重要作用。

二、课程的理论教学内容

第1章 概论 (2学时)

存储程序与冯诺依曼体制(重点) 计算机的硬件组成(理解) 计算机系统及其层次结构(理解) 计算机的主要性能指标(了解) 第2章 数据的机器层表示(8学时) 数值数据的表示(重点)

机器数的定点表示和浮点表示(重点、难点) 非数值数据的表示(了解) 十进制数和数串的表示(了解)

现代微型计算机中的数据表示举例(了解) 奇偶校验码(重点) 第3章 指令系统 (6学时) 指令格式和指令类型(重点) 寻址技术(重点、难点) 堆栈与堆栈操作(理解) 指令系统的发展(了解) RISC技术(了解)

第4章 数值的机器运算 (12学时) 基本算术运算的实现(理解)

定点加减运算、寄存器传送语言(重点) 带符号数的移位和舍入操作(理解)

15

定点乘法运算(理解) 定点除法运算(理解) 规格化浮点运算(理解) 十进制整数的加法运算(了解) 逻辑运算与实现(理解) 运算器的基本组成与实例(了解) 第5章 存储系统的结构 (12学时) 存储系统的组成(理解) 主存储器的组织(理解)

半导体随机存储器和只读存储器(理解) 主存储器的连接与控制(重点、难点) 提高主存读写速度的技术(了解) 多体交叉存储技术(了解) 高速缓冲存储器(理解) 虚拟存储器(了解) 第6章 中央处理器 (12学时) CPU的功能和组成(理解) 程序控制原理与控制器(理解) 时序系统与控制方式(重点、难点)

指令的微操作序列(重点)和控制单元设计(了解) 微程序控制原理(理解) 流水线技术(了解) 微处理器中的新技术(了解) 第7章 输入输出系统 (12学时) 输入输出设备(了解) 主机与外设的连接(理解) 程序查询方式及其接口(重点) 中断系统和程序中断方式(理解) DMA方式及其接口(了解) 通道控制方式(了解) 总线技术(了解)

三、课程的实验项目

实验一 熟悉实验器(演示型)

实验二 算术逻辑单元(ALU)(验证型) 实验三 CPU寄存器组(验证型) 实验四 人机接口设计(设计型) 实验五 运算器设计(设计型)

16

实验六 内存设计(设计型)

实验七 指令系统与微程序设计(设计型) 实验八 8位CPU测试程序的设计(设计型)

四、课程的教学基本要求

该课程包括理论部分和实验环节。理论教学采用多媒体电化教学形式,教学辅导资料包括电子教案、“计算机组成原理学习指导”、“练习自测题”、“习题解”、课外阅读材料等;实验环节设有演示型、验证型和设计型的实验项目,并配有实验指示书。 五、本课程与其它课程的联系与分工

先修课程:数字电子技术。 后续课程:微机与接口技术等。

六、 建议教材及参考教材

1.建议教材

《计算机组成原理(第2版)》,蒋本珊,清华大学出版社,2008.9 2.参考教材

《计算机组成原理(网络版)》,白中英,科学出版社,2008年1月第四版 《计算机组成原理》,王闵,电子工业出版社,2001年1月

《计算机组成原理》(修订本),俸远祯等,电子工业出版社,1996.1

17

《操作系统》教学大纲

中文 英文 操作系统 Operating System 信息科学与技术学院 杨燕 胡晓鹏 总学时 学分 授课方式 撰搞人 85 5 讲授与实验 胡晓鹏 课程名称 开课单位 授课教师 一、课程的性质和目的

《操作系统》课程是软件工程专业的核心专业课程。该课程是在计算机组成原理、微机原理及接口、高级语言程序设计、汇编语言的基础上,讲授操作系统中的基本概念、基本原理与实现方法。通过该课程的学习,使学生掌握操作系统的基本概念、原理、设计方法和实现技术,具有初步分析实际操作系统的能力;同时培养学生分析问题、解决问题、开发系统软件的基本技能。 二、课程教学内容

第一章 操作系统概述(Operating System Overview)(6学时)

1. 教学内容:

操作系统课程的必要性、学习方法及安排

操作系统目标和作用(Operating System Objectives and Functions) 操作系统发展过程(The Evolution of Operating Systems) 操作系统主要成就(Major Achievements)

现代操作系统特征(Characteristics of Modern Operating Systems) 2.教学要求:

(1)了解操作系统在计算机学科中的地位,以及操作系统课程与软件工程专业其它课程之间的关系;

(2)了解操作系统与计算机硬件、应用程序之间的关系; (3)了解操作系统的发展历史、现代操作系统的基本特征等。 第三章 进程与线程(Processes and Threads)(10学时)

1.教学内容:

程序、进程和线程(Programs, Processes, and Threads) 进程描述(Process Description) 进程状态(Process States) 进程控制(Process Control) 线程、线程的实现方法(Threads) 2.教学要求:

(1)了解程序与进程、进程与线程之间的关系; (2)了解从哪些方面对进程进行描述及控制;

18

(3)理解不同的进程状态转换模型。

第四章 处理机调度(Processor Scheduling)(6学时)

1.教学内容:

调度的类型(Type of Scheduling):长程调度、中程调度及短程调度; 短程调度算法(Scheduling Algorithms);

传统Unix采用的调度算法(Traditional Unix Scheduling) 2.教学要求:

(1)了解不同调度类型的区别、发生时机、发生频率; (2)了解处理器调度的不同性能指标;

(3)充分理解最短作业优先、先来先服务、Round Robin、优先级算法。 第五章 并发性:同步与死锁(Concurrency: Synchronization and Deadlock)(10学时)

1.教学内容:

并发性原理(Principles of Concurrency) 互斥(Mutual Exclusion) 信号量(Semaphores) 管程(Monitors)

消息传递(Message Passing) 死锁(Deadlock)

Linux IPC简介(Linux IPC Overview) 2.教学要求:

(1)充分理解进程/线程的行为,以及并发可能引发的问题; (2)掌握互斥的基本原理;

(3)重点理解和掌握用信号量、管理、消息传递等机制解决同步与互斥的方法; (4)掌握死锁的条件以及解决死锁问题的几种策略。 第六章 存储器管理(Memory Management)(12学时)

1.教学内容:

存储器管理需求(Memory Management Requirements) 分区存储管理(Memory Partitioning) 分页存储管理(Paging) 分段存储管理(Segmentation) 虚拟存储器基本概念(Virtual Memory)

虚拟存储器实现策略(Policies for Virtual Memory) 2.教学要求:

(1)深入理解存储器管理的基本需求;

(2)了解分区存储管理、分段存储管理、分页存储管理的背景及区别; (3)深入掌握虚拟存储器技术的实现方法,包括页表、多级页表、TLB、逆向页表的工作原理以及虚拟存储器设计中需要处理的问题。

第七章 I/O管理及磁盘调度(I/O Management and Disk Scheduling)(6学时)

19

1.教学内容:

I/O设备(I/O Devices)

I/O功能的组织(Organization of the I/O Function) I/O缓冲管理(I/O Buffering) 磁盘调度策略(Disk Scheduling) 磁盘高速缓存(Disk Cache) 2.教学要求:

(1)了解不同I/O设备的工作原理及分类方法;

(2)重点掌握I/O软件的不同组织方法以及I/O缓存管理机制; (3)深入理解不同的磁盘调度算法以及磁盘高速缓存管理算法。 第八章 文件管理(File Management)(10学时)

1.教学内容:

文件和文件系统的基本概念(Overview for file and file system) 文件组织和存取方法(File Organization and Access) 文件目录(File Directories)

磁盘存储空间的管理(Management of Disk Storage) 文件共享和保护(File Sharing and Protection) UNIX文件系统管理(File Management in UNIX) 2.教学要求:

(1)了解文件、文件系统的基本概念;

(2)深入理解目录在树形文件组织中的作用以及文件路径分析方法; (3)掌握磁盘存储空间管理方法; (4)深入掌握文件共享和保护的基本机制。 第九章 安全性(Security)(2学时)

1.教学内容: 概述(Overview)

访问控制(Access Control) 2.教学要求:

(1)深入理解与安全相关的基本概念; (2)掌握不同入侵方法及防范措施。 三、课程总体安排

讲课:62学时 习题课:8学时: 实验:12*2=24学时 机动:5学时 四、课程的教学基本要求

1.实验是本课程的重点教学环节,实验成绩占期末总成绩的20%。

20

2.作业是巩固学习效果的重要方式。平时作业、课堂作业和考勤占期末成绩的10%。 五、本课程与其它课程的联系

本课程的先修课有:高级语言程序设计、汇编语言、计算机组成原理、微机原理及接口。

六、建议教材及参考教材

1.建议教材:

Operating Systems: Internals and Design Principles, 5E, W. Stallings, Prentice Hall, 2005 (英文版)

操作系统:精髓与设计原理(第五版),陈渝等译,电子工业出版社,2006(中文版) 2.参考教材:

Andrew S. Tanenbaum, Operating Systems-Design and implementation(3rd Edition), Prentice Hall. Press,2006

Maurice J.Bach, The Design of the Unix Operating System, Prentice Hall & CMP, 2000

21

《编译原理》教学大纲

中文 英文 编译原理A Principles of Compiler 信息科学与技术学院 丁光耀 总学时 学分 授课方式 撰搞人 68 4学分 讲授与实验 丁光耀 课程名称 开课单位 授课教师 一、课程的性质和目的

《编译原理》课程是软件工程专业的专业必修课程。该课程是在高级语言程序设计及数据结构的基础上,讲授程序语言的编译过程、编译原理的基本理论、编译程序的构造原理、各环节的实现方法。通过该课程的学习,使学生了解并掌握高级语言程序转换成目标程序的基本处理过程及原理和实现技术,为学生学习后继课程打好基础,也为将来软件开发提供理论指导。 二、课程教学内容

第一章 编译程序概述 (2学时)

1.教学内容:

编译程序的概念、任务、编译过程;

编译程序各组成部分的任务及编译程序逻辑结构; 编译程序与程序设计环境; 编译程序的生成。 2.教学要求:

(1)了解编译程序与程序设计环境; (2)了解编译程序的生成;

(3)理解编译程序各组成部分的任务,编译程序的逻辑结构; 第二章 高级程序语言概述(4学时)

1.教学内容: 程序语言的定义 标识符和名字 名字的属性和说明 数组内情向量描述 记录结构的描述 名字的左值和右值 各种语句的文法表示 参数传递 存储管理 2.教学要求:

22

(1)了解程序语言的定义、名字的属性和说明、标识符和名字、名字的左值和右值; (2)了解数组的内情向量、记录结构的相对数; (3)了解参数传递方法、存储管理; (4)掌握各种语句的语法表示。 第三章 词法分析(8学时)

1.教学内容:

词法分析器的功能; 状态图描述语言的单词结构; 手工设计词法分析器的方法; 正规式描述单词结构;

正规式与有限自动机的等价关系; 自动生成词法分析器的原理及方法。 2.教学要求:

(1)了解词法分析的任务及设计方法; (2)理解状态图、正规式;

(3)掌握单词的规则表示及词法分析技术; (4)掌握自动机理论。 第四章 语法分析(8学时)

1.教学内容:

形式语言的语法分类及表示方法; 移进归约法进行语法分析的思想方法; 规范规约简介与句柄; 算符优先分析程序; 递归下降分析程序; 预测分析程序法。 2.教学要求:

(1)了解语法分析的任务,自顶向下分析和自底向上分析; (2)理解文法、句型、句子、语言的形式定义; (3)理解推导、归纳、可规约串、语法树的概念;

(4)掌握递归子程序方法,算符优先分析法,预测分析法的原理与设计方法。 第五章 符号表及组织(2学时)

1.教学内容:

符号表作用、内容; 符号表的组织; 符号表基本处理算法。 2.教学要求:

(1)了解符号表作用、内容; (2)理解符号表的组织结构;

23

(3)掌握符号表的基本处理算法。 第十章 动态存储分配(4学时)

1.教学内容:

子程序的参数传递方式; 活动纪录; 静态存储分配; 简单栈式存储分配;

嵌套过程语言的栈式存储分配; 堆式动态存储分配。 2.教学要求:

(1)了解活动记录的组成; (2)理解静态、动态存储分配; (3)理解不同参数传递方式; (4)理解栈式、堆式存储分配。 第十一章

中间代码生成(8学时)

1.教学内容:

中间代码的分类及描述方法; 语法制导翻译方法; 说明语句的制导翻译; 赋值语句与表达式的制导翻译; 分支语句的制导翻译; 循环语句的制导翻译; 子程序的制导翻译;。 2.教学要求:

(1)了解中间代码的分类及描述方法; (2)理解语法制导翻译方法; (3)掌握各种语句的制导翻译。 第十二章

中间代码优化(8学时)

1.教学内容: 优化的概述; 基本块及划分; DAG与局部优化; 引用定值方程; 循环及查找算法; 循环优化。 2.教学要求:

(1)了解优化内容; (2)理解基本块及循环;

24

(3)掌握DAG以及循环优化方法。 第十三章

目标代码生成(4学时)

1.教学内容:

目标机模型; 寄存器与内存描述;

中间代码生成目标代码的算法; 寄存器分配算法; 2.教学要求:

(1)了解目标机模型及指令系统; (2)理解寄存器与内存描述的作用

(3)理解目标代码的生成算法以及寄存器分配算法。 三、课程总体安排

讲课:48学时 习题课:6学时:

课程设计实验:10*2=20学时 机动:4学时 四、课程的教学基本要求

采用平时成绩和期末闭卷考试成绩相结合的方式(由于该课程的实践性较强,实验成绩在总成绩中所占比例较大),其中:

平时成绩(考勤、随堂提问、作业等)占总成绩:20% 实验成绩(每次实验结束后需提交实验报告)占总成绩:20% 期末成绩(闭卷)占总成绩:60% 五、本课程与其它课程的联系

本课程的先修课有:高级语言程序设计、数据结构。 六、建议教材及参考教材

1.建议教材:

《编译原理》,陈火旺著,国防工业出版社,2000年1月第1版 2.参考教材:

《编译原理与实现》,金成植著,高等教育出版社,2003年4月第1版 《编译原理》(第2版),吕映芝等著,清华大学出版社,2005年2月第2版 《编译原理》,Aho等著,李建中等译,机械工业出版社,2003年8月第1版

25

《软件工程导论》教学大纲

中文 软件工程导论 课程名称 英文 Software Engineering 开课单位 授课教师 信息科学与技术学院 周荣辉、楼新远 总学时 学分 授课方式 撰搞人 51学时 3学分 讲授与实验 周荣辉 一、课程的性质和目的

《软件工程》是计算机科学与技术专业、软件工程专业的一门专业技术基础课,主要讲述软件工程的基本概念、原理、技术和方法,具有较强的综合性和实践性,对软件开发和维护有很强的针对性和实用性。通过本课程的学习,使学生掌握软件工程的基本概念、原理和技术,改变对软件开发的错误认识,树立按照软件工程的原理、方法和规范开发软件的正确思想,为今后实际应用打下良好的基础。 二课程教学内容

第1章 软件工程概述(3学时)

1.教学内容

软件的基本概念和特点; 软件危机; 软件工程的概念 软件生存周期的概念; 软件过程及软件过程模型。 2.教学要求:

(1)理解软件、软件危机、软件工程、软件生存周期的概念; (2)了解软件过程模型的概念及软件模型分类。 第2章 可行性研究(3学时) 1.教学内容:

可行性研究的目的和任务 可行性研究的内容和研究步骤 可行性分析工具 成本-效益分析 2.教学要求:

(1)理解可行性分析的目的、任务和重要性; (2)掌握可行性分析的基本方法; (3)掌握成本-效益分析的基本方法。 第3章 需求分析(8学时)

1.教学内容:

26

需求分析的目标和任务; 需求分析的步骤和方法; 结构化分析方法(SA); 数据需求分析及图形工具; 需求分析说明书的格式和内容; 需求验证; 需求分析案例 2.教学要求:

(1)了解需求分析的步骤;

(2)深入理解需求分析的基本任务和目标;理解需求验证的内容和方式。 (3)掌握结构化分析的基本方法和数据字段的描述方法; (4)掌握数据需求的描述工具。 第4章 软件总体设计(8学时)

1.教学内容:

软件设计的概念、任务及过程; 软件设计的描述工具; 软件设计的原理 软件设计的启发式规则; 面向数据流的软件设计方法; 总体设计说明书的内容和格式; 总体设计案例。 2.教学要求:

(1)深入理解软件设计的概念和任务;

(2)深入理解软件结构设计的原理和启发式规则; (3)掌握软件结构设计的图形工具; (4)掌握结构化设计的基本方法。 第5章 软件详细设计(3学时) 1.教学内容:

详细设计的任务;

详细设计的工具:程序流程图、盒图、PAD图; 人机界面设计;

结构程序设计的概念及方法; 程序复杂程度的定量度量。 2.教学要求:

(1)理解详细设计的任务;

(2)深入理解人机界面设计的方法和应遵循的基本原则;

(3)掌握详细设计的主要工具,特别是PAD图用于详细设计的方法; (4)深入理解结构化程序设计的原理,掌握结构化程序设计的方法。

27

第6章 软件编码(2学时)

1.教学内容:

编码的任务及对源程序的质量要求; 程序设计语言及其选择的标准; 编码风格。 2.教学要求:

(1)理解源程序质量的标准和选择程序设计语言的基本标准; (2)深入理解编码风格对源程序质量的影响; (3)掌握主要的编码方法。 第7章 软件测试(8学时)

1.教学内容:

软件测试的目的、目标和软件测试准则; 软件测试过程和步骤; 软件测试技术; 测试用例及其设计

软件测试策略:单元测试、集成测试、确认测试; 软件调试技术; 软件可靠性的概念。 2.教学要求:

(1)深入理解软件测试的目的、目标和应遵循的测试准则; (2)掌握软件测试应该遵循的测试步骤; (3)掌握白盒和黑盒测试技术; (4)掌握测试用例设计的基本方法;

(5)掌握单元测试、集成测试和确认测试的基本方法。

第8章 软件维护(3学时)

1.教学内容:

软件维护的内容及特点; 软件维护的实施; 软件可维护性。 软件再工程过程; 2.教学要求:

(1)深入理解不同软件维护类型的特点; (2)掌握软件维护的基本过程; (3)掌握提高软件可维护性的基本方法。

第9章 软件工程管理(2学时)

1.教学内容:

软件工程管理的内容; 软件项目计划;

28

软件配置管理

软件工程标准化与软件文档。 2.教学要求:

(1)深入理解软件工程管理的重要性和管理内容; (2)深入理解软件工程标准化的重要性和工程化标准; (3)掌握软件配置管理的基本方法。 三、课程总体安排

讲课:40学时

实验:8*2=16学时 机动:3学时 四、教学基本要求

1.实验是本课程的重点教学环节,实验成绩占期末总成绩的20%。学生实验以小组为单位,完成一个具有一定功能的软件系统开发。每个小组必须提交需求分析说明书和概要设计说明书等文档。文档和系统开发的成绩各占实验成绩的50%。

2.作业是巩固学习效果的重要方式。平时作业、和考勤占期末成绩的10%。平时作业完成得质量是主要考核依据。 五、本课程与其它课程的联系

本课程的先修课有:高级语言程序设计、数据结构。

本课程的后续课有:系统分析与设计、人机交互设计、软件质量保证与测试;软件项目管理。软件分析与设计时本课程内容的延续,在软件工程方法上,本课程主要讲述结构化方法,系统分析与设计主要讲述面向对象方法。 六、建议教材及参考教材

1.建议教材:

《软件工程导论(第四版)》,张海藩 编著,清华大学出版社 2.参考教材:

《实用软件工程(第二版)》郑人杰、殷人昆、陶永雷..清华大学出版社

《软件工程-实践者的研究方法》[美]Roger S.Pressman著,黄白素 梅宏 译,机械工业出版社

29

《汇编语言程序设计》教学大纲

中文 英文 汇编语言程序设计 信息科学与技术学院 黄海于 总学时 授课方式 撰搞人 51 3 讲授与实验 黄海于 课程名称 开课单位 授课教师 Assembly Language and Programming 学分 一、课程的性质和目的

汇编语言是计算机能够提供给用户使用的运行速度最快、效率最高的语言。该课程是微机原理与接口技术的先修课程。通过介绍基础知识、80X86计算机组织、80X86寻址方式和指令系统、汇编语言程序格式、循环与分支程序设计、子程序结构、汇编语言程序设计方法等基本内容,使学生掌握汇编语言程序设计的方法和技巧,训练学生的动手能力和思维方法,为学生从事计算机研究与应用打下基础。 二、课程教学内容

第一章 汇编语言基础知识(2学时)

1、教学内容 1.1 1.2 1.3 1.4 1.5

二进制和十六进制数 字符编码

有符号整数的二进制补码表示 二进制补码数的加减法 数的其他表示法

2、教学基本要求

(1) 了解二进制和十六进制数之间的转换 (2) 掌握数的补码表示及加减运算 (3) 理解数的其他表示法 3、重点、难点

进制转换,补码的表示方法。

第二章 计算机组织结构(2学时)

1、 教学内容 2.1 2.2 2.3 2.4

存储器 CPU

输入/输出设备 PC软件

2、 教学基本要求

(1) 掌握平面存储模式和分段存储模式 (2) 掌握CPU的寄存器组

30

(3) 理解输入/输出设备 (4) 了解介绍主要的PC软件 3、 重点、难点

(1) 存储器存储模式 (2) CPU寄存器组 (3) 输入/输出端口

第三章 80x86的寻址方式(4学时)

1、 教学内容 3.1 3.2 3.3 3.4 3.5

汇编语句

程序的汇编、连接和运行 常数操作数 寻址方式

程序数据的输入输出

2、 教学基本要求

(1) 掌握汇编语句的基本格式、常数操作数的定义 (2) 掌握指令中操作数的寻址方式 (3) 掌握汇编程序的汇编、连接和运行过程 (4) 掌握程序数据的输入输出 3、 重点、难点

(1) 汇编语句的基本格式 (2) 指令中操作数的寻址方式 (3) 汇编程序的上机过程

第四章 80x86指令系统及程序举例 (8学时)

1、 教学内容 4.1 4.2 4.3 4.4 4.5

数据传送指令 整数的加法和减法指令 乘法指令 除法指令 多精度数的加减

2、 教学基本要求

(1) 掌握讲解数据传送指令、整数的算术运算指令 (2) 理解多精度数的加减 3、 重点、难点

数据传送指令、整数的算术运算指令

第五章 汇编语言程序设计格式(4学时)

1、教学内容 5.1 汇编程序功能 5.2 伪操作

31

5.3 汇编语言程序格式 5.4 汇编语言的上机过程 2、教学基本要求

(1)掌握汇编语言程序设计框架及伪指令的语法结构 (2)掌握各伪指令的使用方法

(3)掌握如何利用所学的指令编写简单的汇编语言程序 3、重点、难点

各伪指令的具体含义

第六章 算法及汇编语言程序设计方法(6学时)

1、 教学内容

6.1 无条件转移

6.2 条件转移、比较指令和if结构 6.3 循环结构的实现 6.4 汇编语言中的for循环 6.5 数组 6.6 80X86堆栈

6.7 子程序的定义、调用和返回 6.8 参数和局部变量 2、 教学基本要求

(1) 掌握转移指令、比较指令和循环指令 (2) 掌握分支结构和循环结构的实现 (3) 掌握if结构和数组 (4) 掌握80X86堆栈

(5) 掌握子程序的定义、调用、返回和参数传送 3、 重点、难点

(1) 转移指令、比较指令和循环指令 (2) 分支结构和循环结构的实现

(3) 子程序的定义、调用、返回和参数传送

第七章 汇编语言程序设计综合训练子程序 (6学时)

1、 教学内容 7.1 串指令

7.2 重复前缀和其他串操作 7.3 字符转换

7.4 二进制补码转换为ASCII码串 7.5 数学运算

7.6 各种查找及排序算法的实现 2、 教学基本要求

(1) 掌握重复前缀和串指令

32

(2) 理解其他串操作、字符转换 (3) 掌握二进制补码转换为ASCII码串

(4) 理解各种各种进制的加减乘除运算以及高精度运算 (5) 理解各种形式的查找排序算法 3、 重点、难点

各种查找及排序算法以及高精度运算的程序实现。 三、课程总体安排

讲课:28学时 习题课:4学时: 实验:15*2=30学时 机动:4学时 四、课程的教学基本要求

1.实验是本课程的重点教学环节,实验成绩占期末总成绩的20%。每个学生将从给出的8个实验中完成5个以上实验,才能获得给定的实验分数。如果多做实验,将获得奖励分。将采取必要措施加强实验的质量。

2.作业是巩固学习效果的重要方式。平时作业、课堂作业和考勤占期末成绩的10%。平时作业完成得质量是主要考核依据。 五、本课程与其它课程的联系

本课程的先修课有:计算机导论,计算机组成原理 本课程的后续课有:微机原理与接口技术 六、建议教材及参考教材 1.建议教材:

《汇编语言程序设计教程》(第2版),卜艳萍,周伟编著,清华大学出版社.2009年7月

《IBM-PC汇编语言程序设计(第3版)》,沈美明, 温冬婵编著,清华大学出版社.2001年8月 2.参考教材:

《Introduction to 80X86 Assembly Language and Computer Architecture(影印版)》,[美]Richard C. Detmer著,机械工业出版社.2004年11月

王元珍, 曹忠升, 韩宗芬.80X86汇编语言程序设计.武汉:华中科技大学出版社.2005年4月

《.汇编语言程序设计及其应用(第2版)》,王保恒 柳靖 沈立 王学慧编著,高等教育出版社,2010年4月

33

《计算机网络》教学大纲

中文 英文 计算机网络 Computer Networking 信息科学与技术学院 谭献海,陈剑波 总学时 学分 授课方式 撰搞人 68 4 讲授与实验 陈剑波 课程名称 开课单位 授课教师 一、课程的性质和目的

《计算机网络》课程是软件工程专业的专业基础课程之一。通过该课程的学习,使

学生了解计算机网络的基本概念;了解与计算机网络相关的通信技术;理解和掌握计算机网络的体系结构和工作原理;熟练掌握数据链路层、网络层及传输层的工作原理;了解和掌握局域网的设计、安装、使用和维护技术;熟练掌握网络互连和因特网的有关概念、协议及其应用。 二、课程教学内容

第一章 计算机网络基本概念(2学时) 计算机网络的定义; 计算机网络的结构; 计算机网络的功能; 计算机网络的分类; 网络拓扑结构;

计算机网络的新进展及发展趋势。

第二章 计算机网络体系结构(6学时)

层次网络体系结构基本概念; ISO/OSI参考模型; TCP/IP协议; ATM网络体系结构。

第三章 数据通信基础(6学时)

数据通信基础; 综合布线系统; 物理层协议。

第四章 局域网与组网技术 (6学时)

局域网体系结构; 介质访问控制协议;

34

局域网标准; 以太网技术; 无线网技术; VLAN技术;

局域网的构建和网络操作系统; 常用的组网技术及方法。

第五章 广域网技术(12学时)

网络服务; 网络地址规划; 路由规划; 交换技术; 分组交换网; 帧中继网; Internet

网络互连模型和技术。

第六章 TCP/IP协议(6学时)

IP协议

ARP/ RARP协议 ICMP协议 TCP协议 UDP协议 DNS协议 HTTP协议 FTP协议 电子邮件协议 IP V6和组播技术。

第七章 高层应用(6学时)

网络管理技术与平台; 网络安全解决方案。

第八章 多媒体通信技术(3学时)

多媒体通信对网络环境的要求; 服务质量(QoS)概念; 多媒体数据压缩技术; 网络多媒体相关协议。

35

三、实验教学

实验1:计算机网络认识实验 (2学时)

要求:(1)参观相关计算机网络实验室,组织有关“什么是计算机网络”的讨论,

建立起计算机网络初步的概念,以及互连网络平台组成的大致概念。 (2)了解综合布线系统;

(3)连网硬件实验,包括制作网线、测试网线连通性、连接交换机和计算机、在操作系统上配置IP协议并使用ping命令测试网络连通性等。 实验2:常用网络命令实验 (2学时)

要求:(1)熟悉Windows环境下常用的网络命令;

(2)熟悉LINUX环境下常用的网络命令;

实验3:使用Internet使用技能(2学时)

要求:在计算机网络机房上机,要求:(1)使用常用的工具上网检索几个指定信息,用telnet登录一个服务器并用ping 访问并比较就近的站点和远处的站点,看其响应时间和传输速率等增加对网络的感觉,用户间收发电子邮件等。(2)使用ftp下载文件,网上新闻,电子公告板服务等。(3)通过WWW上网浏览,学会常用搜索引擎的使用方法,学会通过因特网查找资料的方法与途径等。

实验4:计算机通信实验(3学时)

要求:(1)在两台PC机上,通过串行口RS232直连,安装(或编写)相关的通信

程序,实现两台机器之间的数据传输

(2)采用SOCKET编程技术,实现局域网内来台计算机之间的文件传送。

实验5:网络配置和管理实验,学习路由器、交换机等网络设备的安装、配置及使用方法,了解VLAN的划分方法。(3学时)

实验6:报文拦截与协议分析试验:使用网络流量探测工具(如sniffer等获取网络报文,分析Ethernet帧、PPPOE报文、IP、ARP/RARP、TCP、UDP、HTTP等协议。(3学时)

实验7:网络安全实验(3学时)

要求:(1)熟悉防火器系统的工作原理及其安装配置方法。

(2)熟悉Linux防火器:ipchains、netfilter的工作原理及其安装配置方法。

四、课程总体安排

讲课:48学时 实验:16*2=32学时 机动:4学时 四、课程的教学基本要求

1.理论联系实际。在介绍清楚网络基本概念和技术的基础上,重点介绍一些实用性强

36

的网络技术和方法。

2.加强实践。通过布置联网设备选购、网络服务器软件、网络接入、网络报文拦截与分析等课程设计,加深学生对网络组建和网络协议等技术和方法的理解。 3.通过作业来加深学生对网络的基本概念和技术的理解。 五、本课程与其它课程的联系

本课程的先修课有:计算机组成原理、操作系统、算法语言。 六、建议教材及参考教材 1.建议教材:

《计算机网络(第5版)》,谢希仁,电子工业出版社 2.参考教材:

《计算机网络(第四版):原著:Tanenbaum,中译版译者:潘爱民译,清华大学出版社; James F.Kurose,Keith W.Ross,Computer Networking,A Top-Down Approach Featuring the Internet,高等教育出版社

37

《数据库原理与设计》教学大纲

中文 课程名称 英文 开课单位 授课教师 一、课程的性质和目的

“数据库原理与设计”课程是计算机相关专业的核心专业基础必修课程。通过该课程的学习,可以使学生能较系统地掌握数据库系统的原理、数据库管理系统的应用及数据库应用系统的开发与设计等基础知识;同时,通过专门的数据库实验,使学生能够掌握数据库的建立、基本表和视图的定义、修改,数据库数据录入、修改、删除、查询,以及授权、并行操作、存储过程和触发器的编程使用等。最终达到使学生具有一定的数据库应用及相关系统的设计与开发能力的目的,也为今后数据仓库与数据挖掘的应用打下坚实的基础。 二、课程教学内容

第一章 数据库系统概述(5学时) 1. 教学内容

数据库管理系统出现的背景;数据库管理系统的基本功能、抽象层次;数据库系统总体结构;数据库原理、应用及设计三部分之间的关系;数据库系统中的术语与基本概念,包括数据、数据库、数据库系统、数据库管理系统、视图、数据抽象、数据模型、数据模式、数据库语言与SQL等等;数据库技术发展。

2. 教学要求

(1)了解数据库管理系统出现的背景、数据库管理系统的基本功能;

(2)理解数据库系统总体结构,以及数据库原理、应用与设计3部分间的关系; (3)了解数据库应用系统开发技术,如C/S与B/S、ODBC/JDBC/OLE DB数据库中间件、ASP/JSP/PHP等等;

(4)掌握数据库系统中的术语与基本概念; (5)了解数据库技术发展。 第二章 实体联系数据模型(9学时)

1. 教学内容

关于数据模型的几个重要概念;ER模型中的实体、属性、键、候选键、主键、联系、描述属性、一般性约束(1:1、1:n和m:n约束或限制)、键约束、参与约束、弱实体,以及以上元素的图示画法;EERM的扩展内容,如类层次、聚集等;利用ER模型进行概念数据库设计。

2. 教学要求

38

数据库原理与设计 Principle and Design of Database 信息科学与技术学院 陶宏才、朱焱、周荣辉、胡晓鹏 总学时 学分 授课方式 撰搞人 68 4学分 讲授与实验 陶宏才 (1)更深入理解数据模型的来源、评价、内容、层次性及方向; (2)掌握基本的ERM概念; (3)了解EERM的扩展内容; (4)掌握ERM的设计过程与方法。 第三章 关系数据模型(9学时)

1. 教学内容

关系数据模型的基本概念,如:关系、关系实例、主键、外键,以及关系模型上的各种约束或限制,如域限制、主键限制、唯一限制、外键限制和一般性限制等等;Microsoft SQL SERVER对完整性限制的支持;ER模型向关系数据模型的转换;关系代数中的基本操作(选择、投影、并、交、差、积)和附加操作(改名、条件连接、等连接、自然连接、外连接),以及利用这些操作来写出查询的关系代数表达式。

2. 教学要求

(1)掌握关系模型的基本概念;

(2)掌握关系模型上的各种约束,并能利用SQL语言进行定义; (3)掌握ER模型向关系模型转换的方法;

(4)掌握关系代数中的基本操作与附加操作,会写关系代数表达式。 第四章 结构化查询语言SQL(5学时)

1. 教学内容

SQL特点、标准(SQL-86、SQL-89、SQL-92、SQL:1999、SQL:2003);数据定义子语言DDL(数据库、表、视图、索引等的创建、删除与修改);数据操纵子语言DML(插入、删除、修改、查询);T-SQL编程,包括其中的控制语句、函数、存储过程、游标等。

2. 教学要求

(1)掌握DDL中Create、Alter和Drop命令的用法;

(2)掌握DML中Insert、Delete、Update和Select命令的使用方法; (3)会利用T-SQL编写函数、存储过程和游标等。 第五章 数据库保护(15学时)

1. 教学内容

破坏数据库的类型和对应的保护策略;数据库安全性的概念,访问控制机制(DAC/MAC/RBAC等),Microsoft SQL SERVER安全体系,用户定义,角色定义语句及对象授权/撤权;数据库完整性的概念,完整性约束的类型(静态约束与动态约束),数据库完整性约束与关系模型上的约束的关系,完整性约束的定义与验证;事务及其ACID准则,故障恢复技术,日志的结构,失效类型及恢复对策;调度与并发调度,并发执行可能引起的问题(丢失更新、读脏数据、不可重复读等),基于锁的并发控制协议(X加锁协议、(S, X)加锁协议、(S, U, X)加锁协议、多粒度加锁协议),加锁带来的问题及解决办法(级联回退、活锁);死锁的预防、检测与处理。

2. 教学要求

(1)了解破坏数据库的类型及相应的保护策略; (2)掌握数据库安全性相关概念;

39

(3)掌握数据库完整性约束的概念、类型、定义及验证; (4)掌握事务的概念及ACID准则; (5)掌握数据库故障恢复技术;

(6)掌握调度概念以及数据库并发控制技术。 第六章 关系数据库设计理论(5学时)

1. 教学内容

关系模式可能存在的问题(插入异常、删除异常、冗余与更新异常)和产生的根源;数据依赖(函数依赖、多值依赖与连接依赖);范式(1NF、2NF、3NF、BCNF、4NF和5NF) 的定义;关系模式的规范化。

2. 教学要求

(1)理解关系模式可以存在的问题及其根源; (2)了解数据依赖的概念,特别是函数依赖; (3)理解关系模式的各级范式; (4)掌握关系模式的规范化方法。 第七章 数据库设计(3学时)

1. 教学内容

数据库应用设计的目标及步骤;需求分析;概念数据库设计;逻辑数据库设计;物理数据库设计。

2. 教学要求

(1)掌握数据库设计的步骤; (2)了解需求分析的任务、方法; (3)掌握概念数据库设计的方法; (4)掌握逻辑数据库设计的方法; (5)了解物理数据库设计知识。 三、课程总体安排

总学时68学时,其中:

讲课:51学时,其中,习题课:6学时,机动:3学时; 实验:17学时(实验室上机时间至少达34小时)。 四、课程的教学基本要求

1. 课堂讲授

(1)讲解数据库系统的整体框架,了解其各部分组成及地位作用、所涉及的概念及内容;

(2)根据整体框架,分别讲授各个组成部分;

(3)各部分讲解,基本上先讲其基本概念及理论,紧接着以Microsoft SQL SERVER DBMS为例,对应讲解该理论在实际产品中的运用及体现;

(4)课堂数据库操作演示; (5)重视英文术语。

40

2. 教学辅助资料

本课程电子课件、网上课程、参考书。 3. 实验要求与内容 (1)实验要求

要求:数据库的建立、基本表和视图的定义、修改,数据库数据录入(插入)、修改、删除、查询,以及授权、并行操作、存储过程和触发器的定义和使用等等。

(2)实验内容

根据实验要求,分以下实验项目:①管理数据库文件;②创建基本表与约束;③SQL更新语句实验;④SQL查询语句实验;⑤视图的建立和维护;⑥存储过程的建立和维护;⑦触发器的建立和维护;⑧SQL控制功能实验;⑨表索引的创建、查询;⑩管理事务和锁。

4. 作业

根据教学内容,为使学生加深对知识点的认识及理解,每章可布置不同形式的习题,如:简答题、选择题、判断题、综合题等。

5. 考试及总评成绩

以闭卷考试为主,辅以实验、平时作业考核等,以达到让学生多方面掌握课程主要内容。总评成绩满分100分。其中,期末闭卷考试占70%,平时作业占10%,实验占20%。 五、本课程与其它课程的联系

本课程的先修课有:计算机组成原理、高级语言程序设计、离散数学、操作系统、数据结构等。

本课程的后续课有:数据库应用技术等。 六、建议教材及参考教材

1. 建议教材

陶宏才 等编著. “十一五”国家级规划教材:《数据库原理及设计第2版》,清华大学出版社, 2007.9 2. 参考教材

Raghu Ramakrishnan, Johannes Gehrke. Database Management Systems. 2nd Edition. 清华大学出版社, McGraw-Hill, 2000.3

Ramez Elmasri, Shamkant B. Navathe. Fundamentals of Database Systems. Fifth Edition. 邵佩英 等译. 人民邮电出版社, 2008.1

Jeffrey D. Ullman, Jennifer Widom著. A First Course in Database Systems. Third Edition. 岳丽华 等译. 机械工业出版社, 2009.8

王珊, 陈红. 数据库系统原理教程. 清华大学出版社, 1998.7 张龙祥 等. 数据库原理与设计. 第2版. 人民邮电出版社, 2007.9 施伯乐 等. 数据库系统教程. 第2版. 高等教育出版社, 2003.8

41

《高级语言程序设计》教学大纲

中文 英文 高级语言程序设计 High Level Language Programming 信息科学与技术学院 总学时 学分 授课方式 授课68+实验28 5学分 讲授与实验 赵宏宇 课程名称 开课单位 授课教师 赵宏宇,陈帆,何太军,喻秀瑛,郝晓枫 撰搞人 一、课程的性质和目的

《高级语言程序设计》属于软件工程专业程序设计入门课程。该课程通过理论授课和上机实验,使学生掌握C语言的主要语法和程序设计的基本方法与算法。本课程同时培养学生编制和调试高级语言程序的基本技能,训练学生养成良好的程序代码风格。课程的教学目标是使学生初步具备使用C语言编写一般程序的能力,为进一步学习面向对象程序设计、数据结构以及Java语言等后续课程奠定扎实的基础。 二、课程教学内容 第一章 概述(2学时)

1.教学内容:

高级语言和程序设计的基本概念; 语法、算法的概念; 结构化程序设计思想; C语言的历史、发展与影响; C语言的主要特点;。 C语言程序设计的基本过程。 2.教学要求:

(1)掌握基本概念:程序、编译、连接、语法、算法、结构化程序设计; (2)了解C语言的历史、发展与影响; (3)掌握C语言的主要特点;

(4)了解编制和调试C语言程序的基本过程。

第二章 C语言程序设计基础(11学时)

1.教学内容:

基本数据类型、变量与常量; 运算符与表达式; 控制台输入与输出函数; 简单顺序结构程序设计;

用Turbo C2.0和VC++调试程序的过程。 2.教学要求:

(1)掌握整型、实型与字符型常量的语法;

42

(2)掌握变量的定义与初始化方法;

(3)掌握算术运算、位运算、逻辑运算、关系运算、赋值与自反赋值运算等表达式; (4)掌握运算优先级与类型转换;

(5)掌握输入与输出函数, getchar/getche/getch/putchar, scanf/printf; (6)掌握带输入与输出的简单顺序结构程序设计; (7)初步学会调试一个简单的C语言程序。 第三章 C语言控制语句(4学时)

1.教学内容: 条件分支语句; 循环语句;

break与continue语句; goto语句(选讲)。 2.教学要求:

(1)掌握条件分支语句(if/switch);

(2)掌握三种循环语句(while/do...while/for); (3)掌握break与continue语句。

(4)学会分析一重和两重循环的循环次数; (5)掌握简单累加与阶乘的程序计算方法。

第四章 基本程序设计技术(7学时)

1.教学内容:

求最大值与最小值; 累加与累乘; 统计与计数; 打印字符图形; 递推迭代与数列; 搜索(穷举)法;

计算数论(求最大公约数/最小公倍数和找素数); 2.教学要求:

(1)掌握多种程序设计的基本方法与算法; (2)能够较为熟练地设计两重循环结构的程序; (3)能够较为熟练地调试C语言程序。 第五章 数组(3学时)

1.教学内容:

一维数组的定义、初始化方法与元素的使用; 二维数组的定义、初始化方法与元素的使用; 多维数组的定义与使用; 数组编程举例。 2.教学要求:

43

(1)掌握一维和二维数组的定义、初始化与使用方法; (2)掌握操作数组的基本循环结构; (3)掌握数组的输入与输出方法。 第六章 指针初步(5学时)

1.教学内容:

指针的概念;

定义和使用一级指针变量; 指针常量;

指针运算与指针表达式;

指针的对象、动态内存分配与撤销; 指针与一维数组; 字符串的存储; 串处理函数; 字符串程序设计举例。 2.教学要求:

(1)掌握指针的概念、一级指针的定义与使用方法; (2)掌握指针与一维数组的关系; (3)掌握字符串的定义、存储与基本操作; (4)掌握动态内存分配与撤销的方法。 第七章 函数(9学时)

1.教学内容:

函数的定义与调用; 函数的参数传递方法; 函数定义举例; 排序算法; 顺序与对分查找; 递归程序设计与分析; 变量特性与变量的引用型声明; 函数特性与函数的引用型声明; 多源程序文件软件开发。 2.教学要求:

(1)掌握函数的定义与调用方法; (2)掌握冒泡排序算法;

(3)掌握顺序查找算法,了解对分查找算法; (4)基本掌握递归程序设计与分析的方法;

(5)掌握变量的存储类型、变量和函数的引用型声明; (6)了解多源程序文件软件开发的方法。 第八章 编译预处理(1学时)

44

1.教学内容:

文件包含; 宏定义; 条件编译。 2.教学要求:

(1)了解文件包含的作用; (2)掌握宏定义特别是带参宏定义; (3)了解条件编译的作用。 第九章 指针深入(3学时)

1.教学内容:

多级指针与指针数组; 数组对象指针与多维数组; 函数指针。 2.教学要求:

(1)掌握二级指针与一级指针数组; (2)掌握一维数组对象指针的定义与使用; (3)了解多维数组与数组对象指针的关系; (4)会定义函数指针和通过函数指针调用函数。 第十章 复合数据类型与链表(7学时)

1.教学内容: 枚举类型;

结构体的定义与使用; 联合体;

用typedef定义数据类型;

单向链表的概念与基本操作的程序实现。 2.教学要求:

(1) 掌握枚举、结构、联合体的定义与使用方法; (2)掌握typedef;

(3)掌握结构体的程序设计;

(4)掌握单向链表的数据结构、建立、输出、删除结点和插入结点的算法。

第十一章 文件操作(6学时)

1.教学内容:

顺序文件与随机文件 概念; C语言流文件的概念; C语言文件的操作函数; 字符文件程序设计举例; 二进制文件程序设计举例。 2.教学要求:

45

(1) 掌握C语言流文件的基本操作方法; (2)掌握字符文件的输入与输出; (3)了解二进制文件的输入与输出。

三、课程总体安排

授课:4学分(17周,每周4学时,共68学时), 其中,讲 课:58学时;

习题课: 6学时; 机 动: 4学时

实验:1学分(14周,每周2学时,共28学时)。 四、课程的教学基本要求

1.理论课(4学分)成绩:100分制,期末笔试(90%)+上课考勤和作业(10%) 2.实验课(1学分)成绩:100分制,期末上机考试(80%)+实验报告(20%) 五、本课程与其它课程的联系

本课程的先修课有:计算机导论。

本课程的后续课有:面向对象程序设计、数据结构、Java语言。 六、建议教材及参考教材

1.建议教材:

《精通C程序设计教程》,赵宏宇编著,成都:西南交通大学出版社 2.参考教材:

《C程序设计(第三版)》,谭浩强编著,北京:清华大学出版社 《C程序设计》,张长海、陈娟编著,北京:高等教育出版社

46

《面向对象程序设计》教学大纲

中文 英文 面向对象程序设计 总学时 学分 授课方式 撰搞人 51 3学分 讲授与实验 文登敏 课程名称 开课单位 授课教师 Object-oriented Programming 信息科学与技术学院 文登敏,赵宏宇,喻琇瑛,何太军,郝晓峰 一、课程的性质和目的

《面向对象程序设计》是计算机科学与技术专业、软件工程专业的专业基础必修课程,也是信息类其他专业的必选课程。该课程以C++为原型语言,主要讲授面向对象基本概念和机制、面向对象的封装机制、继承机制和多态机制,并辅以流、模板、异常处理等应用类开发技术。实验方面,以VC++为IDE,从控制台程序过渡到WINDOWS程序设计,加强对三大机制的理解和使用,加强编程过程中可能遇到的各类问题。使学生通过学习该课程,基本掌握基于面向对象技术的一般程序设计方法,明确面向对象的基本概念和机制,初步掌握以面向对象方法进行程序设计时应该注意的问题及其解决方案。 二、课程教学内容 第一篇 基础篇 (20学时) 第1章 概述(2-3学时) 1、教学内容:

1.1面向对象思想与机制 1.2面向对象设计与结构化设计 1.3常用面向对象程序设计语言和工具 1.4 C++基础

引用 new/delete

函数(内联、重载、缺省参数、函数参数的传递顺序) 控制台IO流(基本输入输出格式、输出顺序)

其他(注释、全局变量、函数原型、自定义类型、const) 2、教学要求:

本章是全课程的基础。在掌握面向对象的基本概念之后,进一步给出基于C++的面向对象程序设计的部分基础技术,以便于后续教学内容的引用。

本章以入门为主,以C语言作为前导逐步带入。同时,为了取得良好的教学效果,可在其中加入面向对象理论在人们日常生活中的应用。 第2章 类与对象(7-8学时) 1、教学内容:

47

本文来源:https://www.bwwdw.com/article/4g5r.html

Top