西南交通大学软件工程专业
卓越工程师本科阶段课程教学大纲
西南交通大学 二〇一一年六月
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-、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
2.1类定义
语法结构
成员属性(公有、私有、受保护)
特殊成员(构造函数、析构函数、static成员、常成员、引用成员、友元) this指针 2.2对象
静态有名对象(含对象数组) 动态无名对象(含对象数组)
对象的存储结构(对象的大小、static成员的存储方式) 对象生存期 常对象 引用对象 临时对象
对象作为函数参数(含引用对象) 对象作为函数返回值(含引用对象) 2.3面向对象程序的运行结构
面向对象程序结构
面向对象程序设计的一般过程 2、教学要求:
本章介绍的是面向对象中的封装机制。以类定义作为切入点,逐步介绍了类中的普通成员和特殊成员。同时,为了使用类,又介绍了对象的创建和使用方法。
另外,本章中加入了部分的特殊使用情况介绍,如:常成员、常对象、引用成员、引用对象、常引用成员、常引用对象等。
学完本章,应该掌握以下几个方面的技术:
(1)如何定义一个类,如何创建一个对象并使用一个对象。 (2)常用特殊成员的处理方法和应用方法。 (3)面向对象程序的代码结构和运行结构分析。 第3章 继承与组合(4-5学时) 1、教学内容:
3.1继承的基本概念及其方式
继承的定义
父类、子类、基类、派生类、直接父类与间接父类 单继承、多继承、重复继承、虚继承 公有继承、私有继承和受保护继承 3.2子类成员
来自父类的成员在子类中的表现
子类构造函数与析构函数(定义、调用顺序、参数传递) 同名成员及其覆盖
48
子类对父类成员函数的调用
从虚基类派生(单虚基类和多虚基类) 3.3组合
组合的概念和定义 整体类构造函数与析构函数 间接使用部分类成员 3.4继承与组合共存
子类成员特征 构造函数与析构函数 2、教学要求:
从第2章过渡到第3章,从单一的类应用过渡到类和类之间的关系的定义和使用技术,包括继承和组合两个方面的主要内容,其中涵盖了构造函数、析构函数、同名问题、成员特征等核心技术处理。
学完本章,应该具备以下方面的能力: (1)从一个类生成一个新类。 (2)从多个类生成一个新类。
(3)合理部署类定义以及类之间的关系。 第4章 多态与重载(5-6学时) 1、教学内容: 4.1运算符重载
基本概念和 常用运算符重载
特殊运算符重载(后缀、括号、指针、下标) 继承中的运算符重载 4.2虚函数
虚函数定义 虚函数与动态联编 虚析构函数 纯虚函数与抽象类 含有虚函数的对象存储结构 2、教学要求:
本章介绍的是面向对象的多态机制,主要包括运算符重载和虚函数。学完本章,应明确: (1)运算符重载函数的定义与使用方法。 (2)虚函数的定义与使用方法。 第二篇 应用篇——10学时 第5章 模板(4学时) 1、教学内容: 5.1函数模板
49
5.2类模板
5.3标准模板类及其应用 2、教学要求:
本章内容介绍了模板的基本概念和使用方法,以及标准模板类的使用方法,从而培养学生逐步建立整体概念和代码层面的抽象概念。 第6章 异常处理(2学时) 1、教学内容: 6.1基本概念 6.2自定义异常 6.3标准异常及其使用 2、教学要求:
本章介绍的是程序设计中的异常处理,为编程过程中的异常提供基础编程方法。 第7章 文件及输入输出流(4学时) 1、教学内容: 7.1基本概念 7.2输出流
标准输出格式 控制台输出 文件输出 7.3输入流
控制台输入 文件输入 2、教学要求:
文件是程序设计中的重要组成部分。本章以输入输出流的形式介绍文件操作,使学生能够掌握这种编程方法。 三、课程总体安排
讲课:30学时 习题课:4学时 实验: 14*2=28学时 机动:3学时
四、课程的实验教学基本要求
1.实验是本课程的重点教学环节,与课堂授课分开教学。 2.课堂授课以课堂讲述、作业批改及习题课相结合的方式进行。
2.实验教学以上机为主,采用VC++开发环境,简单实验5个,较难实验2个,综合性实验3个。
五、本课程与其它课程的联系
50
本课程的先修课有:高级语言程序设计 本课程的后续课有:软件工程、数据结构等。 六、建议教材及参考教材 1.建议教材:
《面向对象理论与实践》,文登敏 张丽梅 编著,西南交通大学出版社 2.参考教材:
《C++语言程序设计》,郑莉 董渊 张瑞丰 编著,清华大学出版社
51
《软件系统分析与设计》教学大纲
中文 英文 软件系统分析与设计 总学时 学分 授课方式 撰搞人 51 3学分 讲授与课程设计 文登敏 课程名称 开课单位 授课教师 Software Analysis and Design 信息科学与技术学院 文登敏,楼新远 一、课程的性质和目的
本课程是让学生比较系统地掌握采用常用工具和模型进行软件系统分析与设计的过程和方法。以UML作为基础模型语言,介绍其基本内容和表示方法,掌握面向对象的统一软件开发过程,并利用UML的基本概念和技术,进行软件系统的建模和分析,并提出具体的解决方案。为今后的软件系统设计及工程软件的应用开发奠定专业技术基础,提高软件开发和设计的质量,了解当前软件开发研究的热点问题和发展方向。 二、课程教学内容 1.教学内容:
第一章 软件开发基础知识(4学时):
软件开发方法 基本概念
常用软件分析与设计方法 UML 简史;
第二章 面向对象的软件开发过程(2学时)
统一软件开发过程 项目的生命周期活动 开发阶段;
第三章 UML基本符号与机制(2学时):
基本符号 模型组织 公共与扩展机制; 第四章 Use Case图(2学时):
活动者 Use Case图 Use Case的联系 Use Case的应用;
第五章 对象类图与对象图(4学时):
对象类图 关联
52
聚合与组合 泛化与依赖 对象图 接口;
第六章 交互图(4学时):
顺序图 通信图 时序图 交互图应用; 第七章 状态图(4学时):
状态机与状态图 状态转移 并发状态图 状态图应用 第八章 活动图(4学时):
基本元素、活动分解、并发、工作流建模; 第九章 包图(2):
包、包的联系、包图; 第十章 对象约束语言与组件(2):
组件图、配置图、对象约束语言
第十一章 应用系统的分析与设计(6):
系统需求、领域分析、静态建模、动态建模、模型应用;
三、教学基本要求
1.了解当前软件开发研究的热点问题和发展方向; 2.让学生比较系统地掌握UML的基本内容和表示方法;
3.利用UML的基本概念和技术,进行软件系统的建模和分析,掌握面向对象的统一软件开发过程,并提出具体的解决方案;
4.为今后的软件系统工程设计及应用开发奠定专业技术基础,提高软件开发和设计的质量。 三、课程总体安排
讲课:34学时 课程设计:15学时 机动:2学时 四、课程设计基本要求
1.课程设计采用命题式与自拟式相结合的原则; 2.课程设计以与实际相结合的方式进行;
53
3.课程设计成绩占总课程成绩的40%;
4.可选课程设计:设备管理演示系统的分析与设计;简单图形编辑系统的分析与设计;简易教学管理系统的分析与设计。 五、本课程与其它课程的联系
本课程的先修课有:数据结构、面向对象程序设计 本课程的后续课有:软件质量保证与测试,软件项目管理 六、建议教材及参考教材
1.建议教材:
张龙祥编著,《UML与系统分析设计》,人民邮电出版社, 2001.8 2.参考教材:
(美)普里斯特(Priestley Mark)《面向对象设计UML实践(第2版)》(大学计算机教育国外著名教材系列),译者:龚晓庆、卞雷,清华大学出版社,2006.1
54
《Java语言程序设计》教学大纲
中文 英文 课程名称 开课单位 授课教师 Java程序设计 Java programing 信息科学与技术学院 陈帆,赵宏宇 总学时 学分 授课方式 撰搞人 32 + 32 3学分 讲授与实验 陈帆 一、本课程的性质和目的
面向对象技术已经逐步替代了面向过程的程序设计技术,成为计算机应用开发领域的主流趋势。该技术所提倡的模拟现实世界的思维方式、数据与操作相捆绑的程序风格符合现代大规模软件开发的要求和潮流。JAVA语言是面向对象技术成功应用的著名范例。本课程是计算机专业的一门专业课程,是一门实践性很强的课程。
通过本课程的学习,使学生达到下面的目标:
1. 掌握Java语言编程知识,掌握面向对象编程的基本方法和面向对象编程思想; 2. 能编写基于GUI的应用程序与小应用程序,能编写出具有良好风格的程序; 3. 掌握多线程、数据库和网络等编程技术,熟练使用一种Java语言开发台,如,
Eclipse开发平台。
4. 学会针对问题进行分析,基于算法,熟练使用Java基于面向对象编程思想编
程。
二、课程教学内容
第一章 程序设计基础 (2学时)
1、教学内容
高级程序设计语言、程序设计语言的发展、流行的高级语言; 算法的概念、如果养成良好的编程习惯; 结构化程序设计和面向对象程序设计思想。
Java语言的历史与现状;Java虚拟机;Java语言的安全性、跨平台性; JDK的安装;环境变量的设置;
常见的Java开发工具;Java Application程序结构; Java程序设计过程;System.out.print( )语句 2、教学要求
(1)了解程序设计在计算机技术发展中的作用; (2)了解Java程序设计语言在专业学习中的作用; (3)建立Java开发环境;
(4)掌握Java程序编辑、编译和运行过程
第二章 Java语言概述 (2学时)
1、教学内容
55
标识符;表达式;Java基本数据类型;
布尔型常量、字符型常量、整型常量、浮点型常量、字符串量; 变量的概念、声明、有效范围、赋值、类型转换;
算术运算符、关系运算符、逻辑运算符、赋值运算符、条件运算符、运算符的优先级和结合性;掌握注释语句的作用,//和/* */的使用 2、教学要求
(1)掌握Java标识符的概念;掌握Java属于Unicode编码 (2)掌握Java基本数据类型、Java运算符与表达式 (3)基本掌握简单Java程序的编辑、编译与运行
第三章 结构化编程与数组 (2学时)
1、教学内容
if(if-else-if)、多分支语句 switch的结构和程序流程; 分支语句的嵌套; while语句
for语句的结构和程序流程; continue语句; break语句; 一维数组; 二维数组的概念; 静态数组初始化; 数组元素的引用。 2、教学要求
(1)掌握条件语句if,switch语句;
(2)掌握循环控制语句for,while,do—while语句; (3)掌握continue语句;break语句的用法; (4)掌握Java一维数组,数组
第四章 面向对象编程 (4学时) 1、教学内容
面向对象编程思想; 类;对象;
类的声明,类体的定义; 对象的声明与生成; 析构方法;
成员变量与成员方法的引用; 参数的传递; 构造方法; 静态成员;
56
继承,成员的继承; 多态,重载,覆盖; thisi关键字; super关键字;
接口的定义,接口的实现; 子类构造方法的定义; 内部类,抽象类,最终类。 2、教学要求
(1)掌握面向对象的两个核心概念,三个主要特性; (2)掌握类的定义,对象的声明与生成; (3)掌握继承与多态,理解重载与覆盖的区别; (4)掌握子类的定义
第五章 字符串类与Java常用类(2学时)
1、教学内容
String类; StringBuffer类; 枚举、泛型;
日期类与日历类、大数字处理、数字格式化输出等常用标准类; 包装类。 2、教学要求
(1)掌握String类、StringBuffer类常用方法
(2)掌握枚举、泛型;日期类与日历类、大数字处理、数字格式化输出等常用标准类;
(3)理解掌握包装类的用法;
第六章 异常处理(2学时) 1、教学内容
编译错误、运行错误;
异常,异常类,异常处理机制,try - catch – finally的异常语句; 自定义异常类。 2、教学要求
(1)理解异常的概念; (2)掌握异常处理机制;
第七章Applet 小应用程序(2学时) 1、教学内容
HTML结构;
Applet基本工作原理; Applet生命周期;
HTML文件协同工作及参数传递;
57
Color类、Font类;Graphics类,图形绘制与文本输出。 2、教学要求
(1)了解Applet小应用程序的运行; (2)掌握Applet程序的编写与运行; (3)掌握Color类与Font类; (4)掌握图形绘制与文本输出 第八章 图形用户界面设计(4学时) 1、教学内容 AWT包;
Frame类,Label类、Button类与TextField类; 委托事件处理模型;
Checkbox类、CheckboxGroup类、TextArea类、Choice类、List类; 容器类;
常用事件类与接口; 菜单与对话框。 Swing包介绍 2、教学要求
(1)了解AWT包组件;
(2)掌握GUI应用程序的编写,掌握常用组件类;
(3)掌握委托事件处理模型,理解掌握常用窗口、鼠标和键盘等事件的处理; (4)了解基于SWING包的图形用户界面设计。 第九章 多线程编程(2学时) 1、教学内容
程序、进程、线程; 多线程应用程序的创建; Thread类,Runnable接口; 多线程同步。 2、教学要求
(1)了解多线程编程机制; (2)理解线程与进程的区别; (3)掌握多线程编程;
(4)了解多线程应用程序的同步。 第十章 多媒体编程(2学时) 1、教学内容
图像的显示、音频文件的播放、视频文件的播放; 动画程序的编写。 2、教学要求
(1)掌握图像的显示;
58
(2)掌握音频,视频文件的播放; (3)掌握动画程序的编写。 第十一章 输入输出处理(2学时) 1、教学内容
数据流、字节流类; 常用的字节流类; 常用的字符流类; File类; 文件随机读写。 2、教学要求
(1)掌握常用的字节流类,基于控制台的输出,和键盘的输入,基于文件的读写; (2)了解常用的字符流类;
(3)掌握File类,理解对文件的管理。 第十二章 数据库与网络编程(3学时) 1、教学内容
JDBC数据库编程; SOCKET编程。 2、教学要求
(1)掌握基于JDBC数据库连接于操作; (2)掌握ACCESS数据库的连接于操作; (3)掌握基于SOCKET通信。 三、课程总体安排 讲 课:30学时 习题课:2学时: 实 验:14*2=28学时 机 动:4学时 四、教学基本要求 1.对学生能力培养与要求
本课程是基于Java语言讲授面向对象编程思想。课程要从最基本的Java编程知识与编程技术的讲解。所有讲解的内容都要基于实际应用为目的,java语言本身就是一门应用很广泛、实践性很强的语言,在学习的时候,需要学生认真学习基础知识,同时从最基本的程序,或教材的事例程序入手编写、调试程序。 “学习编程语言没有捷径可走,只有编程——编程——再编程”。 2.实验基本要求
(1)上机前应准备好实验的程序设计算法描述与关键分析内容; (2)准备好程序测试数据和设备操作步骤,上机调试、运行; (3)写出实验报告(含实验题目,实验源程序、给出运行结果)。
59
注:《Java2 程序设计》实验指导书为标准。 3.评价与考核
本课程考核应包括实验考核及期末考核,实验成绩占学期总成绩的30%。期末考核成绩占学期总成绩的70%,其中笔试重点考核学生对Java程序语言的基本概念、语法等的掌握情况,实验考核重点考核学生使用Java编写程序的能力及运用所学知识进行程序设计及运行、调试程序的能力。笔试侧重理论基础知识,占期末成绩的30%,上机部分侧重学生动手能力的培养,占期末成绩的70%。 五、本课程与其他课程的联系
本课程的先修课有:C语言高级语言程序设计。 本课程的后续课有:软件工程、软件项目管理。 六、建议教材与参考教材 1.建议教材
《Java2程序设计实用教程》,陈帆编著,机械工业出版社,2005.9 。 《Java2 程序设计》实验指导书,陈帆编著,西南交大教材科印刷,2006.9。 2.参考教材
查拉坦,堪斯著,王桂彬,刘家兰译 《Java大学教程(第2版 )》,清华大学出版社,2008年;
Schildt,H著,杨继萍等译,《Java实用教程(第4版)(国外经典教材·计算机科学与技术)》,出版社:清华大学出版社 2009年;
Harvey M.Deitel &Paul J.Deite 著,《JAVA大学教程》第四版,电子工业出版社。
60
《嵌入式系统开发》教学大纲
中文 英文 嵌入式系统开发 Embedded System Development 信息科学与技术学院 胡晓鹏 总学时 学分 授课方式 撰搞人 51 3 讲授与实验 胡晓鹏 课程名称 开课单位 授课教师 一、课程的性质和目的
《嵌入式系统开发》课程是软件工程专业的限选专业课程。该课程是在计算机组成原理、微机原理及接口、高级语言程序设计、操作系统的基础上,讲授嵌入式操作系统中的基本概念、原理与方法。通过该课程的学习,帮助学生获得必要的嵌入式操作系统基本知识,了解嵌入式系统发展的最新动态及其发展趋势;帮助学生掌握基本的嵌入式应用软件开发过程和开发方法,能够适应越来越广泛的嵌入式应用开发的需要。 二、课程教学内容
第一章 嵌入式系统导论(4学时)
2. 教学内容: 嵌入式系统概述; 嵌入式系统的应用领域; 嵌入式系统的发展趋势; 2.教学要求:
(1)了解嵌入式系统的基本概念、课程学习方法; (2)了解嵌入式系统的不同应用领域; (3)了解嵌入式系统的发展趋势。 第二章 嵌入式硬件系统(3学时)
1. 教学内容:
嵌入式硬件系统基本组成; 嵌入式微处理器; 嵌入式系统总线; 嵌入式存储系统; 2.教学要求:
(1)了解嵌入式硬件系统组成部分;
(2)了解常见的嵌入式微处理器(ARM、MIPS等)的结构、特点; (3)理解不同总线的作用、特点、应用场合。 第三章 嵌入式软件系统(4学时)
1.教学内容:
嵌入式软件系统概述;
61
嵌入式操作系统; 嵌入式Java 2.教学要求:
(1)了解嵌入式软件系统的分类、体系结构、软件运行流程;
(2)重点掌握嵌入式操作系统的演变、分类、体系结构以及嵌入式实时操作系统µC/OS-II;
第四章 任务管理与调度(6学时)
1.教学内容: 任务; 任务管理; 任务调度; 优先级反转。 2.教学要求:
(1)了解嵌入式系统中任务的基本概念及特点;
(2)重点掌握任务的管理机制,包括任务状态与变迁、任务切换、任务队列、优先级位图算法、任务管理机制;
(3)重点理解任务调度机制以及对优先级翻转问题的处理方法。 第五章 同步、互斥与通信(6学时)
1.教学内容:
同步、互斥基本概念; 信号量; 邮箱和消息队列; 事件; 异步信号; 2.教学要求:
(1)结合在操作系统课程中所学过的知识,理解嵌入式系统中同步、互斥与通信机制的特点;
(2)重点掌握µC/OS-II的同步、互斥实现方法。 第六章 中断和时间管理(5学时)
1.教学内容: 中断分类; 硬件中断机制;
嵌入式系统中断管理方式; 硬件时钟设备; 时间管理。 2.教学要求:
(1)了解中断分类以及嵌入式系统对中断的管理方式;
(2)重点掌握硬件时钟工作原理以及嵌入式系统对时间的管理方式。
62
第七章 内存和I/O管理(3学时)
1.教学内容: 内存管理机制; 内存保护; I/O管理概述;
一种I/O系统实现方法。 2.教学要求:
(1)了解嵌入式实时操作系统对内存管理的要求; (2)深入理解不同的内存管理方式及保护机制; (3)掌握I/O软件的结构及实现方式。
第八章 嵌入式系统软件的开发方法(2学时)
1.教学内容:
嵌入式软件开发工具; 嵌入式系统开发模式; 实时软件分析设计方法; 2.教学要求:
(1)了解嵌入式应用的开发过程和开发环境,掌握基本的嵌入式应用开发方法; (2)理解嵌入式应用的基本设计理论,掌握嵌入式应用的设计方法。 三、课程总体安排
讲课:33学时 习题课:3学时: 实验:12*2=24学时 机动:3学时
四、课程的教学基本要求
1.实验是本课程的重点教学环节,实验成绩占期末总成绩的20%。
2.作业是巩固学习效果的重要方式。平时作业、课堂作业和考勤占期末成绩的10%。 五、本课程与其它课程的联系
本课程的先修课有:高级语言程序设计、计算机组成原理、微机原理及接口、操作系统。
六、建议教材及参考教材
1.建议教材:
嵌入式实时操作系统及应用开发,罗蕾主编,北京航空航天大学出版社. 2005 2.参考教材:
Jean J.Labrosse. 嵌入式实时操作系统uC/OS-II(第2版). 北京航空航天大学出版社.及uC/OS-II ebook
嵌入式计算系统设计原理(美)Wayne Wolf. Computers as Components:Principles of
63
Embedded Computing System Design
Jean J.Labrosse. 嵌入式实时操作系统uC/OS-II(第2版). 北京航空航天大学出版社.
《软件质量保证与测试》教学大纲
中文 英文 软件测试 Software Testing 信息科学与技术学院 楼新远 总学时 学分 授课方式 撰搞人 51 3学分 讲授 楼新远 课程名称 开课单位 授课教师 一、课程的性质和目的
《软件质量保证与测试》课程是软件工程专业的专业课程。
该课程是在软件工程、数据结构、高级语言程序设计的基础上,详细讲解软件测试的基本技术、测试过程、测试用例设计、测试文档、测试工具等专业内容,通过课程学习,使学生掌握规划软件测试工作、报告软件缺陷,评估软件测试和测试项目的管理过程,掌握软件测试的理论、方法和技巧,加深对软件测试的理解,为今后做一名合格的软件设计工程师奠定专业技术工作基础。 二、课程教学内容 第一章 概述(4学时)
1.教学内容:
软件、软件过程模型; 软件缺陷、软件故障; 软件质量与质量模型; 软件测试及发展;
软件测试课程的性质、在计算机科学和课程体系中的地位。 2.教学要求:
(1)了解软件测试在计算机科学中的地位,以及软件测试课程与软件工程专业其它课程之间的关系;
(2)充分理解软件、软件缺陷、软件故障、软件质量、软件测试等基本概念; (3)基本掌握软件过程模型、软件质量模型,掌握软件测试与分析的基本方法。
第二章 软件测试计划(3学时)
1.教学内容:
软件测试计划的作用、原则;
软件测试计划的制定过程,软件测试计划的衡量标准; 2.教学要求:
(1)了解软件测试计划的作用、原则; (2)理解软件测试计划的衡量标准。
(3)掌握软件测试计划的制定过程和测试计划文档的编制。
65
第三章 软件测试基本技术(9学时)
1.教学内容:
软件测试的基本分类; 软件白盒测试与黑盒测试技术 静态测试与动态测试 功能测试与非功能测试; 基本路经测试 逻辑覆盖技术
白盒测试与黑盒测试的基本策略。 2.教学要求:
(1)充分理解软件测试分类的基本概念;
(2)牢固掌握白盒测试与黑盒测试的基本方法,特别是基本路径和逻辑覆盖技术的测试方法。
(3)了解和掌握白盒测试与黑盒测试的基本策略。 第四章 软件测试过程与阶段管理(6学时)
1.教学内容:
软件测试过程的定义及术语; 软件测试阶段的划分; 软件单元测试; 集成测试; 系统测试; 验收测试; 回归测试;
系统排错的过程与策略。 2.教学要求:
(1)充分理解测试过程的定义、相关术语;
(2)掌握软件测试阶段的划分和各阶段采用的主要测试技术和方法;; (3)重点理解和掌握软件单元测试、集成测试、系统测试的过程与策略。 第五章 测试用例设计(8学时)
1.教学内容:
测试用例的定义、分类等基本概念; 测试用例的设计方法; 编写标准;
测试用例的设计实例; 测试用例的执行与跟踪过程; 测试用例的管理。
66
2.教学要求:
(1)深入理解测试用例的定义、分类等基本概念; (2)掌握测试用例的设计方法、编写标准;
(3)重点掌握测试用例的设计技术,测试用例的执行与跟踪过程; (4)了解测试用例的管理。 第六章 测试报告与测试评价(6学时)
1.教学内容:
软件缺陷及缺陷种类,缺陷的属性; 软件缺陷的生命周期; 软件缺陷的分离和再现; 软件缺陷的报告; 软件缺陷的跟踪管理; 软件测试的评价。 2.教学要求:
(1)充分理解软件缺陷及缺陷种类、缺陷的属性等概念; (2)重点掌握软件缺陷的分离和再现;软件缺陷的报告; (3)了解软件缺陷的跟踪管理,软件测试的评价。 第七章 软件测试的项目管理(6学时)
1.教学内容:
软件测试项目管理; 软件测试文档;
软件测试的组织与人员管理; 软件测试的过程管理; 配置管理; 风险管理; 时间与成本管理。 2.教学要求:
(1)深入理解软件测试项目与管理的关系; (2)掌握软件测试文档的作用和类型;
(3)了解软件测试的组织与人员管理与风险管理;
(4)掌握软件测试的过程管理、配置管理、时间与成本管理的方法。 第八章 面向对象的测试与自动化测试(4学时)
1.教学内容:
面向对象的软件特点; 面向对象软件测试的不同层次; 测试模型和方法;
67
软件测试自动化条件和测试工具。 2.教学要求:
(1)理解面向对象的软件特点、测试的层次和测试模型; (2)了解软件测试自动化条件和测试工具。 第九章 测试实例(5学时)
1.教学内容:
软件测试项目实例介绍; 测试计划制定与评审; 测试用例的设计; 缺陷报告的编制; 缺陷的跟踪与管理过程; 测试结果的总结与分析; 文档的测试。 2.教学要求:
(1)掌握软件测试项目管理的基本思想
(2)掌握软件缺陷报告的编制、缺陷的跟踪与管理、总结与分析技术。 三、课程总体安排
总学时:51学时 讲课:44学时 习题课:5学时 实验:课外安排 机动:2学时
四、课程的教学基本要求
1.软件测试的实践过程贯穿于各个软件项目的开发与管理过程,在外课安排与程序设计相关的软件测试的实验。
2.作业是巩固学习效果的重要方式。平时作业、课堂作业和考勤占期末成绩的10%。平时作业完成得质量是主要考核依据。 五、本课程与其它课程的联系
本课程的先修课有:程序设计、离散数学、数据结构。 六、建议教材及参考教材
1.建议教材:
《软件测试》,佟伟光 主编,人民邮电出版社 2.参考教材:
《软件测试基础教程》 (英文版Software Testing Foundations·第2版)[德]Andreas
68
Spillner,Tilo Linz,[挪]Hans Schaefer著,人民邮电出版社
69
《人机交互技术》教学大纲
课程名称 开课单位 授课教师 中文 英文 人机交互技术 总学时 学分 授课方式 撰搞人 68 4学分 讲授与实验 何太军 Human Computer Interaction 信息科学与技术学院 何太军 一、课程的性质和目的
《人机交互技术》课程是软件工程专业的核心专业课程,涉及计算机科学、心理学、人机工程学等多个学科。该课程主要讲授各种用于交互式软件开发的分析、设计和评估技术,包括人机交互范式和框架及交互风格、可用性工程、人机交互需求工程(需求获取、任务分析等)、人机交互的设计方法(设计模型、设计原则、交互设计、原型)、人机交互的实现以及人机交互的评估技术(启发式评估、可用性测试等)。通过该课程的学习,使学生理解人机交互的基础理论、方法、模型、原则以及模式,培养学生从复杂问题中发现人机交互的要素、依据人机交互需求工程方法为复杂软件系统开发人机交互需求的能力,以及培养学生进行人机交互的分析、设计和评估,建立有效的人机交互解决方案等方面的能力,为实际软件系统开发大好基础。 二、课程教学内容:
第一章 人机交互概述(2学时)
1.教学内容:
人机交互的概念、知识背景和工程背景; 心理学和认知科学等相关学科支持。 2.教学要求:
(1)了解人机交互发展过程、研究内容、相关学科; (2)理解人机交互、交互设计等概念。 第二章 人机交互基础(4学时) 1.教学内容: 人机交互目标; 可用性要素; 人的因素; 设备基础。 2.教学要求:
(1)理解人机交互目标、可用性工程及可用性要素;
(2)了解人对信息的获取与处理、记忆及认知过程(认知)及特点; (3)了解各种交互设备及其在人机交互中的应用。 第三章 交互范式(2学时)
70
1.教学内容: 计算环境; 交互范式分析; 各主要交互范式; 2.教学要求:
(1)理解交互范式概念及交互范式构成;
(2)理解主要交互范式:个人计算、移动计算、网络计算、环境计算、嵌入式虚拟等。 第四章 交互框架和方式(3学时)
1.教学内容: 交互过程框架; 认知模型; 设计模型; 系统模型 ; 交互风格; 2.教学要求:
(1)理解交互的框架以及认知模型等重要概念及其在交互设计中的应用;
(2)理解常用的交互风格:命令行、菜单、填表、对话、直接操纵、三维环境等的特点和应用。
第五章 交互设计过程(1学时)
1.教学内容:
动态系统开发方法; 简易可用性工程; 设计过程模型。 2.教学要求:
(1)了解动态系统开发方法在交互设计过程中的应用; (2)理解可用性过程在交互设计中的应用; (3)掌握设计过程模型及其各个阶段 第六章 需求获取和任务分析(6学时)
1.教学内容:
人机交互需求的获取过程与方法; 任务分析; 用户分析与建模; 2.教学要求:
(1)理解需求获取阶段框架; (2)掌握各种需求获取方法;
(3)掌握层次化任务分析方法、用例分析方法、交互建模; (4)理解利益相关者、掌握用户分析建模方法。 第七章 交互设计(6学时)
71
1.教学内容:
交互设计的任务与活动; 交互设计的要素; 用户参与式设计; 以用户为中心的设计; 交互设计的常用模式及其特征;
概念设计及设计方法(卡片分类法、语义网络、角色设计、情景设计、流程图及走查);
物理设计(原型及低保真度原型、层次框架图、高保真度原型及原型评估); 交互设计工具(图形库、界面工具箱、界面编辑器、Web开发工具等); 2.教学要求:
(1)理解交互设计、以用户为中心的设计及其他交互设计方法; (2)掌握概念设计方法并能灵活应用;
(3)掌握物理设计方法并灵活应用(如层次框架设计、界面设计工具应用) 第八章 设计原则(3学时)
1.教学内容:
交互设计原则;
可理解性、可学习性、可用性的有效性; 效率原则、分组原则; 格式塔心理学应用; 屏幕复杂性及度量方法等; 2.教学要求:
(1)理解各交互设计原则;
(2)掌握有效性、效率原则、分组原则的应用; (3)理解格式塔心理学在交互设计中的应用; (4)掌握屏幕复杂度及度量方法。 第九章 交互设计模型(6学时)
1.教学内容: 人类处理器模型; 击键模型; GOMS模型;; Hick定律; 状态转移网络; Fits定律。 2.教学要求:
(1)理解人类处理器模型;
(2)掌握击键模型、GOMS模型、Hick定律、状态转移网络、Fits定律,并能充分应用于交互设计;
72
第十章 可用性评估与测试(3学时)
1.教学内容: 评估要素; 评估活动; 可用性测试; 启发式评估; 专家评审; 观察与调查用户; 用户测试与预测模型。 2.教学要求:
(1)理解可用性、启发式评估、可用性测试、可用性测试过程; (2)理解设计测试(测试目标、测试任务、测试标准、测试人员等)
(3)掌握测试过程(准备、脚本、示范测试、测试执行、数据分析)及相关方法 (4)了解可用性测试实验室及其构成 第十一章 交互的因素(6学时)
1.教学内容:
颜色、界面交互组件、图标、文本、语音、触觉等交互因素及其使用; 信息内容的组织; 一致与标准化; 体验式设计; 本地化设计; 可视化开发;
配置式编程与国际化配置; 界面开发工具。 2.教学要求:
(1)理解颜色在交互设计中的应用; (2)掌握WIMP界面其交互组件应用; (3)理解图标的设计问题及其应用; (4)了解语音、触觉等交互设计及其应用。
(5)掌握交互设计的其他方面:可视化设计、本地化设计、界面设计方法。 第十二章 Web系统的人机交互(3学时)
1.教学内容:
Web系统的人机交互分析; Web的人机交互特征; Web的人机交互手段; Web系统的人机交互设计; Web系统的人机交互实现; Web系统的人机交互评估。
73
2.教学要求:
(1)了解Web系统的人机交互特点;
(2)理解Web的人机交互手段;Web系统的人机交互评估;
(3)掌握Web的人机交互手段;Web系统的人机交互设计;Web系统的人机交互实现。
三、课程总体安排
讲课:45学时 习题课:4学时: 实验:16*2=32学时 机动:3学时
四、课程的教学基本要求
1.课堂讲授以多媒体教学形式,重点讲授各知识点并结合案例进行课堂讨论。课堂上也以各小组讲解自己的课程设计并进行讨论。
2.实验是本课程的重点教学环节,实验成绩占期末总成绩的30%。实验要求学生在以或分组形式,至少完成必选实验题目,掌握基本的人机交互分析、设计、和实现、评估的方法和技术。可以以一个已有软件系统(一般为Web系统,有源代码)为出发点:建立软件系统的人机交互需求;进行人机交互设计;实现新设计的人机交互方案;分别评估原有系统和新实现系统的人机交互设计;比较的人机交互设计方案,总结经验。也可以学生(可个人或组队)根据兴趣爱好结合实际选择一个题目(教师提供一些参考选题)进行交互设计,不拘泥于具体形式,自由发挥,重点是体现人机交互系统设计全过程。所有实验完毕后提交实验报告、设计原型及软件实现(作为奖励分给出)。
3.作业是巩固学习效果的重要方式。平时作业、课堂作业和考勤占期末成绩的10%。平时作业完成得质量是主要考核依据。作业形式包括课程作业、资料阅读及交互式软件分析等。
4.考试形式开用半开卷或开卷,以本课程的知识点以及结合课程设计的主观题作为主要内容,也加入一些专题型的创新性的人机交互设计题目考核学生对课程知识的灵活应用。 五、本课程与其它课程的联系
本课程的先修课有:高级语言程序设计、面向对象程序设计、多媒体技术、计算机图形学、软件工程、数据库等。
本课程的后续建议:无。(嵌入式软件设计、Web应用软件设计等) 六、建议教材及参考教材
1.建议教材:
《和谐界面-交互设计基础》,[美] Steven Heim著,李学庆等译,电子工业出版社 2.参考教材:
《人机交互》(第三版),[美]Alan Dix等著,蔡利栋等译,电子工业出版
74
《用户界面设计-有效的人机交互策略》,[美]Ben Shneiderman等著,张国印等译,电子工业出版社
《交互设计-超越人机交互》,[美]Jennifer Preece等著,刘晓晖等译,电子工业出版社
75
《软件项目管理》教学大纲
中文 英文 软件项目管理 总学时 学分 授课方式 撰搞人 51 3学分 讲授与案例分析 赵其刚 课程名称 开课单位 授课教师 Software Project Management 信息科学与技术学院 赵其刚 一、课程的性质和目的
《软件项目管理》课程是软件工程专业的限选专业课程。本课程全面介绍软件项目管理的基本概念、术语,软件项目总体计划的制定方法、过程,以及软件项目范围管理、时间管理、费用预算与成本管理的基本知识与原理,此外针对软件项目的特殊性还包括软件项目质量控制、软件项目风险预测与预防、软件项目管理工具的使用等方面的内容。通过本课程的学习,使学生掌握软件项目管理的基本概念及各管理领域的基本原理,掌握常用的软件项目管理工具,能灵活运用项目管理的相关理论分析项目案例,为今后从事软件项目管理工作,以及在软件项目开发过程中自觉接受、主动配合各种管理措施奠定基础。 二、课程教学内容
第一章 软件项目管理概述(3学时)
1.教学内容:
项目、项目管理、项目规模、项目管理的特点; 软件、软件的过程概念; 软件项目管理的概念;
软件项目管理与软件工程的关系; 软件项目的类型。 2.教学要求:
(1)理解项目、项目管理的定义,能正确区分什么样的工作是项目,什么样的工作不是项目;
(2)充分理解项目的特点、项目的分类、项目管理等基本概念; (3)理解软件项目的特殊性及软件项目管理面临的特别挑战。
第二章 软件项目集成管理(6学时)
1.教学内容:
软件项目集成管理的基本概念; 项目管理程序;
项目管理计划制定的流程、项目管理计划方法与工具; 软件项目管理各知识领域;
项目管理程序间的关系及相互间的关系; 2.教学要求:
76
(1)理解软件项目集成管理的基本概念;
(2)掌握项目管理程序、项目管理计划制定的流程与所涉及的方法与工具; (3)重点掌握软件项目管理各知识领域与项目管理程序间的关系及相互间的关系
第三章 软件项目范围管理(8学时)
1.教学内容:
软件项目范围管理的基本概念与术语; 软件项目范围管理的程序;
软件项目范围管理所涉及方法与工具;
软件项目范围管理在软件项目总体管理中的重要地位。 2.教学要求:
(1)理解软件项目范围管理的基本概念与术语;
(2)掌握软件项目范围管理的程序、软件项目范围管理所涉及方法与工具; (3)理解软件项目范围管理在软件项目总体管理中的重要地位。
第四章 软件项目时间管理(8学时)
1.教学内容:
时间管理的目标、时间管理的过程; 时间管理基本术语;
网络图(前导图与箭线图)、关键路径法与浮动时间; PERT图、资源分配;
受资源约束的进度计划和受时间约束的进度计划; 制定进度计划;
进度计划与进度计划编制工具; 进度变更控制。 2.教学要求:
(1)重点掌握软件项目时间管理的基本概念与术语;
(2)掌握软件项目时间管理的程序、软件项目时间管理所涉及方法与工具; (3)理解软件项目时间管理在软件项目总体管理中的重要地位。
第五章 软件项目成本管理(8学时)
1.教学内容:
成本管理与成本管理过程; 会计体系、成本估算; 估算准确度、挣值管理; 成本管理计划与成本控制; 进展报告、成本与风险; 项目选择与经济术语。 2.教学要求:
(1)重点掌握软件项目成本管理的基本概念与术语;
(2)深入理解软件项目成本管理的程序、软件项目成本管理所涉及方法与工具;
77
(3)理解软件项目成本管理在软件项目总体管理中的重要地位。
第六章 软件项目的组织(6学时)
1.教学内容: 组织的一般原理; 项目组织的环境; 项目的组织形式;
职能式组织结构、项目式组织结构; 矩阵式组织结构、混合式组织结构; 软件项目的组织。 2.教学要求:
(1)充分理解组织、项目组织、项目组织的环境概念;
(2)掌握项目的组织形式,包括职能式组织、项目式组织、矩阵式组织、混合工组织结构;
(3)重点掌握软件项目组织及软件项目组织的角色。 第七章 软件项目质量管理(6学时)
1.教学内容:
软件项目质量管理的重要性; 软件项目质量管理过程; 软件项目质量评估方法; 软件开发各阶段质量保证;
软件企业质量保证体系认证—ISO9000; 软件过程成熟度模型CMM。 2.教学要求:
(1)深入理解软件项目质量管理的重要性; (2)深入理解软件项目质量管理的过程与评估方法; (3)掌握软件开发各阶段质量保证的方法与手段;
(4)掌握软件企业质量保证体系认证—IS09000、软件过程成熟度模型CMM。 第八章 软件管理及工具(6学时)
1.教学内容:
软件配置管理(SCM); 软件配置管理的功能; 软件配置管理的实施; CMM与SCM; MS Project 的应用; MS Project的功能; MS Project的网络应用。 2.教学要求:
(1)深入软件配置管理的基本概念;
78
(2)深入理解软件成熟度模型CMM的分级体系及各级KPA; (3)掌握软件配置管理工具及MS Project项目管理软件。 三、课程总体安排
讲课:36学时 案例分析:12学时: 机动:3学时 四、课程的教学基本要求
1.案例分析是本课程的重点教学环节,案例分析成绩占期末总成绩的20%。每个学生将根据案例制作案例分析PPT,并通过PPT演讲,达到标准,将可获得给定的案例分析分数。
2.平时作业、课堂作业和考勤占期末成绩的10%。 3.期未考试得分是主要考核依据,占总分数的70%。 五、本课程与其它课程的联系
本课程的先修课有:软件工程、程序高计、数据库、操作系统等。 本课程的后续课有:毕业设计。 六、建议教材及参考教材
建议教材:
PMI 的PMBOK;《软件项目管理案例教程》,2009年04月/机械工业出版社
79
《计算机图形学》教学大纲
中文 英文 计算机图形学 Computer Graphics 信息科学与技术学院 楼新远、何太军 总学时 学分 授课方式 撰搞人 68 4学分 讲授与实验 楼新远 课程名称 开课单位 授课教师 一、课程的性质和目的
《计算机图形学》课程是软件工程专业的专业基础必修课程。该课程是以图形的方式来表示抽象的概念、数据可视化及和谐的人机交互环境及实现原理。主要讲授计算机图形学的基本理论和算法、图形设备的基本工作原理、图形信息的表示方法与图形数据的组织方法,掌握图形的坐标与窗口、视区变换、图形的可见性判别、计算机图形的基本绘制技术、人机交互方式与人机界面实现技术、计算机动画原理与技术等内容,培养学生分析问题、解决问题和实际动手的能力,为图形学的应用开发提供理论和技术基础。 二、课程教学内容:
第一章 概述(3学时)
1.教学内容:
计算机图形学含义、计算机图形学应用领域、图形技术进展; 计算机图形学在计算机科学和课程体系中的地位。 2.教学要求: (1)了解计算机图形学在计算机科学中的地位,以及计算机图形学课程与软件工程专业其它课程之间的关系;
(2)理解计算机图形学含义及研究的内容;
(3)了解计算机图形学中涉及的应用领域、图形技术进展。
第十章 图形设备与图形标准(6学时)
1.教学内容:
计算机图形系统结构及功能、常用图形设备的基本工作原理、图形逻辑输入设备
与输入处理、图形学涉及的已有标准
2.教学要求:
(1)了解计算机图形系统结构及功能; (2)理解常用图形设备的基本工作原理; (3)掌握图形逻辑输入设备与输入处理过程; (4)了解图形学涉及的已有标准。 第三章 基本图形生成(8学时)
1.教学内容:
基本图形的表示、基本图元及生成算法、区域填充、字符处理、图形属性处理、反走样技术;
2.教学要求:
(1)充分理图元的基本概念;
80
(2)牢固掌握基本图元及生成算法及基本算法实现,特别是直线、圆的生成方法和区域填充算法;
(3)了解字符处理、图形属性处理、反走样技术。
第四章 图形变换(6学时)
1.教学内容:
齐次坐标、二维变换、三维变换、复合变换与逆变换、投影与工程视图; 2.教学要求:
(1)充分理解齐次坐标相关术语及特性;
(2)重点掌握二维变换、三维变换、复合变换与逆变换的实现技术; (3)了解投影与工程视图的理论和实现技术。 第五章 窗口、视区变换与裁剪技术(7学时)
1.教学内容:
窗口、视区变换、点、直线段裁剪、多边形裁剪、字符裁剪、*三维裁剪技术; 2.教学要求:
(1)理解窗口、视区变换的基本方法;
(2)重点掌握点、直线段裁剪、多边形裁剪的原理、方法和实现技术; (3)了解字符裁剪、*三维裁剪技术。
第十四章 图形的表示与数据组织(6学时)
1.教学内容:
图形模型、图形坐标系、图形信息与表达方法、图形的层次组织与数据结构、三维形体的表示方法、基本图形绘制技术; 2.教学要求:
(1)充分理解图形坐标系、图形信息与图形对象的表达方法; (2)重点掌握图形的层次组织与数据结构;
(3)了解三维形体的表示方法、基本图形的绘制技术。 第十五章 真实感图形显示(8学时)
1.教学内容:
曲线与曲面拟合,图形可见性,隐藏线消除,隐面消除,光线反射与跟踪技术,阴影处理技术; 2.教学要求:
(1)深入理解曲线与曲面拟合,图形可见性的基本概念; (2)深入理解隐藏线消除,隐面消除的主要算法;
(3)掌握光线反射与跟踪技术,阴影处理技术的实现方法。 第十六章 图形动画(6学时)
1.教学内容:
图形的移动、复制,图形运动轨迹控制,关键帧技术、背景运动,图形运动速度控制,图形动画合成技术。 2.教学要求:
(1)深入理解图形轨迹、关键帧等基本概念;
(2)重点掌握关键帧技术和轨迹控制的主要方法;
(3)掌握背景运动,图形运动速度控制,图形动画合成技术; (4)深入理解图形的移动、复制,图形运动等内容。 第十七章 图形文件格式与设备管理(3学时)
1.教学内容:
81
图形文件格式,图形存贮、压缩、还原技术,图形模式与分辨率,图形设备管理 2.教学要求:
(1)了解主要的图形文件格式、图形存贮、压缩、还原技术的基本思想; (2)掌握图形模式与分辨率概念及实现技术; (3)了解图形设备管理方式。 三、课程总体安排
总学时:68学时 讲课:45学时 习题课:5学时:
实验:14*2=28学时(课程1学时等价为2实验学时) 机动:4学时 四、课程的教学基本要求
1.实验是本课程的重点教学环节,实验成绩占期末总成绩的20%。每个学生将从给出的实验中完成6个以上实验,才能获得给定的实验分数。如果多做实验,将获得奖励分。
2.作业是巩固学习效果的重要方式。平时作业、课堂作业和考勤占期末成绩的10%。平时作业完成得质量是主要考核依据。 五、本课程与其它课程的联系
本课程的先修课有:计算机原理、线性代数。
本课程的后续课有:多媒体技术、CAD系统、人机接口与交互技术等。 六、建议教材及参考教材
1.建议教材:
《计算机图形学实用教程(第2版)》,苏小红、李东、唐好选等编著,人民邮电出版社
《计算机图形学》,孙家广 编著,清华大学出版社 2.参考教材:
《计算机图形学》[美]Donald Hearn、M. Pauline Baker著,蔡士杰、宋继强、蔡敏等译,电子工业出版社
82
《信息系统安全工程》教学大纲
中文 课程名称 英文 信息系统安全工程 总学时 学分 授课方式 撰搞人 32 2学分 讲授 和红杰 Security Engineering of Information System 信息科学与技术学院 李晓航 , 和红杰 开课单位 授课教师 一、课程的性质和目的
《信息系统安全工程》课程是软件工程专业的高年级选修课程。本课程以信息安全理论为基础,以指导工程设计为目标,选择性地介绍了目前已经被普遍应用且实用有效的密码算法、协议和系统,结合系统工程方法,介绍了信息安全标准状况和现有的安全模型。通过本课程的学习,使软件工程专业的学生初步了解先信息安全的概念、安全需求、信息安全的框架模型、信息安全的相关技术和当前解决信息安全问题常用的一些策略和实用技术,为解决实际应用中遇到的安全性问题提供思路。 二、课程教学内容
第一章 信息系统安全概述(4学时)
1.教学内容:
信息安全的重要性及基本概念;
信息系统安全的主要威胁: 信息系统的发展与分类,威胁与攻击及其分类; 信息系统要求的安全服务: 鉴别、访问控制、可用性、完整性、保密性、抗抵赖
等;
信息安全基本措施:密码技术,安全控制技术,安全防范技术 2.教学要求:
(1)了解信息安全的基本概念及信息安全的基本措施; (2)理解信息系统生命期内威胁与攻击的动态变化,;
(3)掌握信息系统面临的威胁与攻击种类,信息系统要求的安全服务等内容
第十一章 密码技术(10学时)
1.教学内容:
密码学概述:密码分类,代换密码,换位密码等; 分组密码及加密模式:基本思想及经典算法,加密模式;
公钥密码技术:基本思想及经典算法,公钥基础设施;基于PKI的双向认证 数字签名:数字签名的概念及原理,数字签名应用实例; 杂凑函数:杂凑函数的定义、性质,经典算法,杂凑函数的应用 2.教学要求:
(1)了解各种密码技术的特性及其典型应用;
83
(2)理解密码技术的基本思想,不同密码技术及其有机结合可以实现那种安全服务。 (3)掌握分组密码、公钥密码及杂凑函数的基本原理及经典算法。 第三章 信息隐藏于数字水印技术(8学时)
1.教学内容:
信息隐藏:信息隐藏模型、特点、与密码技术的关系;
数字水印:系统模型,分类及相应的应用领域,研究的三个层次,性能评价与测试
数字水印与内容认证:经典算法举例,算法性能分析与讨论
数字水印与电子交易:系统设计原则,对数字水印技术的要求,应用实例 2.教学要求:
(1)了解信息隐藏与数字水印的基本概念、原理及其与密码学的关系; (2)理解数字水印系统模型,数字水印的不同应用及其可实现的安全服务。 (3)通过对经典算法及其性能分析,理解掌握实现不同安全服务的数字水印特点。
第四章 安全标准及常见的安全系统(8学时)
1.教学内容:
安全标准概况:国际安全标准组织,各全标准
信息安全风险评估标准:国外评估标准,国内评估标准,基于CC的认证 信息安全模型:访问控制模型,信息流模型,信息完整性模型 IPSec协议:安全体系结构,具体协议,实现模式
WSN安全机制:传感器网络密码算法、安全协议、认证技术、DoS攻击等 2.教学要求:
(1)了解各国的安全标准,信息安全防线评估标准,IPSec协议;
(2)理解信息安全模型,解决应用中安全问题的要考虑的因素及采取的安全技术等。 第五章 信息安全评估(2学时)
1.教学内容:
我国信息安全测评认证的组织体系、标准体系、技术体系,测评认证工作流程; 国外信息安全测评认证体系简介。
2.教学要求:
了解我国信息安全测评认证的组织体系、标准体系、技术体系,测评认证工作流程。 三、课程总体安排
讲课:28学时 讨论课:2学时: 机动:2学时 四、课程的教学基本要求
1. 课程设计是本课程的重点教学和学生动手能力培养的重要环节,课程设计成绩占期末总成绩的20%。每个学生将从制定的3个课程设计中选择一个完成。课程设计应从问题分析、实施方案制定、算法设计、编成实现、撰写报告等方面,课程设计报告提交包括
84
打印的报告正文和设计的电子版可执行程序。
2. 作业是巩固学习效果的重要方式。平时作业、课堂作业和考勤占期末成绩的10%。平时作业完成得质量是主要考核依据。 五、本课程与其它课程的联系
本课程的先修课有:高级语言程序设计、数据结构。 六、建议教材及参考教材
1.建议教材:
《信息安全工程》, 庞辽军 等 编著,西安电子科技大学出版社,2010.10 2.参考教材:
《信息安全工程导论》,沈昌祥编著,,电子工业出版社,2003 《信息安全技术概论》, 冯登国,电子工业出版社,2000
85
《微机与接口技术》教学大纲
中文 微机原理与接口技术 英文 Microcomputer Principle and Interfacing Technique 信息科学与技术学院 杨斌、杨扬、乔少杰、陈俊周 总学时 48学时 学分 3学分 授课方式 讲授 撰搞人 杨斌 课程名称 开课单位 授课教师
一.课程的性质和目的
本课程是电子信息类本科各专业的必修主干技术基础课。本课程的目的是使学生具体深入的了解微型计算机的系统组成、基本工作原理、软硬件之间的关系,掌握各功能部件硬件结构及编程方法等内容。为进一步使用微机及对其进行硬件、软件的应用开发打下基础。
二.课程教学内容
第一章 概论 (2学时)
1.教学内容:
微型计算机的特点及发展史 微型计算机的组成结构
微型计算机的常用配置及性能指标 2.教学要求:
(1)了解计算机的发展简史及微处理器CPU的发展趋势。 (2)理解微型计算机的结构特点及主要类型。 (3)掌握衡量微型计算机性能的主要技术指标。 第二章 8086/8088微处理器 (8学时)
1.教学内容:
8086/8088CPU的内部结构及工作原理 8086/8088CPU的引脚功能 8086/8088CPU的工作模式 8086/8088CPU的总线操作及时序 2.教学要求:
1)了解X86系列CPU的演化过程及共有特性,8088与8086的区别,地址锁存器8282(74LS373)、数据收发器8286(74LS245)、时钟芯片8284的功能及在电路中的作用。
(2)理解8086/8088 CPU的编程结构及工作过程,外部地址线与数据线分时复用的原理及实现方法,CPU在同一总线下区分存储器和外设的方法, 8086CPU在16位数据线时的存储器组织及字访问原则,局部总线与系统总线概念,总线的隔离方式
86
及共享的原则,最大模式下总线控制器8288的作用,总线周期概念及最小模式下的总线周期时序。
(3)掌握8086/8088 CPU内部寄存器的作用及各自的特点,存储器分段式物理地址的生成原理及不同段的使用原则,外部引脚的功能,最小模式下的系统组成及电路结构,与总线操作有关的指令与引脚信号的关系。
第三章 微型计算机对外设的寻址及数据传送方式 (3学时)
1.教学内容:
外设与接口的概念
微型计算机与外设的联接方式及I/O地址译码 微型计算机与外设的数据传送方式 2.教学要求:
(1)了解外设、外设接口(I/O接口)、外设端口(I/O端口)等概念,接口电路的作用及功能、类型及结构特点,PC微机中外设端口地址译码方式及I/O空间分配。
(2)理解CPU对外设端口的访问指令及对应外部引脚信号产生的变化,CPU对外设端口的寻址方式以及与存储器寻址的不同点,微型计算机为了实现与外设可靠高效传送数据而常用的几种方式。
(3)掌握外设端口地址译码电路的设计原则与实现方法,微型计算机与外设在不同数据传送方式下的电路及程序结构特点。 第四章 并行接口芯片8255 (6学时)
1.教学内容:
并行接口的作用与基本结构
并行接口8255内部结构、接口电路及编程实现 8255应用 2.教学要求:
(1)了解并行接口的作用及基本结构,并行接口的应用场合。
(2)理解8255的编程结构及三种工作方式,C口的特殊性(双四位编程I/O,位设置,A、B口工作在非0方式时C口的固定联络信号线作用,未作联络信号线引脚的再利用),方式1下IBF、STB、OBF、ACK、INTR联络信号的作用及进行中断允许位设置的机理(引脚的复用),
(3)掌握8255工作方式及控制字的正确选用与设置,C口的位设置方法,方式0、1下的引脚功能及与微机的连接方法,8255在方式0、1下的应用电路分析与设计。 第五章 定时/计数器8253 (共5学时)
1.教学内容:
定时/计数器的功能与基本结构 8253的内部结构、工作原理及引脚功能 8253的工作模式与编程 8253应用
87
2.教学要求:
(1)了解定时器和计数器的功能及区别,定时/计数器8253在PC机中的作用。 (2)理解8253不同工作方式的主要区别:输出端电平分别在初始态、计数过程中及计数结束三个阶段的状态不同,初始触发方式不同(软件触发或硬件触发),是否可重触发及重触发方式不同(软件重触发或硬件重触发),计数过程结束后是否可以自动重新计数(定时或计数),不同方式适用的应用场合。
(3)掌握根据应用要求选用8253不同工作方式并实现正确电路连接的原则,控制字的设置和计数初值的计算与设置,多个计数/定时通道的联合应用。 第六章 微型计算机的中断系统 (8学时)
1.教学内容:
PC机中断系统的组成及工作原理 8259A中断控制器 8259的编程及应用 2.教学要求:
(1)了解PC微机中断系统的硬件、软件组成,CPU内部的中断结构、中断源及其优先级、中断嵌套的原则,软中断INT n 的原理,PC/AT微机的中断向量表内容,可屏蔽中断源与CPU其它中断源的区别及IF标志位的作用,中断控制器(8259)的必要性,8259工作方式中的中断查询方式、触发方式及缓冲方式的作用,
(2)理解中断向量表的结构,PC微机中断响应的过程,CPU响应中断时自动保存的寄存器及在中断处理程序中需要保存的寄存器,IRET指令的作用,中断控制器8259的作用及主要功能,INTA信号的作用及必要性,8259的级联结构以及主、从片在电路连接和编程时的区别,8259的各种中断优先级方式,等优先级嵌套的必要性,中断结束方式的概念及ISR的作用,低优先级嵌套的实现方法,中断屏蔽方式及IRR和IMR的作用。
(3)掌握可屏蔽中断处理程序地址的提取及向量表的设置方法,8259的内部编程结构及外部引脚功能,按应用要求的电路连线、8259工作方式选择及相关寄存器设置,8259内部寄存器的寻址以及设置顺序,中断类型寄存器设置,主程序中与中断有关的程序段的编写,中断处理程序的结构和编写方法,中断结束方式的选用及中断结束命令的位置考虑。
第七章 A/D、D/A电路与微机的接口原理 (6学时)
1.教学内容:
A/D,D/A电路工作原理简介 D/A电路与微机的接口原理与编程 A/D电路与微机的接口原理与编程 2.教学要求:
(1)了解D/A和A/D变换器典型的应用场合及它们所起的作用,常用D/A变换器(T型电阻网络)和A/D变换器(逐次逼进式)的内部结构及工作原理,D/A变换器和A/D变换器的主要技术指标,当CPU数据线宽度与D/A变换器或A/D变换器不一至时
88
的电路连接方法。
(2)理解D/A变换器0832的内部结构及单缓冲、双缓冲使用方法,输出模拟电压与输入数字量及参考电压的关系,运放的级数与参考电压极性的关系。A/D变换器数字输出量与模拟输入电压和正、负参考电压的关系,交叉二进制码的概念,0809引脚信号要求及工作时序图。
(3)掌握D/A变换器0832的引脚功能及与外部电路的连接方法(与CPU一侧和运放一侧),利用D/A变换器作为波形发生器的编程方法,A/D变换器0809的引脚功能及采用查询方式或中断方式与CPU的连接方法(直接连接或通过8255并口连接),0809采用程序延时、查询或中断方式的程序设计方法。 第八章 微机串行通信与串行接口 (6学时)
1.教学内容:
计算机串行数据传送的有关概念
异步串行接口芯片8251(或8250)的内部结构及外部引脚 8251(或8250)的工作方式及编程 2.教学要求:
(1)了解串行通信线路的频率响应范围,单工、半双工、全双工、波特率等概念,RS-232C的DB-25和DB-9两种连接口的区别。
(2)理解数字信号远距离串行传送面临的主要问题及解决方法,常用的串行通信电信号标准,常用的调制/解调方法(FSK,ASK,PSK)的基本原理,串行接口电路的主要功能及结构,RTS、CTS、DSR、DTR联络信号的作用。
(3)掌握串行数据通信中的异步帧格式,各种同步帧的格式,RS-232C串行通信标准(电平标准和信号标准的定义)以及微机间的连接方法。 第九章 DMA控制器8237及DMA数据传送电路 (4学时)
1.教学内容:
DMA控制器8237的内部结构及外部引脚 8237的工作方式及编程 IBM—PC/XT机中的DMA电路 2.教学要求:
(1)了解DMA数据传输的必要性及应用场合,DMA控制器在DMA数据传输中所起的作用,多主控部件共享系统总线的实现方法,8237每次DMA数据传输的最大字节数及页地址设置的必要性,8237内部寄存器及作用,8237外部引脚及分类。
(2)理解DMA数据传输的原理及实现过程,DMA控制器8237在受控状态和主控状态时各自的特点以及状态转换的条件及过程,8237的各种工作方式(数据传输方式,优先级方式,自动初始化方式,存储器到存储器传送方式等),8237的级联结构,8237在主控状态下存储器地址的产生过程以及外部页地址的生成机制,EOP引脚信号的作用,8237进行数据传输时的时序以及压缩时序和扩展写的含义,内部寄存器以及软命令的地址分配及设置方法。
(3)掌握DMA控制器8237的内部编程结构,8237在受控状态下的有效引脚及外
电路连接,主控状态下的有效引脚及外电路连接,8237各寄存器的设置以及软命令,8237内部寄存器及软命令的地址分配及寻址,以PC/XT机为例的8237电路结构及初始化编程。
三、课程总体安排
讲课:46学时
实验:32学时(设课) 课程设计:16学时(课外自选) 机动:2学时
四.课程的基本教学要求:
1.本课程开设有“微机与接口技术实验”的实验课,设计性实验内容将作为为理论教学的应用实例加以分析,并要求学生将设计结果到实验课内加以验证。
2.课程对学生的强制性课外要求是完成每章的习题及思考题,并且最多可获得5分以内的期末成绩加分。
3.本课程建立了基于校园局域网的虚拟实验环境,鼓励同学在Proteus仿真设计环境下完成各章提供的综合课程设计题目,具有创新的设计内容将获得期末成绩10分内的加分。
五、本课程与其它课程的联系
本课程的先修课有:数字电路,计算机组成原理,汇编语言程序设计。
本课程的后续课有:计算机系统结构,嵌入式系统,计算机软硬件综合课程设计等。
六.建议教材及参考教材
建议教材:
《微机系统及其接口设计原理》杨斌 西南交通大学出版社 《微机原理与接口技术》 贾智平 水利水电出版社 参考教材:
《微型计算机技术及应用》戴梅萼编 清华大学出版社 《微型计算机原理及接口技术》钱晓捷 机械工业出版社 《IBM-PC汇编语言程序设计》沈美明 清华大学出版社
90
《铁路信息系统架构与集成》教学大纲
中文 课程名称 英文 铁路信息系统架构与集成 总学时 34 2学分 讲授 周荣辉 Architecture and Integration 学分 of Railway Information System 信息科学与技术学院 周荣辉 授课方式 撰搞人 开课单位 授课教师 一、课程的性质和目的
《铁路信息系统架构与集成》课程是软件工程专业的专业选修课程。该课程讲授信息与信息系统的基本概念、管理信息系统的功能和架构;软件架构的基本概念、软件架构与系统功能、性能实现的关系、软件架构模型、软件架构风格、软件架构技术;铁路信息系统的总体规划及总体架构;铁路运输管理信息系统架构;铁路列车调度指挥系统架构;铁路客票发售与预订系统架构;系统集成的概念、系统集成策略与原则、系统集成的层次、系统集成规划、数据集成及技术;铁路信息系统集成的特点。通过这些内容的介绍,使学生初步具备软件架构的知识,了解架构设计的重要性,为学生参与系统架构设计提供参照,也为参与铁路信息化建设打下基础。 二、课程教学内容 第一章 信息与信息系统
1.教学内容
信息的概念、信息的分类、信息的性质; 系统的概念和特征;
信息系统得概念、功能、分类;
管理信息系统的概念、功能、特点、基本模式、结构; 2.教学要求
(1)了解信息、系统、信息系统的基本概念
(2)深入理解管理信息系统的概念、功能、特点、基本模式和结构,为构造管理信息系统奠定基础。 第二章 信息系统架构
1.教学内容
信息系统设计目标、设计原则;
信息系统质量的概念、质量层次、质量特性;
与信息系统系统质量相关的设计:安全性设计、可靠性设计、可修改性设计、性能设计;上述设计与架构设计的关系;
系统架构的概念、构件和连接件的概念;软件架构与软件结构; 框架的概念;框架与架构的区别和联系;
91
系统架构模型的概念、逻辑架构、运行架构、开发架构、数据架构和物理架构的概念;
信息系统架构的概念、集成式信息系统、分布式信息系统、C/S和B/S、集中式数据库和分布式数据库、数据同步与数据集成。
2.教学要求
(1)了解信息系统设计的目标和原则;质量、质量层次与质量特性的相关概念; (2)深入理解信息系统质量属性的相关内容;质量设计与架构设计的关系; (3)掌握系统架构模型及5视图法中各架构视图的概念。 第三章 铁路信息系统架构
1.教学内容
铁路信息系统总体目标;
铁路信息系统总体规划:体系、体系结构、网络结构、信息安全、共享平台; 铁路运输管理信息系统:应用目标、网络架构、功能结构、与其他系统的关系、初始部署和现实部署、三级建库、群集技术、列车确报管理信息系统、车号自动识别系统、调度管理信息系统、铁路车站综合管理信息系统;
铁路客票发售与预定系统:历程;5.0系统的结构和特点;
铁路运输调度指挥管理系统:网络体系结构、功能、信息流程、设计原则、系统特点、结构特点、
调度集中指挥系统(CTC):功能、系统构成; 2.教学要求
(1)了解铁路信息系统的总体目标和总体规划;
(2)深入理解铁路运输管理信息系统:铁路客票发售与预定系统、铁路运输调度指挥管理系统、调度集中指挥系统(CTC)的架构特点。 第四章 铁路信息系统集成
1.教学内容
信息系统集成的概念和背景;
企业信息系统集成的原则、策略、内容和层次; 数据集成、应用集成和过程集成; 集成规划;
异构数据集成、Web Services技术; 铁路信息系统集成的特点。 2.教学要求
(1)了解系统集成的概念、原则、策略、内容和层次; (2)理解数据集成、应用集成和过程集成的相关内容; (3)掌握数据集成的方法; (4)了解铁路信息系统集成的特点。
三、课程总体安排
92
讲课:28学时 习题课:4学时: 机动:2学时
四、课程的教学基本要求
本课程主要介绍铁路信息系统的架构,信息系统是一个庞大的体系,不可能介绍的非常深入,作业多为问答题。因此课程成绩主要由课堂考勤和期末考试成绩组成。课堂考勤成绩占期末成绩的10%。 五、本课程与其它课程的联系
本课程的先修课有:计算机网络、数据库 六、建议教材及参考教材
建议教材:
《铁路信息系统架构》,铁道出版社 《铁路信息系统集成与应用》,铁道出版社
93
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务