软件工程专业卓越工程师本科阶段教学大纲.docx
《软件工程专业卓越工程师本科阶段教学大纲.docx》由会员分享,可在线阅读,更多相关《软件工程专业卓越工程师本科阶段教学大纲.docx(107页珍藏版)》请在冰豆网上搜索。
软件工程专业卓越工程师本科阶段教学大纲
西南交通大学软件工程专业
卓越工程师本科阶段课程教学大纲
西南交通大学
二〇一一年六月
《计算方法》教学大纲
课程名称
中文
计算方法
总学时
32
英文
ComputationalMethodC
学分
2学分
开课单位
信息科学与技术学院
授课方式
讲授
授课教师
曾蓉
撰搞人
曾蓉
一、课程的性质和目的
《计算方法》是一门应用性很强的基础课,它以数学问题为对象,研究适用于科学计算与工程计算的数值计算方法及相关理论,它是程序设计和对数值结果进行分析的依据和基础,是用计算机进行科学计算全过程的一个重要环节。
通过本课程的学习及上机实习,使学生正确理解有关的基本概念,掌握常用的基本数值方法,培养和提高应用计算机进行科学与工程计算的能力,为以后的学习及应用打下良好的基础。
二、课程教学内容
第一章绪论(2学时)
1.教学内容:
误差与运算误差分析;
绝对误差、相对误差和有效数字的概念;
算法的概念;
算法的特点;
算法的设计基本方法;算法时间复杂度和空间复杂度的概念及表示。
2.教学要求:
(1)了解误差的来源、截断误差,舍入误差及其对数值计算的影响;
(2)充分理解绝对误差、相对误差与有效数字的概念;
(3)基本掌握数值型算法的特点、设计基本方法以及复杂度。
矩阵与线性代数方程组(6学时)
教学内容:
高斯顺序消元法;
高斯列主、全主元素消元法;
高斯-约当消元法(无回代);
雅可比迭代法;
高斯-赛德尔迭代法,超松弛法。
2.教学要求:
(1)了解超松弛法以及上述算法的收敛条件;
(2)理解高斯消元法、选列主元以及高斯-约当消元法(无回代)的技术;
(3)牢固掌握雅可比迭代法,高斯-赛德尔迭代法。
第三章方程求根(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.教学要求:
(1)了解截断误差的含义;
(2)充分理解龙格-库塔法;
(3)重点掌握欧拉法与梯形公式。
三、课程总体安排
讲课:
28学时
习题课:
2学时:
机动:
2学时
四、课程的教学基本要求
1.上机实验是本门课必不可少的教学环节,由于目前所执行32学时,因此上机实验作为课外练习,实验成绩占期末总成绩的10%。
每个学生将从给出的5个实验中完成了相应的实验,才能获得给定的实验分数。
2.作业是巩固学习效果的重要方式。
平时作业、课堂作业和考勤占期末成绩的20%。
平时作业完成得质量是主要考核依据。
五、本课程与其它课程的联系
本课程的先修课有:
高等数学、线性代数、FORTRAN语言程序设计或C语言。
本课程的后续课有:
线性规划与非线性规划、最优化计算方法等。
六、建议教材及参考教材
1.建议教材:
《数值分析与算法》,徐士良编著,机械工业出版社
2.参考教材:
《数值方法》[美]JohnH.MathewsKurtisD.Fink著,周璐、陈渝等译,电子工业出版社
《数值分析》李庆扬王能超易大义著,清华大学出版社
《数字电子技术》教学大纲
课程名称
中文
数字电子技术
总学时
68
英文
DigitalElectronicTechnique
学分
4学分
开课单位
信息科学与技术学院
授课方式
讲授与实验
授课教师
白天蕊
撰搞人
白天蕊
一、课程的性质和目的
本课程是电信类和电气类各本科专业的一门重要的技术基础课。
本课程的任务是在学习完“电路分析”等课程的基础上,使学生获得电子技术方面的基本理论、基本知识,掌握数字逻辑系统分析和设计的基本方法,为学习有关专业课程及进行电子电路设计和科学研究打下坚实的基础。
二、课程教学内容
1.数制与码制
掌握二进制数和十进制数及它们之间的相互转换,二进制数的基本运算及各种码制。
2.逻辑代数及其实现方式
熟练掌握逻辑代数的基本定律、逻辑代数的各种化简方法,并掌握用基本门电路实现逻辑函数的方法。
3.组合逻辑电路
掌握组合逻辑电路的分析和设计方法,了解组合电路中存在的竞争和冒险现象。
掌握各种集成组合电路(如加法器、数据比较器、编码器、译码器、多路选择器等)的组成原理和使用方法。
4.时序电路
了解基本RS触发器、JK触发器和D触发器的组成原理、掌握寄存器和各种计数器的组成和工作原理,掌握时序电路的分析和设计方法,了解RAM的工作原理。
5.数字集成电路
了解TTL、CMOS集成门电路的构成、工作原理和传输特性,掌握各种数字集成电路(如加法器、数据比较器、编码器、译码器、多路选择器、寄存器、计数器等)的组成原理、功能、扩展和使用方法,并能用这些集成电路设计数字电路。
6.可编程器件
了解可编程器件的基本结构,掌握各种ROM(包括ROM、PROM、EPROM、EEPROM等)的使用方法,了解可编程逻辑阵列PLA和可编程阵列逻辑PAL的内部结构,掌握通用阵列逻辑GAL的编程原理,并能用GAL设计电路。
7.脉冲波形的产生与整形
了解多谐振荡器振荡器、石英晶体振荡器、单稳态触发器、施密特触发器的工作原理,掌握各种集成单稳态触发器、集成施密特触发器的功能和使用方法,了解集成定时器555的工作原理,掌握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%。
要保证习题课、课程设计的质量可数量。
《离散数学》教学大纲
课程名称
中文
离散数学
总学时
68学时
英文
DiscreteMathematics
学分
4学分
开课单位
信息科学与技术学院
授课方式
讲授
授课教师
李天瑞、赵宏宇、喻琇瑛
撰搞人
李天瑞
一、课程的性质和目的
离散数学是现代数学的一个重要分支,是计算机科学与技术等相关专业的核心基础课程。
它以研究世界事物间的结构和相互关系为主要目标。
离散数学理论体系完整,结构严谨,具有很多相应的典型实例。
对于学习有关计算机的理论与实践,离散数学是一门必不可少的工具性学科。
通过对本课程的学习,使学生能够接受现代数学关于离散结构的观点,从系统结构的研究方法出发,研究事物间的有关属性;同时会应用数形结合方法,使事物论证简洁直观;此外通过描述方法和严密思维方法的训练,使学生具有良好的抽象思维和逻辑思维能力。
总之,离散数学不仅是一门服务于专业的工具性学科,而且也是一门培养学生具有逻辑严密素质的核心课程。
二、课程教学内容
第一章命题逻辑(10学时)
1.教学内容
(1)命题及命题联结词;
(2)命题公式;
(3)自然语言翻译;
(4)永真式,矛盾式与可满足式;
(5)等价与蕴涵;
(6)对偶与范式;
(7)命题推理。
2.教学要求
(1)熟悉对自然语言的形式描述,理解常用联结词的逻辑含义,掌握命题公式等价和蕴涵关系的含义和证明;
(2)能利用真值表和命题公式等方法,进行命题演算和范式表示;
(3)能熟练地使用规则进行命题逻辑的推理证明
第二章谓词逻辑(8学时)
1.教学内容
(1)谓词,量词和谓词公式;
(2)特性谓词;
(3)自然语言翻译;
(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)函数的合成;
(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学时;
(2)习题课:
6学时;
(3)机动:
2学时。
四、课程的教学基本要求
(1)对常见的离散对象和相互间关系能根据具体问题采用恰当的计算、判定和证明方法;能熟练地应用相关定律、定理和算法完成常见离散对象相互间关系的运算;具有自学和阅读与计算机科学相关的现代数学的对应参考书。
(2)作业是巩固学习效果的重要方式;平时作业、课堂作业和考勤占期末成绩的30%;平时作业完成的质量是主要考核依据。
五、本课程与其它课程的联系
(1)本课程的先修课有:
高等数学、线性代数。
(2)本课程的后续课有:
数据结构、数据库系统原理等。
六、建议教材及参考教材
1.建议教材:
《离散数学》,左孝凌等,上海科学技术文献出版社,1988
2.参考教材:
《离散数学(国家十五规划教材)》,耿素云,屈婉玲,高教出版社,2004。
《离散数学及其应用(第4版)》,[美]KennethH.Rosen著,袁崇义等译,机械工业出版社,2002。
《数据结构与算法》教学大纲
课程名称
中文
数据结构与算法
总学时
85
英文
DataStructureandAlgorithm
学分
5学分
开课单位
信息科学与技术学院
授课方式
讲授与实验
授课教师
周荣辉,赵宏宇,周杲
撰搞人
周荣辉
一、课程的性质和目的
《数据结构与算法》课程是软件工程专业的核心专业基础必修课程。
该课程是在高级语言程序设计的基础上,讲授各种常用数据结构的逻辑结构、存储结构、基本操作及算法设计的基本知识。
通过该课程的学习,使学生学会分析数据对象特性,选择合适的数据结构、存储结构及相应的基本处理算法,培养学生分析问题、解决问题的能力和实际动手的能力;使学生初步掌握算法的时间空间复杂度分析技巧,既为学生学习后继课程打好基础,也为将来软件开发提供理论指导。
二、课程教学内容
第一章绪论(3学时)
1.教学内容:
数据、数据元素、数据项、数据对象、数据结构、数据类型等概念和术语;
数据的逻辑结构和存储结构的概念;
抽象数据类型的概念;
算法的概念及特性;类C语言描述算法的基本知识;
算法分析;算法时间复杂度和空间复杂度的概念及表示;
数据结构的性质、在计算机科学和课程体系中的地位。
2.教学要求:
(1)了解数据结构在计算机科学中的地位,以及数据结构课程与软件工程专业其它课程之间的关系;
(2)充分理解与数据、数据结构、数据类型等基本概念;
(3)基本掌握算法分析得基本方法。
第二章线性表(8学时)
1.教学内容:
线性表的定义及逻辑特征;
线性表的顺序存储结构及基本操作的算法实现;
线性表的链式存储结构及基本操作的算法实现;
循环链表与双向循环链表表示线性表的基本方法及插入、删除算法的实现;
线性表的应用:
一元稀疏多项式的表示与相加运算的实现
2.教学要求:
(1)了解具有哪些特征的数据对象适合用线性表表示;
(2)理解线性表的顺序表示和链式表示如何数据元素之间的关系的。
(3)牢固掌握线性表的顺序表示和链式表示的算法实现方法级算法时间复杂度。
第三章栈和队列(6学时)
1.教学内容:
栈的定义及特点;
栈的顺序存储结构和链式存储结构的实现,以及基本操作的算法实现;
栈的应用:
栈在递归和函数调用中的作用;算术表达式计算的实现;
队列的定义及特点;
队列的链式存储实现;
循环队列的基本概念和原理,以及算法实现;
2.教学要求:
(1)充分理解栈和队列的基本概念和特征;
(2)牢固掌握栈和队列的顺序存储结构和链式存储结构,以及基本操作的算法实现,特别是顺序队列的实现方法。
第四章串(4学时)
1.教学内容:
串的定义及术语;
串的存贮结构:
顺序存储结构、堆式存储结构及存储映像、块链存储表示及主要算法实现;
串的模式匹配及KMP算法
2.教学要求:
(1)充分理解串的定义、相关术语及结构特性;
(2)掌握串的顺序存储结构和堆式存储结构的实现技术及主要算法实现;
(3)重点理解和掌握串的模式匹配和KMP算法的理论和算法实现。
第五章数组(4学时)
1.教学内容:
数组的定义、存贮结构
数组元素的地址计算方法
特殊矩阵的概念及压缩存贮方法
稀疏矩阵的概念、三元组表示及顺序实现与十字链表实现
广义表的定义与存储结构
2.教学要求:
(1)深入理解数组的结构特性、特殊矩阵、稀疏矩阵、广义表的基本概念;
(2)掌握数组顺序存储实现技术和元素的地址计算方法;
(3)掌握特殊矩阵的压缩存储技术。
第六章树与二叉树(8学时)
1.教学内容:
树的定义、相关术语、逻辑表示;
二叉树的定义及二叉树的性质
二叉树的存储表示
二叉树的遍历
二叉树的线索化及线索树的遍历
树的存储结构、二叉树与树之间的转换
哈夫曼树的生成方法及哈夫曼编码
2.教学要求:
(1)充分理解树和二叉树的概念、二叉树的性质、树的存储结构;
(2)重点掌握二叉树的顺序存储结构和链式存储结构、二叉树的遍历及其算法实现;线索二叉树的表示及实现;哈夫曼树的构造及编码实现技术。
第七章图(8学时)
1.教学内容:
图的基本概念及相关术语;
图的存贮结构和链式存储结构实现的原理和实现技术;
图的遍历:
深度优先遍历和广度优先遍历及其算法实现;
最小生成树的概念,Prim算法和Kruskl算法的实现技术;
拓扑排序的概念及实现技术;
关键路径的概念及其实现技术;
最短路径的概念及其实现技术。
2.教学要求:
(1)深入理解图的基本概念;
(2)深入理解图的遍历、最小生成树、拓扑排序、关键路径、最短路径的概念;
(3)掌握图的顺序存储和链式存储实现方法;
(4)掌握图深度优先遍历和广度优先遍历、Prim算法、拓扑排序算法、最短路径算法的实现方法。
第八章查栈(8学时)
1.教学内容:
查找的基本概念;
静态与动态查栈表的组织及存贮方式;
静态表的顺序查找;拆半查找、索引顺序查找方法;
二叉排序树及平衡二叉树的组织与基本处理算法;
B-的概念及构造算法;
哈希查找方法及哈希表构造方法。
2.教学要求:
(1)深入理解查找的基本概念;
(2)深入理解顺序查找、折半查找、索引顺序查找、二叉排序树、平衡二叉树、B_树、哈希查找的基本概念;
(3)掌握顺序查找算法、折半查找算法、二叉排序树德构造及查找算法、哈希表的构造技术及查找方法。
第九章排序(6学时)
1.教学内容:
排序的基本概念及算法的评价指标;
直接插入排序
希尔排序
冒泡排序
快速排序
简单选择排序
堆排序
归并排序
基数排序
2.教学要求:
(1)深入理解排序的基本概念和每种排序方法的基本思想
(2)掌握每种排序算法的实现技术。
第十章文件(3学时)
1.教学内容:
磁盘存储器;
文件的概念;文件的分类;文件的逻辑结构和物理结构;
顺序文件;
索引文件;
索引顺序文件(ISAM);
直接存取文件;
多关键字文件。
2.教学要求:
(1)了解文件的概念,文件的组织与文件操作的相关内容;
(2)深入理解顺序文件、索引文件、索引顺序文件、直接存取文件、多关键字文件的数据组织结构及数据查找的基本方法。
三、课程总体安排
讲课:
58学时
习题课:
8学时:
实验:
14*2=28学时
机动:
5学时
四、课程的教学基本要求
1.实验是本课程的重点教学环节,实验成绩占期末总成绩的20%。
每个学生将从给出的10个实验中完成5个以上实验,才能获得给定的实验分数。
如果多做实验,将获得奖励分。
将采取必要措施加强实验的质量。
2.作业是巩固学习效果的重要方式。
平时作业、课堂作业和考勤占期末成绩的10%。
平时作业完成得质量是主要考核依据。
五、本课程与其它课程的联系
本课程的先修课有:
高级语言程序设计、离散数学、概率统计。
本课程的后续课有:
操作系统、编译原理、数据库原理与设计等。
六、建议教材及参考教材
1.建议教材:
《数据结构(C语言版)》,严蔚敏吴伟民编著,清华大学出版社
《数据结构题集》,严蔚敏吴伟民编著,清华大学出版社
2.参考教材:
《数据结构与算法》[美]BrunoR.Preiss著,胡广斌、王菘等译,电子工业出版社
《数据结构、算法与应用》[美]SartajSahni著,汪诗林、孙晓东等译,机械工业出版社
《计算机组成原理》教学大纲
课程名称
中文
计算机组成原理
总学时
85
英文
PrinciplesofComputer
学分
5学分
开课单位
信息科学与技术学院
授课方式
讲授与实验
授课教师
马永强
撰搞人
马永强
一、课程的性质和目的
本课程是计算机学科的一门主干专业基础课,系统地介绍计算机的组成结构及各组成部分的工作原理,培养学生硬件分析和设计的基本技能和方法。
其内容着重于基本概念、基本原理的学习,同时也体现最新的成果。
该课程要求学生理解和掌握计算机各组成部件的工作原理,理解软硬件逻辑等价性的内涵并从中领悟硬件基础知识对软件设计的重要作用。
二、课程的理论教学内容
第1章概论(2学时)
存储程序与冯诺依曼体制(重点)
计算机的硬件组成(理解)
计算机系统及其层次结构(理解)
计算机的主要性能指标(了解)
第2章数据的机器层表示(8学时)
数值数据的表示(重点)
机器数的定点表示和浮点表示(重点、难点)
非数值数据的表示(了解)
十进制数和数串的表示(了解)
现代微型计算机中的数据表示举例(了解)
奇偶校验码(重点)
第3章指令系统(6学时)
指令格式和指令类型(重点)
寻址技术(重点、难点)
堆栈与堆栈操作(理解)
指令系统的发展(了解)
RISC技术(了解)
第4章数值的机器运算(12学时)
基本算术运算的实现(理解)
定点加减运算、寄存器传送语言(重点)
带符号数的移位和舍入操作(理解)
定点乘法运算(理解)
定点除法运算