“计算机系统概论”教学大纲
制定人:曹震中 审核人:王玉田 批准人:倪建成
一、课程基本信息
开课单位:软件学院
课程名称:计算机系统概论
课程编号:301006
英文名称:Computer Science Introduction
课程类型:专业必修课
总 学 时:52 理论学时:36 实验学时:16
学 分:3
开设专业:软件工程
先修课程:无
二、课程任务目标
(一)课程任务
本课程是高等学校计算机学科各类专业的基础必修课程,是一门先导基础课程。本课程主要讲述计算机科学的特点,历史渊源,发展变化,知识组织结构和分类体系。通过本课程的学习,使学生了解计算机科学的意义、内容及研究方法;了解计算机硬件基础、软件基础(包括算法、程序设计基础、数据结构、软件工程基础、操作系统、编译系统、数据库系统)、多媒体技术、计算机网络、信息安全等领域中的基本概念;熟练掌握计算机基本操作;为下一步学习打下基础
(二)课程目标
在学完本课程之后,学生能够:
1. 了解计算机学科的学习内容体系及科学专业的学习方法;
2. 全面理解计算机硬件系统的组成及功能
3. 全面掌握软件设计与应用基础技术
4. 熟悉计算机在各领域的应用
三、教学内容和要求
(一)理论教学的内容及要求
第一章
主要内容:
1.从一个程序谈起
2.计算机编程的基本概念
3.计算机核心知识——算法
4.什么是计算机
5.计算机前沿知识——大数据
6.计算机科学之美
要求:
1.了解计算机的发展过程;
2.掌握计算机系统的组成;
3.理解信息化社会的内涵与信息产业的发展;
4.了解计算机科学与技术学科
第二章
1.主要内容:
2.进位制的概念
3.不同进制间的转换
4.计算机中的二进制四则运算
5.一切都是逻辑(Logic)
6.计算机中的存储
7.谈0与1的美
要求:
1.了解计算机的组成原理及体系结构;
2.掌握计算机硬件系统的基本组成及各主要部件的相关技术指标;
3.掌握二进制数的运算及各种常用数制间的转换方法
第三章
主要内容:
1.引例
2.a=a+1的执行过程
3.控制结构的执行
4.关于python的函数调用
5.函数调用过程的分析
6.几种通用的编程语言
要求:
1.掌握计算机软件系统的分类和程序设计语言的分类;
2.理解算法的概念、设计步骤及评价算法优劣的方法;
3.了解程序设计语言的种类;
4.掌握程序设计步骤;
5.理解几种典型的数据结构;
6. 了解软件开发的模型及方法
第四章
主要内容:
1.简洁的Python
2.Python内置数据结构
3.Python赋值语句
4.Python控制结构
5.Python函数调用
6.Python自定义数据结构
7.Python自定义数据结构
8.有趣的小乌龟——Python之绘图
要求:
1.能够把python环境搭建好
2.掌握python编程实验过程
第五章
主要内容:
1.计算思维是什么
2.递归(Recurrence)的基本概念
3.分治法(Divide-and-Conquer Algorithm)
4.贪心算法(Greedy Algorithm)
5.动态规划(Dynamic Programming)
5.以老鼠走迷宫为例
6.谈计算思维的美
要求:
1.熟练掌握计算思维的核心—算法;
第六章
主要内容:
1.计算机的启动
2.认识操作系统
3.操作系统对硬件资源管理
4.操作系统对应用程序提供较安全可靠的服务
5.操作系统对多运行环境的管理
6.文件系统
要求:
1.了解 操作系统的基本概念;
第七章
主要内容:
1.并行计算简介
2.多进程编程
3.进程通信
4.多进程编程实例
5.利用多核进行并行计算的思考
要求:
了解用多核进行并行计算的基本概念
第八章
主要内容:
1.无远弗届的网络
2.Web=?
3.对计算机网络的领悟
4.初窥物联网
要求:
1.了解计算机网络的基本概念;
第九章
主要内容:
1.引言
2.常见威胁
3.措施和技术
4.手机病毒
5.硬件安全。
四、学时分配
章 次 |
各教学环节学时分配 |
小计 |
讲授 |
实验 |
上机 |
习题 |
讨论 |
课外 |
备 注 |
第一章 |
3 |
3 |
|
0 |
|
|
|
|
第二章 |
3 |
3 |
|
0 |
|
|
|
|
第三章 |
6 |
4 |
|
2 |
|
|
|
|
第四章 |
6 |
4 |
|
2 |
|
|
|
|
第五章 |
10 |
2 |
|
8 |
|
|
|
|
第六章 |
6 |
4 |
|
2 |
|
|
|
|
第七章 |
7 |
5 |
|
2 |
|
|
|
|
第八章 |
4 |
4 |
|
0 |
|
|
|
|
第九章 |
4 |
4 |
|
0 |
|
|
|
|
总结 |
3 |
3 |
|
0 |
|
|
|
|
合 计 |
52 |
36 |
|
16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
五、考核说明
本课程的考核成绩有以下几个方面:
1.上机实验
2.期末闭卷笔试
考核总成绩=平时成绩20%,项目开发实践30%,期末成绩50%
六、主要教材及教学参考书目
1.沙行勉,《计算机科学导论-以python为舟》,清华大学出版社
“C语言程序设计”课程教学大纲
制定人:王抒 审核人:王玉田 批准人:倪建成
一、课程基本信息
开课单位:软件学院
课程名称:C语言程序设计
课程编号:301010
英文名称:C Language Programming
课程类型:专业基础课
总 学 时:68 理论学时:36 实验学时:32
学 分:4
开设专业:软件开发、软件工程、软件测试、移动互联网、智能数据
先修课程:计算机导论
二、课程任务目标
(一)课程任务
《C语言程序设计》课程是一门计算机专业的基础必修课程,也是工科学生学习和掌握计算机语言的入门课程。其主要任务是使学生掌握C语言的基本概念与结构化程序设计方法等方面的知识,为后续计算机专业课程的学习打下扎实的基础,如《面向对象程序设计》、《数据结构》等。
(二)课程目标
通过本课程的学习,应熟练掌握C语言中的基本知识、各种语句及程序控制结构,熟练掌握C语言的函数、数组、指针、结构体、链表等数据结构的基本算法;并能熟练地运用C语言进行结构化程序设计;具有较强的程序修改调试能力;具备较强的逻辑思维能力和独立思考能力。
三、教学内容和要求
(一)理论教学的内容及要求
第一章 C语言概述(1学时)
介绍C语言的历史,C语言的特点,优缺点,怎样高效的使用C语言。
第二章 C语言基本概念(1学时)
介绍C语言的基本概念,包括预处理命令、函数、变量和语句。描述C 程序运行的过程,包括VC++6.0的使用,程序的编译和链接。怎样在程序中加注释,常用的整型变量以及浮点型变量的声明。C程序中标识符命名的规则,还有SCANF函数的简单使用。
第三章 格式化输入/输出(2学时)
介绍C语言中最常用的基本输入输出函数printf函数和scanf函数的使用。包括printf函数的格式,各种常见格式符的含义,格式串中其他参数的作用,使用格式以及使用效果。scanf函数的格式,各种常见格式符的含义,格式串中其他参数的作用,使用格式以及使用效果。
第四章 表达式(2学时)
C语言的显著特征之一就是它更多地强调表达式(expression)而不是语句,表达式是显示如何计算值的公式。最简单的表达式是变量和常量。本章介绍C语言中最常用的算术运算符,赋值运算符,自增和自减运算符的特性及使用方法,另外介绍了表达式求值,表达式语句相关知识。
第五章 选择语句(2学时)
介绍C语言中的选择语句和复合语句。了解关系运算符,关系表达式,逻辑运算符,逻辑表达式。学习用关系运算符,判等运算符和逻辑运算符构造逻辑表达式。条件运算符的特性及使用。If语句,复合语句以及多分支语句switch的编程。
第六章 循环(2学时)
了解循环的概念。介绍C语言中的3中重复语句,while语句、do语句和for语句。介绍主要用于for语句的逗号运算符。讨论与循环相关的C语言特性。描述了break语句、continue语句和goto语句。空语句的使用。
第七章 基本类型(2学时)
本章讲述C语言的基本类型以及与类型有关的重要问题。展示整数类型的取值范围,包括长整型、短整型和无符号整型。Double类型和long double 类型的使用,这些类型的取值范围及精度。字符数据的处理。类型转换的使用。Sizeof运算符的使用。
第八章 数组(4学时)
本章介绍一维数组和多维数组的声明与使用以及与数组有关的信息。
第九章 函数(2学时)
本章学习如何编写除main函数之外的其他函数,并更加深入的了解main函数本身。介绍定义和调用函数的方法,函数的声明以及它和函数定义的差异。介绍参数传递给函数的过程。讨论return语句,与程序终止相关的问题和递归。
第十章 程序结构(2学时)
本章讨论一个程序包含多个函数时所产生的几个问题。了解局部变量和外部变量之间的差异,考虑程序块问题,解决用于局部名、外部名和在程序块中声明的名字的作用域规则问题。介绍用来组织函数原型、函数定义、变量声明和程序其他部分的方法。
第十一章 指针(2学时)
指针是C语言最重要也是最常被误解的特性之一。本章集中在指针的基础上,从机器地址以及与其相关的指针变量的讨论开始,然后介绍取地址运算符和间接寻址运算符;涵盖了指针赋值的内容;说明了给函数传递指针的方法,讨论从函数返回指针。
第十二章 指针和数组(2学时)
讨论指针的算术运算,并且说明如何使用关系运算符和判等运算符进行指针的比较;示范如何能用指针处理数组元素;显示了关于数组的关键事实,即可以用数组的名字作为指向数组中第一个元素的指针,并且利用这个事实说明数组型实际参数是如何真正工作的。说明前3节的主题如何应用于多维数组。
第十三章 字符串(2学时)
本章介绍有关字符串字面量的规则,包括如何在字符串字面量中嵌入转义序列,以及如何分割较长的字符串字面量。讲解声明字符串变量的方法,字符串其实就是字符数组,字符串变量使用特殊的空字符来标示字符串的末尾。描述了读/写字符串的方法,讨论用来处理字符串的函数的编写方法,介绍C语言函数库中处理字符串的函数,在处理字符串时经常会采用的惯用法,描述如何创建一个数组,使这个数组的元素都是指向不同长度字符串的指针。
第十四 预处理器(2学时)
本章描述预处理器的工作过程,并且给出一些会影响全部预处理指令的通用规则。介绍预处理器最主要的两种能力:宏定义和条件编译。
第十六章 结构、联合和枚举(2学时)
本章介绍3种新的类型:结构、联合和枚举结构。说明了如何声明结构变量,以及如何对其进行基本操作。解释了定义结构类型的方法,讨论了联合和枚举。
第十七章 指针的高级应用(2学时)
本章则通过观察两种额外的应用来完善指针的内容:动态存储分配和指向函数的指针。 解释动态存储分配的基本概念。讨论动态分配字符串,介绍数组的动态存储分配,处理存储分配的问题,重点讲述链表,介绍指向指针的指针。指向函数的指针。
第十八章 声明(存储类型)(2学时)
本章介绍声明的格式和存储类型。
第二十章 底层程序设计(位运算)(1学时)
本章主要介绍C语言中的按位运算符。
第二十二章 输入输出(文件操作)(1学时)
本章主要介绍C语言中的文件操作。
(二)实践教学的内容及要求
1. C程序的运行环境
学会安装并配置Visual C++ 6.0 编程环境。掌握C语言程序的基本结构及构成。在Visual C++6.0环境下完成程序的编写、编译及执行。
2. 格式化输入与输出,表达式在C程序中的使用。
掌握printf函数与scanf函数的一般格式。学会使用printf函数与scanf函数进行数据的输入与输出。练习常见转义字符的使用。理解和掌握运算符与运算对象的关系,优先级和结合方向。了解运算符的特性并练习C语言中运算符的使用。
3. 关系运算符及逻辑运算符,选择语句在程序设计中的使用
掌握C语言中关系运算符与逻辑运算符的运算规则及优先级别的运算规则及优先级别。熟练掌握if语句及if……else语句。熟练掌握if……else语句的嵌套。了解条件运算符及条件表达式的用法。熟练掌握switch语句及switch语句中break语句的作用。
4. 循环在编程中的使用
熟练使用while、do-while语句实现循环程序设计。理解循环条件和循环体,以及for、while和do-while语句的相同及不同之处。掌握嵌套循环程序设计。了解break语句和continue语句,以及二者的区别。
5. 数据基本类型
掌握C语言的基本数据类型(整型、字符型和实型)。掌握C语言不同类型变量的定义和赋值方法。掌握C语言常量的表示方法。掌握C语言字符输入输出函数getchar( )和putchar( )的使用方法。掌握sizeof的格式和用法。
6. 数组在编程中的使用
掌握一维数组的定义、初始化和引用的方法。理解并掌握一维数组的赋值和输入输出方法。学习用数组实现相关的算法。掌握二维数组的定义、初始化及引用方法。掌握二维数组的赋值及输入输出方法。学习用数组实现相关的算法
7. 函数在编程中的应用
掌握C语言中函数定义的方法及函数的声明。掌握C语言中函数调用的方法。尝试理解函数的嵌套调用。掌握函数实参与形参的对应关系以及“值传递”的方式。理解递归的基本思想,掌握函数的递归调用的方法。
8. 函数变量的使用
掌握全局变量和局部变量的概念和使用方法。理解C语言中变量的不同存储类别,特别是static类型。掌握用static声明的变量使用情况。
9. 指针和指针变量的使用
理解指针与地址的概念。掌握指针变量的定义及其使用。掌握两个与指针相关的基本运算符&和*。理解通过指针作为参数,可以在被调用函数中修改主调函数中的变量的值。理解通过指针作为参数,可以从函数获得多个返回值。
10. 指针与数组
掌握指针和一维数组的关系,包括如何用指针来访问一维数组和操作一维数组。掌握指针的各种运算。.掌握指针和二维数组的关系,包括如何用指针来访问二维数组和操作二维数组。理解当数组名作为函数参数时,实参的传递情况。
11. 字符串的相关内容
掌握用指针处理字符串的方法和步骤。掌握常用的字符串处理函数,包括字符串的输入输出的函数gets()和puts(),求字符串长度的函数strlen(),字符串的拷贝函数strcpy(),字符串连接函数strcat(),字符串的比较函数strcmp()。掌握指针数组的用法。
12. 宏替换在编程中的应用
掌握宏替换指令。掌握简单宏替换和带参数的宏替换。
13. 结构体类型、结构体变量的定义及使用
掌握结构体类型的定义。掌握结构体变量的定义。掌握结构体中成员定义和使用的方法。
14. 文件操作与位运算
掌握文件的相关操作,熟悉位运算符的使用。
四、学时分配
章 次 |
各教学环节学时分配 |
小计 |
讲授 |
实验 |
上机 |
习题 |
讨论 |
课外 |
备 注 |
第一章 C语言概述 |
1 |
1 |
0 |
|
|
|
|
|
第二章 C语言基本概念 |
1 |
1 |
0 |
|
|
|
|
|
第三章 格式化输入/输出 |
4 |
2 |
2 |
|
|
|
|
|
第四章 表达式 |
4 |
2 |
2 |
|
|
|
|
|
第五章 选择语句 |
4 |
2 |
2 |
|
|
|
|
|
第六章 循环 |
4 |
2 |
2 |
|
|
|
|
|
第七章 基本类型 |
4 |
2 |
2 |
|
|
|
|
|
第八章 数组 |
8 |
4 |
4 |
|
|
|
|
|
第九章 函数 |
4 |
2 |
2 |
|
|
|
|
|
第十章 程序结构 |
4 |
2 |
2 |
|
|
|
|
|
第十一章 指针 |
4 |
2 |
2 |
|
|
|
|
|
第十二章 指针和数组 |
4 |
2 |
2 |
|
|
|
|
|
第十三章 字符串 |
4 |
2 |
2 |
|
|
|
|
|
第十四章 预处理器 |
4 |
2 |
2 |
|
|
|
|
|
第十六章 结构、联合和枚举 |
4 |
2 |
2 |
|
|
|
|
|
第十七章 指针的高级应用 |
4 |
2 |
2 |
|
|
|
|
|
第十八章 声明(存储类型) |
4 |
2 |
2 |
|
|
|
|
|
第二十章 底层程序设计(位运算) |
1 |
1 |
0 |
|
|
|
|
|
第二十二章 输入输出(文件操作) |
1 |
1 |
0 |
|
|
|
|
|
合 计 |
68 |
36 |
32 |
|
|
|
|
|
五、考核说明
本课程期末采取闭卷考试,最后本课程成绩评定的方法,是由期末考试与平时成绩、再加实验成绩结合而成。
六、主要教材及教学参考书目
(一)主要教材
1.【美】 K.N.King《C语言程序设计现代方法》(第四版),人民邮电出版社,2010年。
(二)主要参考书目
1. 谭浩强 《C程序设计学习辅导》(第四版),清华大学出版社,2010年。
2. 谭浩强 《C程序设计》(第4版),清华大学出版社,2010年。
“数字逻辑电路”课程教学大纲
制定人:王来花 审核人:王玉田 批准人:倪建成
一、课程基本信息
开课单位:软件学院
课程名称:数字逻辑电路
课程编号:301005
英文名称:Digital Logic Circuit
课程类型:学科基础课
总 学 时: 54 理论学时:36 实验学时: 18
学 分:3
开设专业:软件工程,物联网工程
先修课程:无
二、课程任务目标
(一)课程任务
本课程是一门计算机科学与技术、网络工程、软件工程专业的学科基础课,也是学生学习和掌握计算机硬件知识的入门课程。本课程的任务是使学生从应用角度出发,获得数字技术方面的基本理论、基本知识和基本技能,掌握数字逻辑电路的基本分析和设计方法,具有初步解决数字逻辑问题的能力,为学习计算机组成原理等后续课程奠定基础。
(二)课程目标
在学完本课程之后,学生能够:
1. 熟悉和掌握各种基本逻辑电路的结构、性能特点;
2.会分析组合逻辑电路和时序逻辑电路的功能;
3.根据实际需求和逻辑电路设计的原则,设计基本的组合逻辑电路和时序逻辑电路;
4.能借助产品资料,运用中小规模集成电路,进行数字系统设计。
三、教学内容和要求
(一)理论教学的内容及要求
1、数制和码制 (2学时)
(1)主要内容:数字信号与电路的概述、常用数制及其相互转换(二进制、八进制、十进制与十六进制),8421码及其他常用编码。
(2)教学目标:要求掌握数字信号、模拟信号、数制、码制等基本概念;了解数字电路中常用的数制和编码;掌握不同数制之间的转换方法和二进制数算数运算的原理和方法。
2、逻辑代数基础 (6学时)
(1)主要内容:逻辑代数的三种基本运算、三项基本定理、基本公式和常用公式。逻辑函数的四种表示方法(真值表法、逻辑式法、卡诺图法及逻辑图法)及其相互之间的转换。逻辑函数的公式化简法和图形化简法。最小项、最大项、约束项的概念及其在逻辑函数化简中的应用。
(2)教学目标:要求掌握逻辑代数的基本公式、常用公式和重要定理;理解逻辑函数及其表示方法;要求掌握应用公式和定理化简逻辑函数,其中重点掌握卡诺图化简方法。
3、门电路 (3学时)
(1)主要内容:二极管、三极管的开关特性,及与、或、非门的工作原理。TTL反相器的工作原理,静态输入、输出、电压传输特性且输入端负载特性,开关特性。其它TTL门(与非门、或非门、异或门、三态门,OC门)的工作原理及TTL门的改进系列。CMOS反相器的工作原理与静态特性。
(2)教学目标:要求掌握基本门电路包括与门、或门、非门、与非门、或非门、与或非门、异或门和同或门等基本概念;要求掌握CMOS门电路和TTL门电路的工作原理、逻辑功能、输入输出特性以及基本的应用方法。
4、组合逻辑电路 (8学时)
(1)主要内容:组合逻辑电路的设计与分析方法。常用组合逻辑电路,即编码器、译码器、数据选择器、加法器及数值比较器的基本概念、工作原理及应用。组合电路中的竞争与冒险现象、产生原因及消除方法。
(2)教学目标:要求掌握组合逻辑电路的特点以及组合逻辑电路的分析方法和设计方法;要求掌握常用组合逻辑电路的工作原理和使用方法包括编码器、译码器、数据选择器、加法器及数值比较器等;要求掌握竞争-冒险现象的概念、基本原理以及消除竞争-冒险现象的常用方法。
5、触发器 (4学时)
(1)主要内容:触发器的定义以及基本RS触发器、同步RS触发器、主从触发器、边沿触发器的逻辑功能、描述方法与动作特点。触发器逻辑功能与电路结构的区别。
(2)教学目标:要求掌握触发器的基本概念、工作原理以及应用方法;要求掌握触发器电路的基本构成部分RS锁存器,理解触发器的触发方式和逻辑功能两方面的区别及联系;要求掌握触发器的动态特性。
6、时序逻辑电路 (8学时)
(1)主要内容:时序逻辑电路的定义及同步时序电路的分析与设计方法。时序电路各方程组(输出方程组、驱动方程组、状态方程组),状态转换表、状态转换图及时序图。常用时序电路,尤其是计数器、移位寄存器组成及工作原理。
(2)教学目标:要求掌握时序逻辑电路的工作原理、分析方法和设计方法;要求掌握时序逻辑电路在逻辑功能和电路结构上的特点,分析时序逻辑电路的具体方法和步骤;要求掌握寄存器、计数器、脉冲发生等的工作原理和使用方法;了解时序逻辑电路中的竞争-冒险现象原理和分析方法。
7、半导体存储器 (1学时)
(1)主要内容:半导体存储器的功能及分类,了解它们在数字系统中的作用。只读存储器ROM、随机存储器RAM的组成及工作原理,存储容量的扩展方法及如何用存储器实现组合逻辑的功能。
(2)教学目标:要求掌握各种半导体存储器的工作原理和使用方法;要求掌握只读存储器中的掩膜ROM、PROM、EPROM和快速闪存储器的工作原理和特点;要求掌握随机存储器中的静态随机存储器(RAM)和动态随机存储器(DRAM)的工作原理和特点;了解存储器扩展存储容量的方法以及用存储器设计组合逻辑电路的方法。
8、可编程逻辑器件 (1学时)
(1)主要内容:可编程逻辑器件的概述,可编程阵列逻辑(PAL)、通用阵列逻辑(GAL)介绍、可擦除的可编程逻辑器件(EPLD)、复杂的可编程逻辑器件(CPLD)以及现场可编程门阵列(FPGA)的介绍。
(2)教学目标:要求掌握可编程逻辑器件的原理和应用;了解可编程逻辑器件的编程方法。
9、硬件描述语言简介 (1学时)
(1)主要内容:Verilog HDL语言的介绍,采用VHDL描述逻辑电路的实例。
(2)教学目标:要求掌握VHDL语言的基本程序构成、基本语法构成和基本描述方法;了解硬件描述语言的基本概念和发展历程。
10、脉冲的产生和整形 (1学时)
(1)主要内容:脉冲产生及整形电路的分类及脉冲波形参数的定义。施密特触发器、单稳态触发器、多谐振荡器的工作原理。由555定时器组成三种脉冲电路的工作原理。
(2)教学目标:要求掌握常用的两类整形电路施密特触发器和单稳态触发器电路;要求掌握几种常见的多谐振荡电路包括对称式和非对称式多多谐振荡器、环形振荡器以及用施密特触发器构成的多谐振荡器;要求掌握555定时器的工作原理和使用方法。
11、数-模和模-数转换 (1学时)
(1)主要内容:DAC和ADC在数字系统中的作用及分类方法。权电阻网络DAC,倒T型电阻网络DAC的工作原理及DAC的转换精度与速度。熟悉ADC的转换步骤、取样定理,重点掌握逐次逼近型ADC与双重积分型ADC的工作原理及性能指标。
(2)教学目标:要求掌握DAC和ADC的工作原理、转换精度和转换速度;在DAC电路中,要求掌握权电阻网络DAC、倒T形电阻网络DAC、权电流型DAC、开关树形DAC以及权电容网络DAC的工作原理及性能指标;在ADC电路中,要求掌握模-数转换的一般原理和步骤、取样-保持电路以及次逼近型ADC与双重积分型ADC的工作原理及性能指标。
四、学时分配
章 次 |
各教学环节学时分配 |
小计 |
讲授 |
实验 |
上机 |
习题 |
讨论 |
课外 |
备 注 |
第一章:数制和码制 |
2 |
2 |
|
|
|
|
|
|
第二章:逻辑代数基础 |
6 |
6 |
|
|
|
|
|
|
第三章:门电路 |
3 |
3 |
|
|
|
|
|
|
第四章:组合逻辑电路 |
8 |
8 |
|
|
|
|
|
|
第五章:触发器 |
4 |
4 |
|
|
|
|
|
|
第六章:时序逻辑电路 |
8 |
8 |
|
|
|
|
|
|
第七章:半导体存储器 |
1 |
1 |
|
|
|
|
|
|
第八章:可编程逻辑器件 |
1 |
1 |
|
|
|
|
|
|
第九章:硬件描述语言 |
1 |
1 |
|
|
|
|
|
|
第十章:脉冲的产生和整形 |
1 |
1 |
|
|
|
|
|
|
第十一章:数-模和模-数转换 |
1 |
1 |
|
|
|
|
|
|
合 计 |
36 |
36 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
五、考核说明
本课程采用闭卷考试与平时成绩相结合的考核方法,其考核方法如下:
实验及实验报告:20%
平时及作业:10%
期末考试:70%
六、主要教材及教学参考书目
(一)主要教材
阎石 《数字电子技术基础》(第五版),高等教育出版社,2006年。
(二)主要参考书目
1.康华光 《电子技术基础(数字部分)》(第五版),华中科技大学电子技术课程组编,高等教育出版社,2012年。
2. 陈光梦 《数字逻辑基础》(第三版),复旦大学出版社,2012年。
3.罗杰《电子技术基础 数字部分 习题全解》(第五版),高等教育出版社,2006年。
“高等数学(上)”课程教学大纲
制定人:邹娟 审核人:王利广 批准人:倪建成
一、课程基本信息
开课单位:软件学院
课程名称:高等数学(上)
课程编号:101001212
英文名称:Advanced Mathematics
课程类型:学科基础课
学 时:总 学 时 82 理论学时 70 实验学时 12
学 分:5
开设专业:软件工程
先修课程:无
二、课程任务目标
(一)课程任务
本课程是理工科本科各专业学生的一门必修的重要基础理论课,又是全国硕士研究生入学考试统考科目。它是为培养我国社会主义现代化建设所需要的高质量专门人才服务的,为学习后继课程及相关的专业课程奠定必要的数学基础,为这些课程提供必需的数学概念、理论、方法和运算技能,通过各个教学环节逐步培养学生的抽象思维能力、逻辑推理能力、空间想象能力和自学能力,还要特别注意培养学生的熟练运算能力和综合运用所学知识去分析解决问题的能力。
(二)课程目标
通过本课程的学习,学生能够:理解一元函数微积分学及其应用、常微分方程、空间解析几何与向量代数、多元函数微积分学及其应用、无穷级数等方面的基本概念、基本理论和基本运算技能。培养学生具有以下几个方面的能力:熟练的基本运算能力、综合运用所学知识分析和解决问题的能力、数学建模及使用计算机软件求解数学模型的能力、自主学习及一定的逻辑推理能力。
三、教学内容和要求
第一章 函数与极限
1.内容概要
函数,初等函数,数列的极限,函数的极限,无穷小与无穷大,极限运算法则,极限存在准则及两个重要极限,无穷小的比较,函数的连续性与间断点,连续函数的运算与初等函数的连续性,闭区间上连续函数的性质及其应用。
2.重点与难点
重点:函数的概念、性质;极限的概念,无穷大、无穷小的概念;极限的运算;连续的概念。
难点:函数的记号及所涉及到的函数值的计算;极限的ε—Ν,ε—δ定义;极限中一些定理的论证方法;极限存在性的判定,连续性的判断。
3.学习目的与要求
(1)了解函数的概念、函数的单调性,反函数和复合函数的概念,熟悉基本初等函数的性质及其图形,能列出简单实际问题中的函数关系。
(2)了解极限的ε—Ν,ε—δ定义;能根据定义证明本课程内容中有关极限的简单定理(对于给出的ε,求Ν或δ不作过高要求),在学习过程中逐步加深对极限思想的理解。
(3)掌握极限的四则运算法则,了解两个极限存在准则(夹逼准则和单调有界准则),会使用两个重要极限。
(4)理解无穷大、无穷小的概念,掌握无穷小的比较。
(5)理解函数在一点连续的概念,会判断间断点的类型。
(6)了解初等函数的连续性,知道在闭区间上连续函数的性质。
第二章 导数与微分
1.内容概要
导数的概念,函数的求导法则,高阶导数,隐函数及由参数方程所确定的函数的导数,相关变化率,函数的微分。
2.重点和难点
重点:导数和微分的概念;复合函数微分法。
难点:微分的概念;隐函数及参数式二阶导数。
3.学习目的与要求
(1)理解导数和微分的概念,了解导数的几何意义及函数的可导性与连续性之间的关系,用导数描述一些物理量(如速度)。
(2)熟悉导数和微分的运算法则(包括微分形式不变性)和导数的基本公式,了解高阶导数概念,能熟练的求一阶、二阶导数。
(3)掌握隐函数和由参数式所确定的函数的一阶、二阶导数的求法。
(4)了解微分是函数增量的线性主部的概念及函数局部线性化的思想。
第三章 中值定理与导数的应用
1.内容
中值定理,洛必达法则,泰勒公式,函数的单调性与曲线的凹凸性,函数的极值与最大值最小值,函数图形的描绘,曲率。
2.重点和难点
重点:拉格朗日中值定理,罗比达法则,极值及最大值、最小值。
难点:泰勒定理,中值定理用于证明问题。
3.学习目的与要求
(1)理解罗尔定理和拉格朗日定理,了解柯西定理和泰勒定理,会应用拉格朗日定理。
(2)理解函数的极值概念,掌握求函数的极值、判断函数的增减性和函数图形的凹凸性、求函数图形的拐点等方法。能描绘函数的图形(包括水平与铅直渐进线),会求解较简单的最大值与最小值的应用问题。
(3)知道曲率和曲率半径的概念,并会计算曲率与计算半径。
第四章 不定积分
1.内容
不定积分的概念与性质,换元积分法,分部积分法,有理函数的积分。
2.重点和难点
重点:不定积分的概念,基本积分公式;不定积分的换元积分法与分部积分法。
难点:不定积分的换元积分法。
3.学习目的与要求
(1)理解不定积分的概念和性质。
(2)熟悉不定积分的基本公式,熟练掌握不定积分的换元法和分部积分法,掌握较简单的有理函数的不定积分。
第五章 定积分
1.内容
定积分的概念与性质,中值定理,微积分基本公式,定积分的换元法和分部积分法,广义积分。
2.重点和难点
重点:定积分的概念,定积分的中值定理;积分上限函数及其导数,牛顿—莱布尼兹公式;定积分的换元积分法。
难点:定积分的概念;积分上限函数及其导数;定积分的换元积分法。
3.学习目的与要求
(1)理解定积分的概念和性质。
(2)理解积分上限的函数及其求导定理。
(3)熟练掌握牛顿—莱布尼兹公式。
(4)熟练掌握定积分的换元法和分部积分法。
(5)了解反常(广义)积分的概念。
第六章 定积分的应用
1.内容概要
定积分的元素法,定积分在几何上的应用(面积、体积、弧长),定积分在物理上的应用(质量、平均值、功、液体的压力、引力)。
2.重点和难点
重点:定积分的元素法。
难点:定积分应用问题。
3.学习目的与要求
熟练掌握用定积分来表示平面图形的面积,旋转体的体积,已知平行截面面积的立体的体积,平面曲线的弧长,变力沿直线所做的功,水的侧压力,引力等。
四、学时分配
章 次 |
各教学环节学时分配 |
小计 |
讲授 |
实验 |
上机 |
习题 |
讨论 |
课外 |
备 注 |
第一章:函数与极限 |
20 |
18 |
|
|
2 |
|
|
|
第二章:导数与微分 |
12 |
10 |
|
|
2 |
|
|
|
第三章:中值定理与导数的应用 |
18 |
16 |
|
|
2 |
|
|
|
第四章:不定积分 |
14 |
12 |
|
|
2 |
|
|
|
第五章:定积分 |
10 |
8 |
|
|
2 |
|
|
|
第六章:定积分的应用 |
8 |
6 |
|
|
2 |
|
|
|
五、考核说明
考核方法:闭卷
成绩评定法法:平时成绩30%考试成绩30%
六、主要教材及教学参考书目
(一)主要教材
1.同济大学数学系 编《高等数学》上册 第七版,高等教育出版社,2014年.
(二)主要参考书目
1.同济大学数学系 编《高等数学》上册 第六版,高等教育出版社,2007年.
2.四川大学数学系高等数学教研室 编 《高等数学》第一册 第三版,高等教育出版社,
2006年.
3. 李忠,周建莹编 《高等数学》上册 第二版,北京大学出版社,2009年.
4. 范培华等编 《微积分》,中国商业出版社,2006年.
“线性代数”教学大纲
制定人:王蓓 审核人:王玉田 批准人:倪建成
一、课程基本信息
开课单位:软件学院
课程名称:线性代数
课程编号:301003
英文名称:Linear Algebra
课程类型:学科基础课
总 学 时:54 理论学时: 54 实验学时: 0
学 分:3
开设专业:软件工程专业 软件工程(软件开发)专业 软件工程(软件测试)专业 软件工程(智能数据)专业 软件工程(移动互联网)专业
先修课程:高等数学(301001)
二、课程任务目标
(一)课程任务
《线性代数》是软件学院各专业的一门重要的数学基础课,主要包括行列式、矩阵、线性方程组、向量组的线性相关性、相似矩阵及二次型等内容。通过本课程的学习,一方面使学生正确理解线性代数的基本概念、定理、计算方法;另一方面培养和锻炼学生使用数学语言及符号系统处理问题的能力,逐步提高学生的抽象思维能力、逻辑推理能力及形式化思维能力,能够熟练使用线性代数中的数学方法解决本专业的实际问题。
(二)课程目标
通过本课程的学习,使学生掌握较完整的线性代数的基本概念、基本理论、基本方法;培养学生的抽象思维能力、逻辑推理与判断能力、空间想象能力和数学语言及符号的表达能力;提高学生综合运用基本概念、基本理论、基本方法分析问题和解决问题的能力,并逐步培养学生科学创新、严谨求实的作风。
三、教学内容和要求
(一)理论教学的内容及要求
第一章 行列式
主要内容:
二阶与三阶行列式
全排列和对换
n阶行列式的定义
行列式的性质
行列式按行(列)展开
基本要求:
了解行列式的概念;会求二阶与三阶行列式;了解排列的逆序及逆序数的概念 了解余子式与代数余子式的概念;掌握n 阶行列式的定义和性质;掌握范德蒙(Vandermonde)行列式并会应用行列式的性质和行列式按行(列)展开定理计算行列式。
教学重点:
行列式的性质;行列式的计算。
教学难点:
行列式的计算。
第二章 矩阵及其运算
主要内容:
线性方程组和矩阵
矩阵的运算
逆矩阵
克拉默法则
矩阵分块法
基本要求:
理解矩阵的概念。了解单位矩阵、数量矩阵、对角矩阵、三角矩阵、对称矩阵、反对称矩阵与正交矩阵以及它们的性质;熟练掌握矩阵的加法、数乘、乘法、转置以及方阵的幂等概念及相应的运算规律;理解逆矩阵的概念,掌握逆矩阵的性质以及矩阵可逆的充分必要条件。理解伴随矩阵的概念,会用伴随矩阵求逆矩阵;掌握克拉默( Cramer)法则,会用克拉默法则求解相应的线性方程组;了解分块矩阵及其运算。
教学重点:
矩阵的运算规律;逆矩阵的性质。
教学难点:
矩阵的乘法;分块矩阵的运算及应用。
第三章 矩阵的初等变换及线性方程组
主要内容:
矩阵的初等变换
矩阵的秩
线性方程组的解
基本要求:
了解矩阵初等变换的概念,了解初等矩阵的性质和矩阵等价的概念,理解矩阵的秩的概念,掌握用初等变换求矩阵的秩和逆矩阵的方法;理解齐次线性方程组有非零解的充分必要条件及非齐次线性方程组有解的充分必要条件;会用初等行变换求解线性方程组。
教学重点:
利用初等变换求矩阵的逆和秩;利用初等变换求线性方程组的通解。
教学难点:
利用初等变换求线性方程组的通解。
第四章 向量组的线性相关性
主要内容:
向量组及其线性组合
向量组的线性相关性
向量组的秩
线性方程组的解的结构
向量空间
基本要求:
理解n维向量、向量的线性组合与线性表示的概念;理解向量组线性相关、线性无关的概念,掌握向量组线性相关、线性无关的有关性质及判别法;了解向量组的极大线性无关组和向量组的秩的概念,会求向量组的极大线性无关组及秩;了解向量组等价的概念,了解矩阵的秩与其行(列)向量组的秩的关系;理解齐次线性方程组的基础解系及通解的概念,掌握齐次线性方程组的基础解系和通解的求法;理解非齐次线性方程组的解的结构及通解的概念。
教学重点:
向量间的线性关系的重要结论;用初等变换求向量组的极大无关组与秩;齐次与非齐次线性方程组解的结构。
教学难点:
利用向量间线性关系的重要结论证明有关问题。
第五章 相似矩阵及二次型
主要内容:
向量的内积、长度及正交性
方阵的特征值与特征向量
相似矩阵
对称矩阵的对角化
二次型及其标准形
用配方法化二次型为标准形
正定二次型
基本要求:
了解内积的概念,掌握线性无关向量组正交规范化的施密特(Schmidt)方法;理解矩阵的特征值和特征向量的概念及性质,会求矩阵的特征值和特征向量;理解矩阵相似的概念、性质及矩阵可相似对角化的充分必要条件,会将矩阵化为相似对角矩阵;理解实对称矩阵的特征值和特征向量的性质;了解二次型的概念,会用矩阵形式表示二次型,了解合同变换与合同矩阵的概念;了解二次型的秩的概念,了解二次型的标准形、规范形等概念,了解惯性定理,会用正交变换和配方法化二次型为标准形;理解正定二次型、正定矩阵的概念,并掌握其判别法。
教学重点:
矩阵的特征值与特征向量的概念、性质与求法;实对称矩阵对角化的方法;用正交变换法以及配方法化二次型为标准形。
教学难点:
利用向量间线性关系的重要结论证明有关问题。
教学重点:
向量间的线性关系的重要结论;用初等变换求向量组的极大无关组与秩;齐次与非齐次线性方程组解的结构。
教学难点:
实对称矩阵的对角化。
(二)实践教学的内容及要求
无
四、学时分配
章 次 |
各教学环节学时分配 |
小计 |
讲授 |
实验 |
上机 |
习题 |
讨论 |
课外 |
备 注 |
第一章:行列式 |
10 |
8 |
|
|
2 |
|
|
|
第二章:矩阵及其运算 |
12 |
10 |
|
|
2 |
|
|
|
第三章:矩阵的初等变换与线性方程组 |
8 |
6 |
|
|
2 |
|
|
|
第四章:向量组的线性相关性 |
12 |
10 |
|
|
2 |
|
|
|
第五章:相似矩阵与二次型 |
12 |
10 |
|
|
2 |
|
|
|
合 计 |
54 |
44 |
|
|
10 |
|
|
|
五、考核说明
本课程采用闭卷考试,成绩评定采用百分制,计算方法为期末总评成绩=期末考试成绩*70%+期中考试成绩*20%+平时成绩,其中平时成绩采取10分制,包括课堂表现和作业成绩。
六、主要教材及教学参考书目
主要教材
同济大学 《工程数学 线性代数》(第六版),高等教育出版社,2014年。
(二)主要参考书目
[1] 《线性代数》(第三版),郝志峰,谢国瑞,汪国强,刘刚,高等教育出版社,2013年。
[2] 《线性代数》(第三版) 吴传生,高等教育出版社,2015年。
[3] 《高等代数》(第三版),北京大学数学系,高等教育出版社,2003年。
“JAVA程序设计”教学大纲
制定人:叶永凯 审核人:王玉田 批准人:倪建成
一、课程基本信息
开课单位:软件学院
课程名称:JAVA程序设计
课程编号:303112
英文名称:Java Programming
课程类型:专业基础课
学 时:总 学 时 86 理论学54 实验学时 32
学 分:4
开设专业:软件工程
先修课程:计算机导论
二、课程任务目标
(一)课程任务
本课程是一门工科计算机类专业基础必修课程,由于Java语言本身所具有的特点以及与互联网发展密不可分的关系,学习并掌握Java程序设计将是众多使用Internet/Intranet人们的必修课。该课程介绍了Java程序设计语言及计算机程序设计技术。本门课程不仅覆盖了Java程序设计语言的主要特性, 而且介绍了涉及面向对象程序设计的有关问题。通过学习使学生掌握最主流的程序设计技术和编程思想,为后续的进一步学习打下基础。
(二)课程目标
在学完本课程之后,学生能够:了解Java语言的概述;掌握Java语言基本数据类型和操作;掌握Java语言的流程控制;理解并掌握面向对象编程的思想;学会设计类和对象;掌握Java语言中的数组、字符串的处理和操作;理解并掌握类的继承的特点;理解并掌握图形用户界面设计的方法;掌握事件驱动程序设计的思想和方法;理解小程序的运行机制,了解多媒体的处理方法;理解Java语言的异常处理机制;理解多线程的处理方法;掌握输入输出的处理方法。
三、教学内容和要求
(一)理论教学的内容及要求
第一章 Java语言概述
1.了解Java语言的起源和发展;
2.了解Java语言的特点;
3. 了解Java语言的工作方式;
4. 了解Java语言的语言规范和开发工具;
5. 掌握JDK的安装和环境变量的安装配置;
6. 学会创建、编译和运行一个Java程序的方法。
第二章 Java基本数据类型和操作
1.掌握Java语言的标识符、关键字、变量和常量的定义规则;
2.了解Java语言的数值量的类型;
3.理解并掌握Java语言的基本数据类型的格式、规范和使用方法;
4. 了解字符串类型的使用;
5.了解简单的交互方法:输入方法和输出方法;
6. 了解编程中的错误类型。
第三章 流程控制
1. 理解并掌握选择结构的使用: 各种if语句和switch语句。
2. 理解并掌握循环结构的使用:while循环,do while循环以及for循环的方法;
3. 掌握使用Java语言的语法规范基本的编程方法。
第四章 类和对象
1. 了解类和对象的基础知识;
2. 掌握方法的使用:方法的创建、方法的调用、方法的参数传递和方法的重载;(重点)
3. 掌握类和对象定义的语法:类的定义,对象的定义;(重点)
4. 掌握类和对象的访问;
5. 了解内部类的结构和使用;
6. 理解类的设计和抽象方法。
第五章 数组、字符串和常用类
1. 掌握数组的基本知识: 数组的声明和创建、数组的大小和元素、数组的初始化、数组作为方法的参数、数组的复制方法、数组的使用方法;(重点)
2. 掌握字符串的使用:字符串的构造、字符串的比较、字符串的常用方法、字符串和字符数组的关系、字符串的修改、命令行参数的使用方法;(重点)
3. 了解常用类的使用;
4. 了解可变参数的使用。(难点)
第六章 类的继承性(重点)
1. 了解类的继承的含义;
2. 理解并掌握父类和子类的使用;
3.理解关键字super的使用、掌握方法覆盖;
4. 掌握对类和对象的成员的访问控制的方法;
5. 了解Object类的常用方法;
6. 理解多态性,多态性的几种表现;
7. 理解和掌握抽象类和终极类;
8. 了解数据域和静态成员的隐藏;
9.理解类之间的关系。
第七章 图形用户界面设计(重点)
1. 了解Java的图形API;
2. 掌握容器框架和面板的用法;
3. 掌握常用的布局管理器的用法;
4. 掌握常用的Swing GUI组件的用法;
5. 了解辅助类颜色和字体类。
第八章 事件驱动程序设计(重点)
1. 了解事件驱动程序设计的基本思想;
2. 理解事件和事件源;
3. 理解事件注册和处理过程;
4. 理解常用的Swing组件的处理;
5. 掌握鼠标事件的处理方法;
6. 掌握键盘事件的处理方法。
第九章 小程序和多媒体
1. 理解小程序的概念,运行方式;
2. 了解Applet, JApplet类的使用;
3. 了解小程序传递参数的方法,小程序与应用程序的转换方法;
4. 了解多媒体处理:图形,图像和声音。
第十章 异常处理
1. 了解异常处理的概念;
2. 理解异常的类型;
3. 掌握异常处理的过程:声明异常,抛出异常,捕获异常;
4. 了解异常处理的进一步讨论:重新抛出、finally子句、何时选择异常处理。
第十一章 多线程
1. 了解多线程处理的特点;
2. 掌握Java中两种创建线程的方法;
3. 了解线程的状态和控制线程的常用方法;
4. 了解线程组的概念;
5. 了解线程的同步和处理;
6. 了解死锁的原因和处理方法。
第十二章 输入输出
1. 了解输入输出的类型;
2. 了解数据流的分类及使用;
3. 了解File类的使用;
4. 了解外部文件处理的方式;
5. 掌握常用的数据流的使用方法:过滤器流、数据流、打印流、缓冲流、对象流;
6. 了解随机读写文件的方法;
7. 了解文件对话框的使用。
第十三章 网络程序设计
1. 了解网络的基本概念;
2. 理解基于套接字的编程方法;
3. 了解基于URL的编程;
4. 了解JEditorPane类的用法。
四、学时分配
章 次 |
各教学环节学时分配 |
小计 |
讲授 |
实验 |
上机 |
习题 |
讨论 |
课外 |
备 注 |
第一章:Java语言概述 |
3 |
3 |
|
|
|
|
|
|
第二章:Java基本数据类型和操作 |
3 |
3 |
|
|
|
|
|
|
第三章:流程控制 |
3 |
3 |
|
|
|
|
|
|
第四章:类和对象 |
6 |
6 |
|
|
|
|
|
|
第五章:数组、字符串和常用类 |
6 |
6 |
|
|
|
|
|
|
第六章:类的继承性 |
6 |
6 |
|
|
|
|
|
|
第七章:图形用户界面设计 |
6 |
6 |
|
|
|
|
|
|
第八章:事件驱动程序设计 |
6 |
6 |
|
|
|
|
|
|
第九章:小程序和多媒体 |
3 |
3 |
|
|
|
|
|
|
第十章:异常处理 |
3 |
3 |
|
|
|
|
|
|
第十一章:多线程 |
3 |
3 |
|
|
|
|
|
|
第十二章:输入输出 |
3 |
3 |
|
|
|
|
|
|
第十三章:网络程序设计 |
3 |
3 |
|
|
|
|
|
|
合 计 |
54 |
54 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
五、考核说明
考核方法:闭卷
本课程采用平时考核、期末考试综合评定学生成绩。考核方法为考试,平时成绩占30%,其中实验占20%,作业占10%,期末考试卷面成绩占70%。
六、主要教材及教学参考书目
(一)主要教材
1.孙玉红等《Java语言程序设计》,清华大学出版社 2012年;
(二)主要参考书目
(美)Bruce Eckel著 陈昊鹏译《Java编程思想》机械工业出版社2007年版
“高等数学(下)”课程教学大纲
制定人:邹娟 审核人:王利广 批准人:倪建成
一、课程基本信息
开课单位:软件学院
课程名称:高等数学(下)
课程编号:101001212
英文名称:Advanced Mathematics
课程类型:学科基础课
学 时:总 学 时 82 理论学时 70 实验学时 12
学 分:5
开设专业:软件工程
先修课程:无
二、课程任务目标
(一)课程任务
本课程是理工科本科各专业学生的一门必修的重要基础理论课,又是全国硕士研究生入学考试统考科目。通过本课程的学习,要使学生掌握多元函数微积分学、无穷级数和常微分方程的基本概念、基本理论和基本运算技能,为学习后继课程和进一步获得数学知识奠定必要的数学基础。要通过各个教学环节逐步培养学生的抽象思维能力、逻辑推理能力、空间想象能力和自学能力,还要特别注意培养学生的熟练运算能力和综合运用所学知识去分析解决问题的能力。
(二)课程目标
在学完本课程之后,学生能够:
基本了解多元函数微积分学的基础理论;充分理解微积分学的背景思想及数学思想。掌握多元函数微积分学、无穷级数和常微分方程的基本方法、手段、技巧,并具备一定的分析论证能力和较强的运算能力。能较熟练地应用微积分学、无穷级数和微分方程的思想方法解决应用问题;能较灵活地将数学知识运算到计算机的学习中。
三、教学内容和要求
第七章 微分方程
1.内容概要
微分方程的基本概念,可分离变量的微分方程,齐次方程,一阶线性微分方程,全微分方程,可降阶的高阶微分方程,高阶线性微分方程,常系数齐次线性微分方程,常系数非齐次线性微分方程,常系数线性微分方程组解法举例。
2.重点和难点
重点:微分方程的一般概念,一阶可分离变量微分方程,一阶线性微分方程;二阶常系数线性微分方程。
难点:微分方程类型的判别及解法;微分方程的建立与初始条件的列出;二阶常系数非齐次线性微分方程的特解的求法。
3.学习目的与要求
(1)了解微分方程及其阶、解、通解、初始条件、特解的概念。
(2)能识别下述一阶微分方程:可分离变量的微分方程,齐次方程,一阶线性方程,贝努利方程、全微分方程。
(3)熟练掌握可分离变量的微分方程及一阶线性方程的解法,会求其通解、特解。
(4)会解齐次方程和伯努利方程,进而领会运用变量代换求解微分方程的思想方法。
(5)会解简单的全微分方程。
(6)掌握下述三种特殊形式的高阶方程的降阶法,进而领会降阶法的实质及运用范围。
(7)掌握二阶线性微分方程解的结构。
(8)熟练掌握二阶常系数齐次线性微分方程的解法。
(9)掌握高阶常系数齐次线性微分方程的解法。
(10)掌握非齐次项为多项式,指数函数、正弦函数、余弦函数以及它们的线性组合与乘积的二阶常系数非齐次线性微分方程的解法。
(11)会运用微分方程解一些简单的几何与物理问题。
第八章 空间解析几何与向量代数
1.内容概要
向量及其线性运算,数量积 、向量积、 混合积,曲面及其方程,空间曲线及其方程 ,平面及其方程,空间直线及其方程。
2.重点和难点
重点:向量的数量积与向量积 ,平面及其方程,空间直线及其方程。
难点:平面和直线方程的建立,由平面、二次曲面围成的空间图形。
3.学习目的与要求
(1)理解向量的概念,并熟练掌握其运算。
(2)掌握向量的数量积、向量积运算及两个向量垂直、平行的条件,了解三个向量共面的条件。
(3)掌握平面一般式方程:Ax+By+Cz+D=0中的系数A、B、C、D中某个或某几个取零值时平面位置的特点。
(4)掌握平面方程的三种形式;点法式、一般式、截距式的相互转化方法,并能熟练地由平面方程写出平面的法线向量。
(5)掌握直线方程的三种形式:对称式、一般式、参数式的相互转化方法,并能熟练地由直线方程写出直线的方向向量。
(6)注意培养空间图形的想象能力,适当增加一些由平面、二次曲面围成的空间图形的例子。
第九章 多元函数微分法及其应用
1.内容概要
多元函数基本概念,偏导数,全微分,多元复合函数的求导法则,隐函数求导公式,方向导数和梯度,多元函数的极值及其求法。
2.重点和难点
重点:多元函数的概念;导数与全微分的概念;多元复合函数的求导法则;多元函数的极值问题。
难点:全微分的概念;多元复合函数的求导法则;方向导数与梯度。
3.学习目的与要求
(1)知道多元函数的极限与连续性,以及有界闭区域上的连续函数的性质。
(2)理解偏导数、全微分的概念。
(3)熟练掌握复合函数求导法;会求二阶偏导。
(4)会求隐函数的偏导数。
(5)了解空间曲线的切线与法平面及曲面的切平面与法线,并掌握求其方程的求法。
(6)理解多元函数极值的概念,会求函数的极值,了解条件极值的概念,会用拉格朗日乘数法求条件极值,会求一些简单的最大值、最小值的应用问题。
(7)理解方向导数与梯度的概念。
第十章 重积分
1.内容概要
二重积分的概念与性质,二重积分的计算法,三重积分,重积分的应用,含参变量的积分。
2.重点和难点
重点:二重、三重积分的概念及计算。
难点:重积分化为累次积分的定限及应用。
3.学习目的与要求
(1)理解二、三重积分的概念及其性质。
(2)熟练掌握二重积分的计算方法(直角坐标、极坐标),三重积分(直角坐标、柱坐标、球坐标)计算方法。
(3)用重积分表达并计算一些几何量与物理量(如体积、质量、重心、转动惯量、引力等)。
第十一章 曲线积分与曲面积分
1.内容概要
对弧长的曲线积分,对坐标的曲线积分,格林公式及其应用,对面积的曲面积分,对坐标的曲面积分,高斯公式、通量与散度,斯托克斯公式、环流量与旋度。
2.重点和难点
重点:两类曲线积分的概念与计算;格林公式、平面曲线积分与路径无关的条件;两类曲面积分的概念与计算;高斯公式。
难点:两类曲线积分、曲面积分的概念与计算;散度与旋度。
3.学习目的与要求
(1)理解两类曲线积分概念及它们之间的联系,掌握其计算方法。
(2)理解两类曲面积分的概念及它们之间的联系,掌握其计算方法。
(3)了解曲线积分、曲面积分的物理意义。
(4)能用曲线积分与曲面积分表达一些几何量与物理量。
(5)掌握格林公式及平面曲线积分与路径无关的条件。
(6)熟悉高斯公式与向量场的散度。
(7)熟悉斯托克斯公式和向量场的旋度。
第十二章 无穷级数
1.内容概要
常数项级数的概念与性质,常数项级数的审敛法,幂级数,函数展开成幂级数,函数的幂级数的展开式的应用,傅里叶级数,一般周期的傅里叶级数。
2.重点和难点
重点:无穷级数收敛与发散的概念;正项级数的审敛法;幂级数的收敛区间,泰勒级数,函数展开为幂级数;函数展开成为傅里叶级数。
难点:级数敛散判断;函数展开为幂级数。
3.学习目的与要求
(1)理解无穷级数收敛、发散及和的概念。
(2)熟练掌握无穷级数的基本性质。
(3)熟悉几何级数和P-级数的敛散性。
(4)熟练掌握正项级数审敛法。
(5)掌握交错级数的敛散判别法。
(6)理解无穷级数绝对收敛、条件收敛的概念及关系。
(7)了解函数项级数的收敛域、和函数的概念。
(8)掌握幂级数收敛域及某些和函数的求法。
(9)理解幂级数在收敛域上的基本性质。
(10)知道函数展开成泰勒级数的充要条件。
(11)掌握麦克劳林展式,并能用它们将一些简单的函数展开为幂级数。
(12)了解利用幂级数进行近似计算的方法。
(13)理解函数展开成傅里叶级数的充分条件(收敛定理)。
(14)熟练掌握周期函数及非周期函数展开为傅里叶级数的方法,及展为正、余弦级数的方法。
四、学时分配
章 次 |
各教学环节学时分配 |
小计 |
讲授 |
实验 |
上机 |
习题 |
讨论 |
课外 |
备 注 |
第七章 常微分方程 |
14 |
12 |
|
|
2 |
|
|
|
第八章 向量代数与空间解析几何 |
14 |
12 |
|
|
2 |
|
|
|
第九章 多元函数微分法及其应用 |
18 |
16 |
|
|
2 |
|
|
|
第十章 重积分 |
10 |
8 |
|
|
2 |
|
|
|
第十一章 曲线积分与曲面积分 |
16 |
14 |
|
|
2 |
|
|
|
第十二章 无穷级数 |
16 |
14 |
|
|
2 |
|
|
|
五、考核说明
考核方法:闭卷
成绩评定法法:平时成绩30%,考试成绩70%
六、主要教材及教学参考书目
(一)主要教材
1.同济大学数学系 编《高等数学》下册 第七版,高等教育出版社,2014年。
(二)主要参考书目
1.同济大学数学系 编《高等数学》下册 第六版,高等教育出版社,2007年。
2.四川大学数学系高等数学教研室 编 《高等数学》第二册 第三版,高等教育出版社,
2006年。
3. 李忠,周建莹编 《高等数学》下册 第二版,北京大学出版社,2009年。
4. 范培华等编 《微积分》,中国商业出版社,2006年。
“离散数学”教学大纲
制定人:王蓓 审核人:王玉田 批准人:倪建成
一、课程基本信息
开课单位:软件学院
课程名称:离散数学
课程编号:301004
英文名称:Discrete Mathematics
课程类型:学科基础课
总 学 时: 54 理论学时:54 实验学时: 0
学 分:3
开设专业:软件工程专业 软件工程(软件开发)专业 软件工程(软件测试)专业 软件工程(智能数据)专业 软件工程(移动互联网)专业
先修课程:高等数学(301001),线性代数(301003)
二、课程任务目标
(一)课程任务
离散数学是软件工程各专业的核心基础课程之一,主要包括数理逻辑、集合论、代数结构和图论等四个方面的内容。通过本课程的学习,一方面使学生正确理解离散数学的概念、定理、公式的客观实际意义,掌握离散对象的基本研究方法;另一方面培养和锻炼学生使用数学语言及符号系统处理问题的能力,逐步提高学生的抽象思维能力、逻辑推理能力及形式化思维能力,能够熟练使用离散数学中的数学方法解决本专业的实际问题。
(二)课程目标
了解离散数学的主要组成部分及各部分所涉及的基本内容;理解离散数学的基本概念、结论、算法、应用方法及适用范围;掌握离散数学的推理与证明过程、基本算法及应用方法,以现代数学的观点和方法,初步掌握处理离散结构所必须的描述工具和方法;培养学生抽象思维、逻辑推理的能力,为后继课程的学习及科学研究提供坚实的理论基础。
三、教学内容和要求
(一)理论教学的内容及要求
第一章 数学语言与证明方法
主要内容
常用的数学符号
集合的两种表示法
基本集合恒等式
特殊集合:空集、全集、幂集
文氏图及有穷集合的计数
集合的È, Ç, -, ~, Å等运算
基本集合恒等式及其应用
基本要求
熟练掌握集合的两种表示法
熟练两个集合包含、相等、真包含等关系的判断
熟练掌握集合的基本运算
掌握证明集合等式或者包含关系的基本方法
第二章 命题逻辑
主要内容
命题、真值、简单命题与复合命题、联结词Ø, Ù, Ú, ®, «、命题符号化
命题公式及其分类
真值表及应用
等值式与等值演算
基本等值式(16组,24个公式)
联结词完备集
主析取范式与主合取范式
推理的形式结构、推理的证明
基本要求
深刻理解各联结词的逻辑关系, 熟练掌握命题符号化
深刻理解合式公式及重言式、矛盾式、可满足式等概念;熟练掌握公式的真值表,并用它求公式的成真赋值与成假赋值及判断公式类型
深刻理解等值式的概念,熟练掌握基本等值式及其应用
了解将公式等值地化成指定联结词完备集中的公式的方法
理解文字、简单析取式、简单合取式、析取范式、合取范式的概念;深刻理解极小项、极大项的概念、名称及下角标与成真、成假赋值的关系,并理解简单析取式与极小项的关系
熟练掌握求主范式的方法(等值演算、真值表等);掌握用主范式求公式的成真赋值、成假赋值、判断公式的类型、判断两个公式是否等值
理解并掌握推理形式结构的两种形式:
1) (A1ÙA2Ù…ÙAk)®B
2) 前提:A1, A2, … , Ak
结论:B
熟练掌握判断推理是否正确的方法(真值表法、等值演算法、主析取范式法等)
熟练掌握构造证明的直接证明法、附加前提证明法和归谬法;掌握用推理方法解决实际中的简单推理问题
第三章 一阶逻辑
主要内容
个体词、谓词、量词
一阶逻辑命题符号化
一阶语言L
项、原子公式、合式公式
公式的解释
量词的辖域、指导变元、个体变项的自由出现与约束出现、闭式、解释
公式的类型
永真式(逻辑有效式)、矛盾式(永假式)、可满足式
一阶逻辑等值式
基本等值式,置换规则、换名规则、代替规则
前束范式
基本要求
熟练掌握一阶逻辑命题符号化
理解一阶语言的概念,深刻理解一阶语言的解释
熟练掌握一阶逻辑公式的解释
了解闭式的性质并能应用它
深刻理解永真式、矛盾式、可满足式的概念, 掌握简单公式的类型的判断
深刻理解并牢记一阶逻辑中的重要等值式, 并能准确而熟练地应用它们
熟练掌握使用置换规则、换名规则、代替规则
熟练掌握求解给定公式的前束范式
第四章 关系
主要内容
有序对与笛卡儿积的定义与性质
二元关系、从A到B的关系、A上的关系
关系的表示法:关系表达式、关系矩阵、关系图
关系的运算:定义域、值域、域、逆、合成、幂
关系运算的性质: A上关系的自反、反自反、对称、反对称、传递的性质
A上关系的自反、对称、传递闭包
A上的等价关系、等价类、商集与A的划分
A上的偏序关系与偏序集、哈斯图
基本要求
熟练掌握关系的三种表示法
熟练判定关系的性质(等价关系或偏序关系)
掌握含有关系运算的集合等式
掌握等价关系、等价类、商集、划分、哈斯图、偏序集等概念
掌握计算A´B, dom R, ranR, fldR, R-1, R°S , Rn , r(R), s(R), t(R)
掌握求等价类和商集A/R
了解给定A的划分p,求出p 所对应的等价关系
掌握求偏序集中的极大元、极小元、最大元、最小元、上界、下界、上确界、下确界
掌握基本的证明方法
证明涉及关系运算的集合等式
证明关系的性质、证明关系是等价关系或偏序关系
第五章 函数
主要内容
函数的定义,从A到B的函数 f:A®B,BA,函数的像与完全原像
函数的性质:单射、满射、双射函数
函数的复合,反函数
基本要求
掌握给定 f, A, B, 判别 f 是否为从A到B的函数
掌握判别函数 f:A®B的性质(单射、满射、双射)
熟练掌握计算函数的值、像、复合以及反函数
熟练掌握证明函数 f:A®B的性质(单射、满射、双射)
了解给定集合A, B,构造双射函数 f:A®B 的方法
掌握函数复合的性质,会求反函数
第六章 图
主要内容
无向图、有向图、关联与相邻、简单图、完全图、正则图、子图、补图;握手定理与推论;图的同构
通路与回路及其分类;无向图的连通性与连通度;有向图的连通性及其分类
图的矩阵表示
二部图、极大匹配、最大匹配、完美匹配
欧拉通路、欧拉回路、欧拉图、半欧拉图及其判别法
哈密顿通路、哈密顿回路、哈密顿图、半哈密顿图
平面图的基本概念、欧拉公式、平面图的判断、平面图的对偶图
图的着色问题、四色定理
基本要求
深刻理解握手定理及推论的内容并能灵活应用
深刻理解图同构、简单图、完全图、正则图、子图、补图、二部图的概念以及它们的性质及相互之间的关系
掌握通路与回路的定义、分类及表示法;深刻理解与无向图连通性、连通度有关的诸多概念;掌握判别有向图连通性的类型的方法
熟练掌握用邻接矩阵及其幂求有向图中通路与回路数的方法,会求可达矩阵
深刻理解欧拉图、半欧拉图的定义及判别定理;深刻理解哈密顿图、半哈密顿图的定义;掌握判断欧拉图和哈密顿图的的方法
深刻理解基本概念:平面图、平面嵌入、面、次数、极大平面图、极小非平面图、对偶图;了解极大平面图的主要性质和判别方法;了解欧拉公式;了解用库拉图斯基定理证明某些图不是平面图的方法
掌握图的着色问题,了解四色定理
第七章 树及其应用
主要内容
无向树、森林、平凡树、树叶、分支点;树的性质
生成树、树枝、弦、余树;带权图、最小生成树
根树及其分类;最优二叉树与哈夫曼编码;最佳前缀码
根树的周游及其应用
基本要求
深刻理解无向树、森林、平凡树、树叶、分支点等概念,熟练掌握树的性质并利用树的定义、性质及握手定理构造非同构的无向树
掌握生成树、树枝、弦、余树等概念;深刻理解最小生成树的定义并熟练掌握用避圈法求最小生成树
掌握根树、有序树、r元树、r元正则树、2叉树等概念;掌握最优2元树的定义和哈夫曼算法;会求最佳前缀码
熟练掌握对2元有序正则树的三种行遍方法:中序行遍法、前序行遍法、后序行遍法
第十四章 代数系统
主要内容
二元运算与一元运算的定义
二元运算性质和特异元素:交换律、结合律、幂等律、分配律、吸收律、单位元、零元、可逆元和逆元
代数系统的定义、分类;子代数系统的定义;代数系统的同态与同构
半群、独异点的定义
群的相关定义及性质
环、域的相关定义及性质
格、格的对偶原理、格同态、布尔代数、同态映射
基本要求
掌握判断给定集合和运算能否构成代数系统
掌握二元运算的定义、性质;掌握二元运算的特异元素的求法
了解同类型代数系统的概念、子代数的基本概念
理解同态映射和同构映射
掌握判断或证明给定集合和运算是否构成半群、独异点和群
掌握群的基本性质、子群的判断方法
熟练掌握n元置换的表示方法、n元置换群
掌握环、域的定义,能够判断给定集合和运算是否构成环、整环或域
掌握格的定义、格对偶原理;了解布尔代数之间的同态和同构问题
四、学时分配
章 次 |
各教学环节学时分配 |
小计 |
讲授 |
实验 |
上机 |
习题 |
讨论 |
课外 |
备 注 |
第一章 数学语言与证明方法 |
3 |
3 |
|
|
|
|
|
|
第二章 命题逻辑 |
10 |
8 |
|
|
2 |
|
|
|
第三章 一阶逻辑 |
9 |
7 |
|
|
2 |
|
|
|
第四章 关系 |
10 |
8 |
|
|
2 |
|
|
|
第五章 函数 |
3 |
3 |
|
|
|
|
|
|
第六章 图 |
10 |
9 |
|
|
1 |
|
|
|
第七章 树及其应用 |
4 |
3 |
|
|
1 |
|
|
|
第十四章 代数系统 |
5 |
5 |
|
|
|
|
|
|
合计 |
54 |
46 |
|
|
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
五、考核说明
本课程采用闭卷考试,成绩评定采用百分制,计算方法为期末总评成绩=期末考试成绩*70%+期中考试成绩*20%+平时成绩,其中平时成绩采取10分制,包括课堂表现和作业成绩。
六、主要教材及教学参考书目
(一)主要教材
屈婉玲、耿素云、张立昂编著, 离散数学(第3版),清华大学出版社,2014年1月。
(二)主要参考书目
1.张清华、蒲兴城、尹邦勇、刘勇编著,离散数学及其应用,清华大学出版社,2016年7月。
2.[美] Kenneth H.Rosen,离散数学及其应用,机械工业出版社,2011年11月。
3.[英] Andrew Simpson,离散数学导学,机械工业出版社,2005年1月。
“面向对象程序设计”课程教学大纲
制定人:王抒 审核人:王玉田 批准人:倪建成
一、课程基本信息
开课单位:软件学院
课程名称:面向对象程序设计
课程编号:301011
英文名称:Object Oriented Programming
课程类型:专业基础课
总 学 时:68 理论学时:36 实验学时:32
学 分:4
开设专业:软件开发、软件工程、软件测试、移动互联网、智能数据
先修课程:C语言程序设计
二、课程任务目标
(一)课程任务
本课程是一门计算机专业的基础必修课程,也是工科学生学习和掌握计算机语言的入门课程。本课程的任务是引导学生以最自然的方式,将人类习惯的面向对象的思维方法运用到程序设计中。使学生学完本书之后能够解决一些简单的实际问题,并且为后续课程的学习打好基础。
(二)课程目标
本课程旨在通过课堂讲授及社会实践,让学生掌握c++语言中的数据类型,运算,语句结构及其程序设计的基本方法,了解面向对象程序设计的基本原理,包括抽象、封装、继承等关键要素以及其关键语法特性以及类。理论教学上达到学生能掌握c++各个知识点使用的语法以及编程的一般算法,培养学生的逻辑思维能力。实践上能让学生编写一些验证知识点的小程序,最后能基本独立完成一个简单的系统进行知识整合。
三、教学内容和要求
(一)理论教学的内容及要求
第一章 绪论(1学时)
了解面向对象程序设计语言的产生和特点,理解面向对象方法的由来和主要概念,掌握信息在计算机中的表示和存储过程以及程序的开发过程。
第二章 C++简单程序设计(1学时)
理解C++语言历史及特点,掌握C++语句 基本部分:字符集、关键字、标识符、操作符等。还有基本数据类型和自定义数据类型;以及算法的控制结构:顺序结构、选择结构和循环结构。
第三章 函数(2学时)
通过学习函数是对处理问题过程的基本抽象单元,是对功能的抽象,要求学生熟练掌握各种函数的定义和使用方法。
第四章 类与对象(4学时)
本章是重点章节,要求学生深入理解面向对象程序设计的基本思想及其主要特点:抽象、封装、继承和多态。熟练掌握类的定义、实现和如何利用类来解决问题。
第五章 数据的共享与保护(4学时)
要求掌握标识符的作用域和可见性及变量、对象的生存期;使用局部变量、全局变量、类的数据成员、类的静态成员和友元来实现数据共享,共享数据的保护,以及使用多文件结构来组织和编写程序,解决较为复杂的问题。
第六章 数组、指针与字符串(2学时)
本章讨论数组、指针与字符串。重点掌握如何通过使用数组和指针解决数据、函数以及对象之间的联系和协调。对于字符串及其处理相关的string类,要会熟练使用。
第七章 继承与派生(6学时)
本章讲述类的继承特性。要求学生掌握不同继承方式下的基类成员的访问控制问题、添加构造函数和析构函数问题,了解在较为复杂的继承关系中,类成员的唯一标识和访问问题。
第八章 多态性(6学时)
本章讲述类的第三大特性—多态性。多态是指同样的消息被不同类型的对象接收时导致完全不同的行为,是对类的特定成员函数的再抽象。要求学生掌握其多态的概念,并深入了解重载(包括函数重载和运算符重载)和虚函数的异同。了解绑定的原理。
第九章 群体类和群体数据的组织(4学时)
群体是指由多个数据元素组成的集合体。通过学习了解群体分为线性群体和非线性群体两种,学会群体的组织问题—排序和查找方法。
第十章 泛型程序设计与C++标准模板库(2学时)
学习STL中涉及的一些概念、术语,以及它的结构,主要的组件的使用方法。重点了解容器、迭代器、算法和函数对象的基本应用。
第十一章 流类库与输入输出(2学时)
了解流的概念,在这基础上理解流类库的结构和使用。
第十二章 异常处理(2学时)
讲述异常处理问题。掌握对所能预料的运行错误进行处理的一套实现机制,try,throw和catch语句就是C++中处理异常的机制。
(二)实践教学的内容及要求
1.函数编程练习
掌握函数的声明、定义方法,理解函数参数的传递,掌握函数调用的方法,写出实验报告。
2. 类与对象编程练习
掌握类的定义,根据具体需求设计类,深入理解类的封装性,会根据类创建各种对象。写出实验报告。
3. 数据的共享与保护的编程练习
掌握标识符的作用域与可见性,了解对象的生存周期与类的静态成员,会用友元方式实现某些功能,写出实验报告
4. 数组、指针与字符串的编程练习
练习指针的使用,掌握string类的使用方法,写出实验报告。
5. 继承与派生的编程练习
掌握派生与继承的概念与使用方法,运用继承机制对现有的类进行重用。掌握继承中的构造函数与析构函数的调用顺序,为派生类设计合适的构造函数初始化派生类。写出实验报告。
6. 多态性的编程练习
理解多态性的概念。掌握如何用虚函数实现动态联编,掌握如何利用虚基类。写出实验报告。
7.类模板与函数编程练习
理解类模板与函数模板的概念,掌握类模板以及函数模板的定义、实例化过程,掌握类模板与函数模板的运用,进一步理解代码重用的思想,写出实验报告。
8. 输入/输出流的编程练习
理解输入 /输出流的概念,熟悉工作过程,写出实验报告。
四、学时分配
章 次 |
各教学环节学时分配 |
小计 |
讲授 |
实验 |
上机 |
习题 |
讨论 |
课外 |
备 注 |
第一章 绪论 |
1 |
1 |
|
|
|
|
|
|
第二章 C++简单程序设计 |
1 |
1 |
0 |
|
|
|
|
|
第三章 函数 |
4 |
2 |
2 |
|
|
|
|
|
第四章 类与对象 |
8 |
4 |
4 |
|
|
|
|
|
第五章 数据的共享与保护 |
8 |
4 |
4 |
|
|
|
|
|
第六章 数组、指针与字符串 |
4 |
2 |
2 |
|
|
|
|
|
第七章 继承与派生 |
12 |
6 |
6 |
|
|
|
|
|
第八章 多态性 |
12 |
6 |
6 |
|
|
|
|
|
第九章 群体类和群体数据的组织 |
8 |
4 |
4 |
|
|
|
|
|
第十章 泛型程序设计与C++标准模板库 |
4 |
2 |
2 |
|
|
|
|
|
第十一章 流类库与输入输出 |
4 |
2 |
2 |
|
|
|
|
|
第十二章 异常处理 |
2 |
2 |
0 |
|
|
|
|
|
合 计 |
68 |
36 |
32 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
五、考核说明
本课程期末采取闭卷考试,最后本课程成绩评定的方法,是由期末考试与平时成绩、再加实验成绩结合而成。
六、主要教材及教学参考书目
(一)主要教材
1.郑莉 《C++语言程序设计》(第4版),清华大学出版社,2010年。
2. 郑莉 《C++语言程序设计(第4版)学生用书》,清华大学出版社,2013年。
(二)主要参考书目
1. 郑莉 董渊编著《C++语言程序设计》(第二版),清华大学出版社,2002年。
2. 谭浩强 《C++面向对象程序设计》(第2版),清华大学出版社,2014年。
“数据库系统原理与应用”课程教学大纲
制定人:乔丽娟 审核人:王玉田 批准人:倪建成
一、课程基本信息
开课单位:计算机科学学院
课程名称:数据库系统原理与应用
课程编号:302408
英文名称:The principle and application of database system
课程类型:学科基础课
总 学 时:70 理论学时:54 实验学时:16
学 分:4
开设专业:软件工程、软件开发、软件测试、智能数据、移动互联网
先修课程:计算机程序设计,离散数学
二、课程任务目标
(一)课程任务
本课程是高等学校计算机学科与软件工程学科各类专业的基础必修课程,也是信息管理与信息系统、管理学和电子商务等各类学科的专业基础课。本课程的任务是使学生从应用角度出发,在理论和实践上掌握关系数据库的原理与基本操作、关系数据库的设计与安全性和关系数据库的连接,使学生具有开发数据库、熟练使用数据库的能力。
(二)课程目标
在学完本课程之后,学生能够:
1. 系统地掌握数据库系统的基本原理和基本技术;
2. 在掌握数据库系统基本概念的基础上,能熟练使用SQL语言在某一个数据库管理系统上进行数据库操作
3. 掌握数据库设计方法和步骤,具有设计数据库模式以及开发数据库应用系统的基本能力
4.熟悉数据库与前端应用程序的连接技术
三、教学内容和要求
(一)理论教学的内容及要求
第一章 绪论
内容概述:阐述数据库的基本概念,介绍数据管理技术的进展情况、数据库技术产生和发展的背景,数据模型的基本概念、组成要素和主要的数据模型,概念模型的基本概念及ER方法,数据库系统的3级模式结构以及数据库系统的组成。
本章目标:本章讲解的数据库基本概念和基本知识是学习后续各个章节的基础。学习本章的目的在于了解基本知识,掌握基本概念,为以后的学习打好扎实的基础。
重点和难点
重点:牢固掌握概念模型的基本概念及其主要建模方法ER方法;掌握关系数据模型的相关概念、数据库系统三级模式和两层映像的体系结构、数据库系统的逻辑独立性和物理独立性等;对于如何通过ER方法描述现实世界的概念模型要做到能够举一反三的程度。
难点:本章的难点是需要掌握数据库领域大量的基本概念。有些概念一开始接触会感到比较抽象,随着学习的逐渐推进,在后续章节中,这些抽象的概念会逐渐变得清晰具体起来。此外,数据模型及数据库系统的体系结构也是本章的难点。
第2章 关系数据库
内容概述:系统地讲解关系数据库的重要概念,并着重对关系模型进行讲解。关系模型包括关系数据结构、关系操作集合、以及关系完整性约束三个组成部分。讲解关系代数、元组关系演算和域关系演算。从具体到抽象,先讲解实际的语言ALPHA(元组关系演算语言)和QBE(域关系演算语言),然后讲解抽象的元组关系演算。
本章目标:掌握关系模型的三个组成部分及各部分所包括的主要内容;牢固掌握关系数据结构及其定义;关系的三类完整性约束的概念。为学习后面关系数据库系统打好基础。
重点:掌握关系数据结构及其定义;关系的三类完整性约束的概念。需要举一反三的是:关系代数(包括抽象的语言及具体的语言);关系代数中的各种运算(包括并、交、差、选择、投影、连接、除、及广义笛卡尔积等)、元组关系演算语言ALPHA及域关系演算语言QBE等,能够使用这些语言完成各种数据操纵。
难点:由于关系代数较为抽象,因此在学习的过程中一定要结合具体的实例进行学习。同时,要注意把握由具体语言到抽象语言的原则,即通过对具体语言如ALPHA和QBE的学习过渡到对抽象的关系演算的把握。
第3章 关系数据库标准语言SQL
内容概述:详细介绍关系数据库语言SQL。SQL是关系数据库的标准语言。它内容十分丰富,功能非常强大。因为关系数据库系统的主要功能是通过SQL来实现的,因此讲解SQL的同时要进一步讲述关系数据库的基本概念。
本章目标:牢固掌握SQL,达到举一反三的掌握SQL的功能。同时通过实践,体会面向过程的语言和SQL的区别和优点。体会关系数据库系统为数据库应用系统的开发提供良好环境,减轻用户负担,提高用户生产率的原因。
重点:关系模型和关系数据库是《数据库系统概论》课程的重点,第3章又是重点中的重点。要熟练正确的使用SQL完成对数据库的查询、插入、删除、更新操作。在使用具体的SQL时,能有意识地和关系代数、关系演算等语言进行比较,了解他们各自的特点。
难点:用SQL语言正确完成复杂查询,掌握SQL语言强大的查询功能。因此在学习过程中一定要多练习,要在安装好的数据库系统上进行实际操作,检查你的答案,你查询的结果是否正确。只有通过大量练习才能真正达到举一反三的熟练程度。
第4章 数据库安全性
内容概述:介绍计算机以及信息安全技术标准的进展。详细讲解数据库安全性问题和实现技术。RDBMS实现数据库系统安全性的技术和方法有多种,本章讲解最重要的存取控制技术、视图技术和审计技术。讲解存取控制机制中用户权限的授权与回收,合法权限检查。数据库角色的概念和定义等。
本章目标:掌握什么是数据库的安全性问题,牢固掌握数据库管理系统实现数据库安全性控制的常用方法和技术。
重点:使用SQL中的GRANT 语句和 REVOKE 语句来实现数据库的实现自主存取控制功能。使用SQL中CREATE ROLE语句创建角色,用GRANT 语句给角色授权。掌握视图机制在数据库安全保护中的作用。
难点:强制存取控制(MAC)机制中确定主体能否存取客体的存取规则,同学们要理解并掌握存取规则为什么要这样规定。
第5章 数据库完整性
内容概述:详细讲解数据库的完整性概念。包括,什么是数据库的完整性,数据库的完整性概念与数据库的安全性概念的区别和联系,RDBMS的数据库完整性实现机制,包括实体完整性、参照完整性和用户自己定义的完整性约束的定义机制、完整性检查机制和违背完整性约束条件时RDBMS采取的预防措施。触发器的概念和在数据库完整性检查中的应用。
本章目标:掌握什么是数据库的完整性,掌握用SQL语言定义关系模式的完整性约束条件。
重点:牢固掌握DBMS完整性控制机制的三个方面,即完整性约束条件的定义、完整性约束条件的检查和违约反应。需要举一反三的:用SQL语言定义关系模式的完整性约束条件。包括定义每个模式的主码;定义参照完整性;定义与应用有关的完整性。
难点:RDBMS如何实现完整性的策略,即当操作违反实体完整性、参照完整性和用户定义的完整性约束条件时,RDBMS如何进行处理,以确保数据的正确与有效。其中比较复杂的是参照完整性的实现机制。
第6章 关系数据理论
内容概述:详细讲解关系数据理论,主要是关系数据库规范化理论。包括关系数据库逻辑设计可能出现的问题,数据依赖的基本概念(包括,函数依赖、平凡函数依赖、非平凡的函数依赖、部分函数依赖、完全函数依赖、传递函数依赖的概念;码、候选码、外码的概念;多值依赖的概念),范式的概念、1NF、2NF、3NF、BCNF、4NF的概念和判定方法。数据依赖的Armstrong公理系统。本章内容分为基本要求部分(《概论》6.1-6.3)和高级部分(《概论》6.4)。前者是计算机大学本科学生应该掌握的内容。后者是研究生应该学习掌握的内容。
本章目标:关系数据理论既是关系数据库的重要理论基础也是数据库逻辑设计的理论指南和有力工具。要掌握规范化理论和优化数据库模式设计的方法。
重点:了解什么是一个"不好"的数据库模式。什么是模式的插入异常和删除异常。规范化理论的重要意义。牢固掌握数据依赖的基本概念,范式的概念,从1NF到4NF的定义,规范化的含义和作用。需要举一反三的:四个范式的理解与应用,各个级别范式中存在的问题(插入异常、删除异常、数据冗余)和解决方法。
难点:能够根据应用语义,完整地写出关系模式的数据依赖集合,并能根据数据依赖分析某一个关系模式属于第几范式。各个级别范式的关系及其证明。
本章内容的理论性较强。要通过具体例子和习题练习理解和掌握理论知识。
第7章 数据库设计
内容概述:讲解数据库设计方法和技术。数据库设计的特点,数据库设计的基本步骤,数据库设计过程中数据字典的内容,数据库设计各个阶段的设计目标、具体设计内容、设计描述、设计方法等。本章内容的实践性较强,教师可以少讲,让学生多读书并进行实践。
本章目标:了解数据库设计的重要性和数据库设计在信息系统开发和建设中的核心地位。掌握数据库设计方法和步骤,使学生具有设计数据库模式以及开发数据库应用系统的基本能力,能在实际工作中运用这些知识、技术和方法,设计符合应用需求的数据库及其应用系统。
重点:掌握数据库设计步骤和数据库设计过程中的各级模式设计方法。特别是数据库概念结构的设计和逻辑结构的设计,这是数据库设计过程中最重要的两个环节。牢固掌握用E-R图来表示概念模型的方法,掌握E-R图的设计,E-R图向关系模型的转换。
难点: 技术上的难点是E-R图的设计和数据模型的优化,包括对现实世界进行抽象的能力,提取实体、属性、实体型之间的联系,正确划分实体与属性的能力。如何把第6章关系数据理论与本章结合,用关系数据理论指导数据库的逻辑设计。真正的难点是理论与实际的结合。同学们一般缺乏实际经验,缺乏对实际问题解决的能力。特别是缺乏应用领域的知识。而数据库设计需要设计人员对应用环境、专业业务有具体深入的了解,这样才能设计出符合具体领域要求的数据库及其应用系统。要在完成本章习题的基础上认真完成大作业。体会这些要点,从而真正掌握本章讲解的知识、方法和技术。
第8章 数据库编程
内容概述:在数据库应用系统的开发中常常使用编程方法对数据库进行操纵。本章讲解这些编程技术涉及的概念和使用的方法。主要包括嵌入式SQL、游标的概念;SQL的过程化扩展PL/SQL和存储过程;使用ODBC设计开发数据库应用程序的方法。
因为JDBC编程、OLEDB编程与ODBC编程的思路基本相同,限于篇幅本章就不讲解JDBC和OLEDB编程,学生可以通过上机实验了解这些技术。本章内容的实践性较强,教师可以少讲,让学生多读书并进行实践。
本章目标:掌握开发数据库应用系统的各种编程方法,具有正确选择不同的方法和技术开发应用程序的能力。
重点:了解SQL编程技术可以有效克服SQL实现复杂应用方面的不足,提高应用系统和RDBMS间的互操作性。掌握嵌入SQL中游标的概念和使用方法;掌握PL/SQL和存储过程的基本概念,基本结构,语句语法和用法。了解使用ODBC开发应用系统的体系结构,掌握ODBC API和ODBC的应用程序的工作流程。
难点:理论联系实际,能够在实际安装的RDBMS上通过编程的方式开发应用程序,完成对数据库的各种操作。能够使用ODBC来进行数据库应用程序的设计,使设计的应用系统可移植性好,并且能同时访问不同的数据库,共享数据资源。
第9章 关系查询处理和查询优化
内容概述:通过实例讲解关系数据库查询优化的重要性和可能性。讲解RDBMS的查询处理步骤,即查询分析、查询检查、查询优化和查询执行;查询优化的基本概念,查询优化包括代数优化和物理优化;代数优化是指关系代数表达式的优化;物理优化则是指存取路径和底层操作算法的选择,所以先讲解实现查询操作的主要算法,主要是选择操作和连接操作的主要算法思想,然后讲解关系代数表达式等价变换规则,关系代数表达式的优化,物理优化方法(基于启发式规则的存取路径选择优化,操作算法的执行代价估算方法,基于代价的优化方法)。
本章目标:本章并不要求学生掌握RDBMS查询处理和查询优化的内部实现技术,因此没有详细讲解技术细节。本章的目的是希望学生了解RDBMS查询处理的基本步骤,查询优化的概念、基本方法和技术,为数据库应用开发中利用查询优化技术提高查询效率和系统性能打下基础。
重点:了解关系数据库查询优化的重要性。掌握查询处理各个步骤的主要功能。能够把SQL语句转换成查询树,对查询树进行代数优化,转换成优化的查询树。掌握物理优化的基本方法。
难点:能运用本章学习的查询优化知识,对于比较复杂的查询,尤其是涉及连接和嵌套的查询,写出适合RDBMS自动优化的SQL语句。对于RDBMS不能优化的查询需要重写查询语句,进行手工调整以优化性能。不要把优化的任务全部放在RDBMS上。
第10章 数据库恢复技术
内容概述:事务处理技术主要包括数据库恢复技术和并发控制技术。因为事务是数据库恢复和并发控制的基本单位,所以首先讲解事务的基本概念和事务的ACID性质。
本章讲解数据库恢复技术。包括数据库运行中可能发生的故障类型,数据库恢复中最经常使用的技术—数据转储和登录日志文件。讲解日志文件的内容及作用,登记日志文件所要遵循的原则,针对事务故障、系统故障和介质故障等不同故障的恢复策略和恢复方法。具有检查点的恢复技术。数据库镜像功能。
本章目标:掌握事务的基本概念和事务的ACID性质。了解数据库恢复技术的重要性,针对不同的故障类型,掌握恢复数据库的策略和方法。
重点:牢固掌握事务的基本概念和事务的ACID性质。要掌握数据库故障恢复的策略和方法。数据库恢复的基本原理是数据备份,它貌似简单,实际却很复杂。数据库的事务管理策略(不仅有数据库恢复策略,还有并发控制策略)和DBMS缓冲区管理策略、事务一致性级别密切相关,同学们要在学习完这些知识后把这些问题联系起来,提升对这些技术的理解和掌握。
难点:掌握日志文件的使用,系统故障、介质故障的恢复方法。对于刚刚学习数据库的学生来讲并不体会数据库故障恢复的复杂性和重要性。在实际工作中,则必须正确了解所用的DBMS产品提供的恢复技术和恢复方法,并且能够根据这些机制正确制定系统的恢复策略,以保证数据库系统7*24小时正确运行。保证数据库系统在遇到故障时能及时恢复正常运行,提高抗故障抗灾难的能力。
第11章 并发控制
内容概述:数据库管理系统必须提供并发控制机制来协调并发用户的并发操作以保证并发事务的隔离性和一致性,保证数据库的一致性。本章讨论数据库并发控制的基本概念和实现技术。包括封锁技术、封锁协议、活锁和死锁的概念、并发调度的可串行性、冲突可串行化调度、两段锁协议、封锁的粒度、意向锁。
本章目标:了解的数据库并发控制技术的必要性和重要性。牢固掌握并发控制的基本概念。
重点:掌握并发操作产生的数据不一致性(丢失修改、不可重复读、读“脏数据”)的确切含义。封锁协议与数据一致性的关系;并发调度的可串行性概念。
难点:两段锁协议与串行性的关系、与死锁的关系。具有意向锁的多粒度封锁方法的封锁过程。
本章内容有一定的深度和难度,可以通过对实例的学习和习题的练习来正确理解和掌握基本概念。
(二)实践教学的内容及要求
实验1 安装数据库管理系统
学习安装某一个数据库管理系统,通过对某个商用数据库管理系统的安装使用,初步了解DBMS的工作环境和系统构架,熟悉对DBMS的安装,为后面的实验做准备。
实验2 数据库与表的基本操作
在安装好的数据库系统下创建数据库、创建表、创建索引;使用SQL对数据库进行各类查询操作(单表查询,连接查询,嵌套查询,集合查询)和更新操作(插入数据,修改数据,删除数据)。练习数据定义操作,包括基本表的创建、修改及删除;索引的创建和删除;视图的创建和删除。对视图的查询,更新(注意更新的条件)。完成书后作业的SQL练习。
实验3 权限的授予与回收
在安装好的数据库系统下对已经建立的数据库创建用户、角色、视图;使用SQL对数据进行安全性控制,包括:授权和权力回收。操作完成后看看已授权的用户是否真正具有授予的数据操作的权力了;权力收回操作之后的用户是否确实丧失了收回的数据操作的权力。
本实验可以分小组完成。例如,用户A登录、建表、建视图等,授权一些数据操作权限用户B,然后用户B登录,检查是否具有授予的数据操作权限。也可以一个人建2个用户来完成。
实验4 关系的完整性约束
在安装好的数据库系统下对已经建立的数据库使用SQL对数据进行完整性控制(包括三类完整性、CHECK短语、CONSTRAIN子句、触发器等)。进行违约操作,用实验证实,当操作违反了完整性约束条件时,系统是如何进行违约处理的。
课程大作业 《数据库设计与应用开发》
在某个RDBMS产品上,选择合适的应用系统开发工具为某个部门或单位开发一个数据库应用系统。通过实践,掌握本章介绍的数据库设计方法,同时培养团队合作精神。要求5~6位同学组成一个开发小组,每位同学承担不同角色(例如:项目管理员、DBA、系统分析员、系统设计员、系统开发员、系统测试员)。具体要求:
给出数据库设计各个阶段的详细设计报告;
写出系统的主要功能和使用说明;
提交运行的系统;
写出收获和体会,包括已解决和尚未解决的问题,进一步完善的设想与建议;
每个小组进行60分钟的报告和答辩,讲解设计方案,演示系统运行,汇报分工与合作情况。
在第八章里,以下实验5到实验8共4个实验教师可以根据情况选择其中部分实验让学生完成。具体实验要求请参见教科书。
实验5 通过嵌入式SQL访问数据库。
实验6 使用PL/SQL编写存储过程访问数据库。
实验7 通过ODBC访问数据库。
实验8 通过JDBC访问数据库
实验9 查询优化
通过本章实验,了解你安装使用的RDBMS的查询优化方法和查询计划表示,能够利用它分析查询语句的实际执行方案和查询代价,进而通过建立索引或者修改SQL语句来降低查询代价,达到优化系统性能的目标。
具体实验内容:
1 对单表查询 例如以下的查询(可以自己给出查询语句)
select * from student where age>20 ;
2. 连接查询,普通的两表连接查询或多表连接查询
3. 嵌套查询,自己写几个带有子查询的例子,主要考虑带有IN和EXISTS谓词的子查询,包括相关子查询和不相关子查询。也可以使用《数据库系统概论》书上列举的例子。
对以上各种查询,通过建立索引或者删除索引(单表查询语句)、修改连接顺序(连接查询语句)、重写SQL语句即查询重写(嵌套查询);比较不同查询计划执行的性能差异,达到降低查询代价,优化性能的目标。
实验10 数据库的备份与恢复
在安装好的数据库系统下对已经建立的数据库人为地制造事务内部故障和系统故障,检查系统是否进行了恢复。
四、学时分配
章 次 |
各教学环节学时分配 |
小计 |
讲授 |
实验 |
上机 |
习题 |
讨论 |
课外 |
备 注 |
第一章:绪论 |
4 |
4 |
|
|
|
|
|
|
第二章:关系数据库 |
6 |
5 |
|
|
1 |
|
|
|
第三章:SQL语言 |
20 |
13 |
|
5 |
2 |
|
|
|
第四章:数据库安全 |
5 |
3 |
|
2 |
|
|
|
|
第五章:数据库完整性 |
4 |
3 |
|
1 |
|
|
|
|
第六章:关系数据理论 |
6 |
5 |
|
0 |
1 |
|
|
|
第七章:数据库设计 |
8 |
4 |
|
3 |
|
1 |
|
|
第八章:数据库编程 |
5 |
3 |
|
2 |
|
|
|
|
第九章:关系查询处理和查询优化 |
4 |
3 |
|
1 |
|
|
|
|
第十章:数据库恢复技术 |
4 |
3 |
|
1 |
|
|
|
|
第十一章:并发控制 |
4 |
3 |
|
1 |
|
|
|
|
合 计 |
70 |
49 |
|
16 |
4 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
五、考核说明
本课程的考核成绩有以下几个方面:
1.书面作业
2.上机实验和课程大作业(学生分组进行数据库设计)
3.期末闭卷笔试
平时成绩=书面作业成绩+上机实验和课程大作业成绩
考核总成绩=期末笔试成绩*60%+平时成绩*40%
六、主要教材及教学参考书目
(一)主要教材
1.王珊 萨师煊,《数据库系统概论》(第4版),高等教育出版社,2006年5月
(二)主要参考书目
1.J.D.Ullman, J Widom, A First Course in Database Systems, Pretice Hall,1997年
2.王珊 朱青,《数据库系统概论学习指导与习题解答》,高等教育出版社,2003年8月
“数据库技术与应用”教学大纲
制定人:姜海涛 审核人:王玉田 批准人:倪建成
一、课程基本信息
开课单位:软件学院
课程名称:数据库技术与应用
课程编号:304063
英文名称:Database Technology and Application
课程类别:专业拓展课程
学 时:总学时34 理论学时 18 实践学时 16
学 分:2
开设专业:软件工程
先修课程:数据库系统原理(302408)、数据结构(302006)
二、课程任务目标
(一)课程任务
本课程是软件工程专业的一门专业拓展课程,是一门集计算机语言、数据库技术和计算机网络等多种知识的学科。课程以提高管理信息系统应用水平为目的,对大型网络数据库进行规划、设计和应用系统开发。其主要内容包括:Oracle 数据库概述,开发工具,SQL应用基础,过程化SQL语言-PL/SQL以及ORACLE数据库的管理等。
(二)课程目标
通过本课程的教学,着重培养学生运用Oracle数据库的能力。了解Oracle数据库的基本概念和Oracle体系结构,熟练掌握数据库标准语言SQL语言,熟练掌握扩展SQL语言-PL/SQL语言及其设计方法,掌握Oracle数据库的管理方法和管理技术,提高大型分布式网络数据库的架构与应用水平。
三、教学内容和要求
第1章 Oracle数据库概述
教学内容
1.1 Oracle数据库系统
1.2 Oracle数据库新特性
学习目的和要求
(1) 了解Oracle数据库发展史;
(2) 掌握Oracle特点。
(3) 了解Oracle数据库新特性;
(4) 掌握Oracle数据库应用结构。
第2章 数据库服务器的安装与卸载
教学内容
2.1 安装Oracle数据库服务器
2.2 检查数据库服务器的安装结果
2.3 Oracle客户机安装与配置
学习目的和要求
(1) 掌握Oracle数据库服务器的安装过程;
(2) 掌握Oracle客户机的安装与配置;
第3章 创建数据库
教学内容
3.1 应用DBCA创建数据库
3.2 手动创建数据库
3.3 数据库服务器初始化参数文件
学习目的和要求
(1) 掌握DBCA创建数据库的步骤;
(2) 了解手动创建数据库的步骤;
(3) 了解数据库初始化参数文件的作用;
(4) 掌握数据库初始化参数文件的导出。
第4章 Oracle企业管理器
教学内容
4.1 OEM的启动与登录
4.2 OEM功能界面
学习目的和要求
(1) 掌握OEM的启动与登录的步骤;
(2) 理解OracleDBConsole<SID>服务的作用
(3) 理解属性页的功能
(4) 掌握数据库数据库首选身份证明,主机首选身份证明的设置。
第5章 SQL*Plus
教学内容
5.1 SQL*Plus常用命令
5.2 iSQL*Plus
学习目的和要求
(1) 理解SQL*Plus作用;
(2) 掌握SQL*Plus常用命令使用方法。
(3) 掌握iSQL*Plus的启动与登录;
(4) 理解iSQL*Plus的作用。
第6章 物理存储结构
教学内容
6.1 Oracle数据库系统结构
6.2 数据文件的管理
学习目的和要求
(1) 掌握Oracle数据库系统结构组成;
(2) 掌握数据文件的使用;
(3) 掌握控制文件的使用;
(4) 掌握日志文件的使用。
第7章 逻辑存储结构
教学内容
7.1 逻辑存储结构概述
7.2 逻辑存储结构的配置
学习目的和要求
(1) 掌握逻辑存储结构组成;
(2) 掌握表空间的使用;
(3) 掌握段的使用;
(4) 掌握区、块的使用。
第8章 数据库实例
教学内容
8.1 Oracle内存结构
8.2 Oracle后台进程
学习目的和要求
(1) 掌握Oracle内存结构组成;
(2) 掌握Oracle后台进程的组成。
第9章 模式对象
教学内容
9.1 模式的概念
9.2 常用的模式对象
学习目的和要求
(1) 理解模式的概念;
(2) 掌握表、索引、视图的使用;
(3) 了解簇、序列、同义词的使用。
第10章 安全管理
教学内容
10.1 Oracle数据库安全性概述
10.2 安全性管理方法
学习目的和要求
(1) 理解数据库安全性;
(2) 掌握用户、权限、角色的管理;
(3) 了解概要文件、审计的管理;
(4) 熟悉利用OEM进行安全管理。
第11章 备份与恢复
教学内容
11.1 备份与恢复概述
11.2 物理备份与恢复
11.3 逻辑备份与恢复
学习目的和要求
(1) 理解备份与恢复的作用;
(2) 掌握备份与恢复的原则与策略。
(3) 掌握冷备份、热备份的方法;
(4) 了解归档、非归档模式下的备份与恢复;
(5) 熟悉利用OEM进行物理备份与恢复。
(6) 掌握逻辑备份与恢复的方法;
(7) 掌握Expdp导出数据过程;
(8) 掌握Impdp导入数据过程;
(9) 熟悉利用OEM导出、导入数据。
第12章 闪回技术
教学内容
12.1 闪回技术概述
12.2 闪回技术查询技术
12.3 闪回错误操作技术
学习目的和要求
(1) 了解闪回技术基本概念;
(2) 掌握闪回技术的分类。
(3) 掌握闪回查询、闪回版本查询、闪回事务查询的方法;
(4) 掌握闪回表、闪回删除的方法;
(5) 理解闪回数据库的步骤。
第13章 PL/SQL程序设计
教学内容
13.1 PL/SQL概述
13.2 控制结构
13.3 游标、异常处理和触发器
13.4 存储子程序和包
学习目的和要求
(1) 了解PL/SQL基本功能;
(2) 掌握PL/SQL程序结构。
(3) 掌握PL/SQL选择结构、循环结构、转移结构的编程方法;
(4) 掌握显示游标的使用方法;
(5) 掌握异常处理类型和处理过程;
(6) 掌握触发器的使用。
(7) 掌握存储子程序、函数的使用方法;
(8) 了解包的应用。
四、学时分配
章 次 |
各教学环节学时分配 |
小计 |
讲授 |
实验 |
上机 |
习题 |
讨论 |
课外 |
备 注 |
第1章:Oracle数据库概述 |
1 |
1 |
0 |
|
|
|
|
|
第2章:数据库服务器的安装与卸载 |
2 |
1 |
1 |
|
|
|
|
|
第3章:创建数据库 |
2 |
1 |
1 |
|
|
|
|
|
第4章:Oracle企业管理器 |
2 |
1 |
1 |
|
|
|
|
|
第5章:SQL*Plus |
2 |
1 |
1 |
|
|
|
|
|
第6章:物理存储结构 |
2 |
1 |
1 |
|
|
|
|
|
第7章:逻辑存储结构 |
2 |
1 |
1 |
|
|
|
|
|
第8章:数据库实例 |
2 |
1 |
1 |
|
|
|
|
|
第9章:模式对象 |
4 |
2 |
2 |
|
|
|
|
|
第10章:安全管理 |
2 |
1 |
1 |
|
|
|
|
|
第11章:备份与恢复 |
4 |
2 |
2 |
|
|
|
|
|
第12章:闪回技术 |
2 |
1 |
1 |
|
|
|
|
|
第13章:PL/SQL程序设计 |
7 |
4 |
3 |
|
|
|
|
|
五、考核说明
考核方法:考查
成绩评定法法:平时成绩30%,实验成绩70%
六、主要教材及教学参考书目
(一)主要教材
1. Oracle11g数据库基础教程(第2版),孙风栋主编,电子工业出版社,2017.1
(二)主要参考书目
1. Oracle从入门到精通,秦靖、刘存勇等编著,机械工业出版社,2014.7
Oracle PL/SQL从入门到精通,丁士峰编著,清华大学出版社,2012.6
“Java Se程序设计”教学大纲
制定人:刘红娟 审核人:王玉田 批准人:倪建成
一、课程基本信息
开课单位:软件学院
课程名称:Java Se程序设计
课程编号:30411142
英文名称:JAVA standard edition programming
课程类型:专业拓展课
学 时:总 学 时 86 理论学时 54 实验学时 32
学 分:4
开设专业:软件工程
先修课程:C语言程序设计(301007)
二、课程任务目标
(一)课程任务
本课程是理工科院校工科的一门学科基础课,本课程讲授Java语言的基本语法结构、类与对象、继承等类间的关系、抽象类和接口、异常处理、泛型和集合、流和文件、JDBC基础、Swing图形用户界面、线程有关知识和网络编程Socket等。在讲解书本知识的同时,让学生们熟悉JDK、JRE等Java开发环境并掌握Eclipse开发平台的使用方法。还要特别注意培养学生的熟练运算能力和综合运用所学知识去分析解决问题的能力。
(二)课程目标
在学完本课程之后,学生能够:
基本理解Java SE中涉及到java基础知识,熟悉JDK、JRE等Java开发环境并掌握Eclipse开发平台的使用方法提高学生算法分析能力和编程开发能力,培养学生的编程思维,为后续软件开发和软件测试实验实训奠定基础。
三、教学内容和要求
第1章 初识Java
1.内容概要
1.1 Java简介
1.2 Java的特点
1.3 Java体系结构
1.4 JVM JRE和JDK
1.5 第一个Java程序
1.6 Java注释
重点与难点
重点: Java体系结构,JVM、JRE和JDK工具和使用,Java程序编译与运行
难点:Java体系结构,Java程序编译与运行
3.学习目的与要求
了解Java历史
了解Java的特点
了解Java的体系结构
了解Java程序类型
熟悉Java运行机制
熟悉JVM、JRE和JDK工具
掌握Java程序编译与运行
掌握Java程序中注释的分类和用法
第2章 Java基础知识
1.内容概要
2.1 常量与变量
2.2 数据类型
2.3 变量的作用域与初始化
2.4 运算符
2.5 流程控制
2.6 数组
2.重点与难点
重点: Java的基本数据类型,Java中标识符、运算符和表达式的使用,Java的流程控制结构,Java中数组的定义和使用
难点:Java的流程控制结构,break、continue和return转移语句的用法和区别,一维数组的拷贝方式,创建和使用二维数组
3.学习目的与要求
掌握Java中的变量、常量、关键字
掌握Java的基本数据类型
掌握标识符的定义
掌握Java中数据类型的转换
掌握Java的运算符和表达式
掌握Java的流程控制结构
掌握break、continue和return转移语句的用法和区别
掌握Java中数组的定义和使用
掌握Java中一维数组的拷贝方式
掌握创建和使用二维数组的方法
第3章 类与对象
内容概要
3.1 面向对象思想重点与难点
3.2 类与对象
3.3 参数传递和重载
3.4 类的组织
2.重点与难点
重点: 创建类和对象,方法的重载以及包的创建和使用,Java访问修饰符
难点: 创建类 和对象,方法的重载以及包的创建和使用,Java访问修饰符,静态变量、静态方法的使用
3.学习目的与要求
理解OOP编程思想
掌握Java中创建类和对象的方法
掌握Java的方法重载
掌握包的创建和使用方法
掌握Java访问修饰符的使用
掌握静态变量、静态方法的使用
第4章 类之间的关系
1.内容概要
4.1 类间关系
4.2 继承和多态
4.3 Object
4.4 依赖、关联、聚合、组成
重点与难点
重点: 继承和多态,super、final关键字的使用,Object类
难点: 继承和多态,super、final关键字的使用,Object类,依赖、关联、聚合、组成关系
3.学习目的与要求
理解继承和多态的概念
掌握继承、多态的实现和使用
掌握super、final关键字的使用
掌握Object类
了解依赖、关联、聚合、组成关系
第5章 抽象类、接口和内部类
1.内容概要
5.1 抽象类
5.2 接口
5.3 instanceof运算符
对象转换
内部类
重点与难点
重点: 抽象类的定义及使用,接口的定义及使用,instanceof运算符
难点: 抽象类和接口,内部类的使用
学习目的与要求
掌握抽象类的定义及使用
掌握接口的定义及使用
掌握instanceof运算符
了解对象转换
了解内部类的使用
第6章 处理异常
1.内容概要
6.1 异常
6.2 异常处理
6.3 自定义异常
重点与难点
重点: 异常的概念和异常处理机制,try、catch、finally使用方法,throw、throws的使用方法
自定义异常和使用方法
难点: 异常的概念和异常处理机制,五个关键字的使用方法
3.学习目的与要求
理解异常的概念和异常处理机制
理解Java异常的分类
掌握try、catch、finally使用方法
掌握throw、throws的使用方法
掌握自定义异常的定义和使用方法
第7章 泛型与集合
1.内容概要
7.1 泛型
7.2 集合概述
7.3 集合类
2. 重点与难点
重点: 泛型概念、泛型定义,集合框架和迭代器接口,List、Set和Map集合类的使用
掌握foreach语句的使用
难点: 泛型定义、有界类型和通配符,迭代器接口和集合类的使用
学习目的与要求
理解泛型的概念
掌握泛型类的创建和使用
理解泛型的有界类型和通配符的使用
了解泛型的局限性
理解Java集合框架的结构
掌握Java迭代器接口的使用
掌握List结构集合类的使用
掌握Set结构集合类的使用
掌握Map结构集合类的使用
第8章 流与文件
1.内容概要
8.1 文件
8.2 流
8.3 字节流
8.4 字符流
8.5 对象流
2. 重点与难点
重点: File类的使用,字符流和字节流输入输出流的用法,对象流的使用
难点: File类的使用,字符流,字节流的使用,对象流的使用
学习目的与要求
掌握File类的使用
理解流的不同分类
掌握InputStream和OutputStream的使用
掌握常用过滤流的使用
掌握Reader和Writer的使用
理解序列化和反序列化的概念
掌握对象流的使用
第9章 JDBC基础
1.内容概要
9.1 JDBC
9.2 访问数据库
9.3 操作数据库
9.4 集元数据
9.5 事务操作
2. 重点与难点
重点: JDBC访问数据库的结构及原理,JDBC访问数据库的步骤,JDBC中的DriverManager类和Connection、ResultSet接口
难点: JDBC中的DriverManager类和Connection、ResultSet接口,JTree组件的使用方式,JDBC的事务处理
3.学习目的与要求
理解JDBC访问数据库的结构及原理
了解JDBC四种驱动类型
掌握JDBC访问数据库的步骤
掌握JDBC中的DriverManager类和Connection、ResultSet接口
掌握JDBC的常用查询接口
掌握JDBC对集元数据的访问
掌握JDBC的事务处理
第10章 Swing图形界面(1)
1.内容概要
10.1 Swing概述
10.2 容器
10.3 布局管理器
10.4 事件处理
10.5 常用组件
2.重点与难点
重点: Java容器的使用方式,Java常用布局的使用,Swing的事件处理机制,Swing常用组件的使用
难点: Swing的事件处理机制,Swing常用组件的使用
3.学习目的与要求
理解Java Swing的基本结构
掌握Java容器的使用方式
掌握Java常用布局的使用方式
掌握Swing的事件处理机制
掌握Swing常用组件的使用方式
第11章 Swing图形界面(2)
1.内容概要
11.1 菜单
11.2 工具栏
11.3 对话框
11.4 表格
树
2.重点与难点
重点: 菜单的创建及事件处理,工具栏的创建,对话框的种类及创建
难点: JTable组件的使用方式,JTree组件的使用方式
3.学习目的与要求
掌握菜单的创建及事件处理
掌握工具栏的创建
理解对话框的种类及创建
学会使用文件对话框打开和保存文件
了解使用JDialog创建自己的对话框的方法
掌握JTable组件的使用方式
掌握JTree组件的使用方式
第12章 线程知识
1.内容概要
12.1 线程
12.2 线程使用
多线程
2.重点与难点
重点: Java线程的实现,线程的状态及状态转换,线程的同步,线程间的通信
难点: 线程的同步,线程间的通信
3.学习目的与要求
理解线程的基本概念
理解Java的线程模型
掌握Java线程的状态和状态转换
掌握线程的创建和使用
掌握线程优先级的使用
掌握线程组的使用
理解多线程的概念
掌握Java的多线程实现
掌握线程的同步技巧
掌握线程的通信方式
理解死锁的概念
第13章 网络编程Socket
1.内容概要
13.1 网络基础
13.2 网络API
13.3 Socket网络通信
2.重点与难点
重点: TCP/IP协议规范,基于TCP的C/S网络编程,基于Socket的低层次Java网络编程,基于Socket的多线程通信
难点: 基于Socket的低层次Java网络编程,基于Socket的多线程通信
3.学习目的与要求
理解计算机网络编程的概念
理解TCP/IP协议规范
理解域名与DNS的概念
掌握基于URL的网络编程
掌握基于TCP的C/S网络编程
掌握基于Socket的底层网络编程
掌握基于Socket的多线程通信
第14章 Java高级应用拓展(略)
1.内容概要
类加载器、反射、枚举、注解、国际化和本地化、格式化处理、资源包、消息格式化、字符集、正则表达式、以及在Java中应用正则表达
2.重点与难点
重点: 枚举、装箱/拆箱、注解,数字、货币、日期的格式化,常用的正则表达式
难点: 类加载机制和反射机制,枚举、装箱/拆箱、注解,国际化和本地化,理解正则表达式的定义元素
3.学习目的与要求
理解Java的类加载机制和反射机制
掌握枚举、装箱/拆箱、注解的概念
理解国际化和本地化的概念
掌握数字、货币、日期的格式化
理解正则表达式的定义元素
掌握常用的正则表达式
四、学时分配
章 次 |
各教学环节学时分配 |
小计 |
讲授 |
实验 |
上机 |
习题 |
讨论 |
课外 |
备 注 |
第1章 初识Java |
5 |
3 |
|
2 |
|
|
|
|
第2章 Java基础知识 |
10 |
6 |
|
4 |
|
|
|
|
第3章 类与对象 |
11 |
9 |
|
2 |
|
|
|
|
第4章 类之间的关系 |
10 |
6 |
|
4 |
|
|
|
|
第5章 抽象类、接口和内部类 |
7 |
3 |
|
4 |
|
|
|
|
第6章 处理异常 |
5 |
3 |
|
2 |
|
|
|
|
第7章 泛型与集合 |
5 |
3 |
|
2 |
|
|
|
|
第8章 流与文件 |
5 |
3 |
|
2 |
|
|
|
|
第9章 JDBC基础 |
5 |
3 |
|
2 |
|
|
|
|
第10章 Swing图形界面(1) |
5 |
3 |
|
2 |
|
|
|
|
第11章 Swing图形界面(2) |
5 |
3 |
|
2 |
|
|
|
|
第12章 线程知识 |
5 |
3 |
|
2 |
|
|
|
|
第13章 网络编程Socket |
5 |
3 |
|
2 |
|
|
|
|
第14章 Java高级应用拓展 |
3 |
3 |
|
0 |
|
|
|
|
五、考核说明
考核方法:闭卷
成绩评定法:平时成绩30%,考试成绩70%
六、主要教材及教学参考书目
(一)主要教材
Java SE程序设计与实践,青岛农业大学等编著,西安电子科技大学出版社,2015.8
(二)主要参考书目
1.JAVA 编程思想, Bruce Eckel著,陈昊鹏译,机械工业出版社,2007.6
“概率论与数理统计”教学大纲
制定人:王少新 审核人:赵胜利 批准人:倪建成
一、课程基本信息
开课单位:软件学院
课程名称:概率论与数理统计
课程编号:302005
英文名称:Probability Theory and Mathematical Statistics
课程类型:公共必修课
学 时:总 学 时 54 理论学时 42 实验学时 12
学 分:3
开设专业:理工科各专业
先修课程:高等数学,线性代数
二、课程任务目标
(一)课程任务
《概率论与数理统计》是大学阶段理工科类、经济类、管理类各专业必修的基础理论课。它是数学的一个重要分支,是各个领域中应用性最强的一门基础学科。开设课程的目的是使学生掌握《概率论与数理统计》的基础理论、基本方法和基本运算技能,为学习后续课程和进一步获得数学知识及提供理论的研究奠定必要的数学基础和知识储备,使学生的到良好的数学训练,提高学生抽象思维和逻辑推理能力。通过本课程的学习,使学生掌握概率论与数理统计的基本概念,基本理论和方法,从而使学生初步掌握处理随机现象的基本思想和方法,培养学生运用概率统计方法分析和解决实际问题的能力。
(二)课程目标
在学完本课程之后,学生能够:
1.对随机现象有充分的感性认识和比较准确的理解;
2.通过学习该课程使学生掌握概率、统计的基本概念,掌握常见随机模型的处理方法及理论性质。在实践中熟悉数据处理、数据分析、数据推断的各种基本方法,并能用所掌握的方法具体解决社会经济所遇到的各种问题。
三、教学内容和要求
第一章概率论的基本概念
1. 内容
样本空间和随机事件的概念,事件之间的关系与基本运算,古典概率和几何概率的计算,条件概率的概念,乘法公式,全概率公式,事件独立性,伯努利概型。
2. 要求
理解样本空间和随机事件的概念,掌握事件之间的关系与基本运算;理解事件频率的概念,了解随机现象的统计规律性;掌握概率的计算。理解事件的概念,结合集合论的思想,运用文氏图来形象描绘事件之间的关系,了解概率的统计定义及公理化定义,理解古典概率和几何概率的定义;掌握概率的加法公式及它的一些推广;理解条件概率的概念,掌握乘法公式;综合应用加法,乘法公式进行概率计算。掌握全概率公式及其推导,并掌握什么情况下用该公式。理解事件独立性的概念,了解伯努利概型的定义,掌握二项概率公式的推导,掌握判断伯努利概型的方法并用二项公式解题。
3. 重点
样本空间,随机事件,随机事件之间的关系,古典概率,概率的统计定义,条件概率的基本概念和计算公式,乘法公式、全概率公式、事件的独立性及判定条件,判断伯努利概型的方法并用二项公式解题。
4. 难点
古典概率的计算,利用概率性质计算概率,判断伯努利概型的方法并用二项公式解题。
5. 知识目标
掌握事件之间的关系与基本运算;掌握概率的加法公式;理解条件概率的概念,掌握乘法公式;掌握全概率公式及其推导,理解事件独立性的概念,了解伯努利概型的定义,掌握判断伯努利概型的定义。
6. 能力目标
综合应用加法,乘法公式进行概率计算的能力。运用独立性来计算事件的概率的能力,会用全概率公式解决实际问题的能力,运用伯努利概型的方法并用二项公式解题的能力。运用各种概率公式和事件的独立性解决实际问题的能力。
第二章随机变量及其分布
1. 内容
随机变量的概念,离散型随机变量及其分布律的概念和性质,连续型随机变量及其密度函数的概念和性质,几种常见的离散型和连续型分布,分布函数的概念,离散型和连续型随机变量的分布函数的性质,离散型和连续型随机变量函数的分布。
2. 要求
了解随机变量的概念;理解离散型随机变量及其分布律的概念性质,连续型随机变量及其密度函数的概念性质;熟悉几种常见的离散型和连续型分布;会求离散型随机变量的分布律、连续型随机变量的密度函数并利用它们计算有关事件的概率。理解分布函数的概念,并知道离散型和连续型随机变量的分布函数的性质;掌握离散型和连续型随机变量的分布函数的计算;掌握离散型和连续型随机变量函数的的概率问题的求解。
3. 重点
随机变量与分布函数的定义和性质及相关计算,随机变量的常见分布,随机变量的函数的分布。
4. 难点
灵活运用概率分布函数计算各种事件的概率,正态分布的性质、计算和应用,随机变量函数的分布演算。
5. 知识目标
掌握离散型随机变量的分布律和连续型随机变量的密度函数的概念性质;掌握几种常见的离散型和连续型分布;理解分布函数的概念,了解离散型和连续型随机变量的分布函数的性质;掌握离散型和连续型随机变量的分布函数的计算;
6. 能力目标
综合运用概率分布函数计算各种事件的概率的能力。运用离散型随机变量的分布律、连续型随机变量的密度函数计算有关事件的概率的能力。培养离散型和连续型随机变量函数的实际概率问题求解的能力。
第三章多维随机变量
1. 内容
二维随机变量,二维随机变量的边缘分布、联合分布函数;二维连续型随机变量的联合概率密度函数,边缘分布与联合分布的关系,二维随机变量独立性。
2. 要求
理解二维随机变量的概念,掌握二维随机变量的边缘分布、联合分布函数等概念;理解二维连续型随机变量的联合概率密度函数的概念及性质,掌握其边缘分布与联合分布的关系,并会计算有关事件的概率;掌握二维随机变量独立性的概念,并会应用独立性来进行概率计算。
3. 重点
联合分布列、联合密度、判断随机变量的独立性。
4. 难点
联合分布函数、求函数的分布。
5. 知识目标
掌握二维随机变量的边缘分布、联合分布函数的概念,掌握二维随机变量独立性的概念。
6. 能力目标
能够计算二维随机变量的边缘分布、联合分布函数,能够判断二维随机变量独立性。
第四章随机变量的数字特征
1.内容
随机变量的数学期望、方差、协方差、相关系数、矩。
2. 要求
理解数学期望的定义,会利用概念求解随机变量的数学期望;掌握离散型连续型随机变量函数的数学期望的求解方法;熟悉常见分布的数学期望,掌握数学期望的性质,掌握方差的性质及它们之间和数学期望的关系;理解相关性和独立性的关系,会利用它们行进概率的求解;掌握常见分布的方差。
3. 重点
数学期望、方差的具体含义、定义和性质。
4. 难点
灵活运用数学期望、方差的概念和计算解决实际问题。
5. 知识目标
掌握随机变量的数学期望、方差、协方差、相关系数、矩的概念及运算。
6. 能力目标
灵活运用数学期望、方差的概念和计算解决实际问题的能力。
第五章大数定律和中心极限定理
1. 内容
比雪夫不等式、大数定律、中心极限定理。
2. 要求
了解大数定律的含义了解切比雪夫不等式、切比雪夫定理和伯努里定理;理解独立同分布的中心极限定理和德莫佛(DeMoivre)-拉普拉斯(Laplace)定理。并会用相关定理近似计算有关随机事件的概率。
3. 重点
大数定律和中心极限定理的思想。
4. 难点
运用中心极限定理解决一些实际问题。
5. 知识目标
掌握比雪夫不等式、大数定律、中心极限定理的内容。
6. 能力目标
如何利用中心极限定理求事件的概率的方法。
第六章数理统计的基本概念
1. 内容
总体、个体、样本的概念;样本均值、方差和样本矩的概念;统计量的概念;几种常用的抽样分布及其结论;分位数的概念。
2. 要求
理解总体、个体、样本的概念;理解样本均值、方差和样本矩的概念并会计算;理解统计量的概念;掌握几种常用的抽样分布及其结论;理解分位数的概念;掌握几种重要分布的分位数及查表计算法。
3.重点
总体、样本、统计量的概念,简单的描述统计思想,统计的四大分布和抽样分布定理。
4. 难点
统计的四大分布和抽样分布定理。。
5. 知识目标
理解总体、个体、样本的概念;理解样本均值、方差和样本矩的概念;理解统计量的概念;掌握几种常用的抽样分布及其结论;理解分位数的概念;
6. 能力目标
会计算样本的均值、方差和样本矩;掌握求几种重要分布的分位数及查表计算法的能力。
第七章参数估计
1. 内容
参数估计的概念,点估计的矩估计法和极大似然估计法;估计量好坏的三个评选标准。
2. 要求
理解参数估计的概念,熟练掌握点估计的矩估计法和极大似然估计法;掌握估计量好坏的三个评选标准。
3. 重点
矩估计和极大似然估计基本原理,评价估计量好坏的标准。
4. 难点
运用矩估计和极大似然估计原理解决实际问题。
5. 知识目标
理解参数估计的概念,掌握点估计的矩估计法和极大似然估计法;掌握估计量好坏的三个评选标准。
6. 能力目标
运用矩估计和极大似然估计原理解决实际问题。
第八章假设检验
1. 内容
显著性检验的基本思想;显著性检验的基本步骤和可能产生的两类错误;单个正态总体的均值和方差的假设检验;两个正态总体参数的假设检验。
2. 要求
理解显著性检验的基本思想;掌握显著性检验的基本步骤和可能产生的两类错误;掌握单个正态总体的均值和方差的假设检验;了解两个正态总体参数的假设检验;分布拟合检验;假设检验问题的p值法。
3. 重点
假设检验的基本思想,单正态总体均值和方差的假设检验,假设检验问题的p值法。
4. 难点
假设检验的统计思想。
5. 知识目标
理解显著性检验的基本思想;掌握显著性检验的基本步骤和可能产生的两类错误;掌握单个正态总体的均值和方差的假设检验;了解两个正态总体参数的假设检验;了解假设检验问题的p值法。
6. 能力目标
会用单个正态总体的均值和方差的假设检验解决实际问题,对于不同应用软件中的p值能了解其意义。
四、学时分配
章 次 |
各教学环节学时分配 |
小计 |
讲授 |
实验 |
上机 |
习题 |
讨论 |
课外 |
备 注 |
第一章:概率论的基本概念 |
5 |
4 |
|
|
1 |
|
|
|
第二章:随机变量及其分布 |
7 |
5 |
|
|
2 |
|
|
|
第三章:多维随机变量及其分布 |
7 |
6 |
|
|
1 |
|
|
|
第四章:随机变量的数字特征 |
8 |
6 |
|
|
2 |
|
|
|
第五章:大数定律及中心极限定理 |
6 |
5 |
|
|
1 |
|
|
|
第六章:样本及抽样分布 |
6 |
5 |
|
|
1 |
|
|
|
第七章:参数估计 |
8 |
6 |
|
|
2 |
|
|
|
第八章:假设检验 |
7 |
5 |
|
|
2 |
|
|
|
五、考核说明
考核方法:闭卷
成绩评定法法:平时成绩
考试成绩
六、主要教材及教学参考书目
(一)主要教材
1.浙江大学 盛骤 谢式千 潘承毅 编 《概率论与数理统计》 第四版,高等教育出版社,2008年。
(二)主要参考书目
1.魏宗舒等 编《概率论与数理统计教程》第二版,高等教育出版社,2007年。
2.刘琼荪 钟波 荣腾中 李曼曼 编 《概率论与数理统计》,高等教育出版社,2013年。
“软件工程”教学大纲
制定人:刘双 审核人:王玉田 批准人:倪建成
一、课程基本信息
开课单位:软件学院
课程名称:软件工程
课程编号:302013
英文名称:Software Engineering
课程类型:专业核心课程
学 时:总学时52,理论学时36,实践学时16
学 分:3
开设专业:软件工程专业;软件工程(软件开发)专业;软件工程(软件测试)专业;软件工程(智能数据)专业;软件工程(移动互联网)专业
先修课程:面向对象的程序设计;数据结构
二、课程任务目标
(一)课程任务
软件工程是一门实践性很强的课程,为保证教学效果,加强教学的实践环节,对本课程安排了如下试验,以有效地培养和提高学生软件设计、开发能力。开设“软件工程课程设计”的主要目的是培养学生综合应用所学专业知识及计算机知识的能力,训练和提高软件开发技能。要求每个学生在规定时间内必须完成一个规模适当的应用软件系统;在教师的指导下以课程设计为中心,独立地完成从可行性分析、需求分析、软件设计、编码到软件测试运行的软件开发全过程。
(二)课程目标
在学完本课程之后,学生能够:首先,深化已学的知识,完成从理论到实践的转化。通过软件工程的课程设计,进一步加深对软件工程方法和技术的了解,将软件工程的理论知识运用于开发的实践,并在实践中逐步掌握软件工具的使用。其次,提高分析和解决实际问题的能力课程设计不仅是软件工程实践的一次模拟训练,同时通过软件开发的实践,积累经验,提高分析和解决问题的能力。最后,培养“开拓创新”能力大力提倡和鼓励在开发过程中使用新方法,新技术。激发学生实践的积极性与创造性,开拓思路,设计新算法,进行新创意,培养创造性的工程设计能力。
三、教学内容和要求
(一)理论教学的内容及要求
第一章 软件工程概述
1.了解软件危机及其产生的原因;
2. 了解软件工程的基本原理;
3. 掌握软件生命周期的8个阶段、3个时期;
4. 了解软件过程中的几种模型。
第二章 可行性研究
1.了解可行性研究的任务及过程;
2.了解系统流程图的符号表示;
3.熟练掌握数据流图的组成要素,建立过程及其用途;(重点)
4. 了解数据字典的内容;
5.了解成本、效益分析的方法。
第三章 需求分析
1. 了解需求分析阶段的任务,以及与用户沟通的技巧;
2. 掌握实体-联系图、状态转换图的具体使用及建立;(重点)
3. 了解层次方框图、warnier图以及IPO图的使用;
4. 了解如何验证软件需求。
第四章 形式化说明技术
1. 了解形式化技术与非形式化技术、半形式化技术的区别、优缺点等;
2. 掌握有穷状态机的概念及如何具体应用;(难点)
3. 了解Petri网以及Z语言的基本概念。
第五章 总体设计
1. 了解总体设计的过程;
2. 理解并掌握总体设计的原理:模块化,抽象,逐步求精,信息隐藏和局部化,以及模块独立(内聚、耦合)的理论知识;
3. 了解总体设计的启发规则;
4. 掌握描绘软件结构的图形工具,即层次图、结构图,并区分二者关系;
5. 理解并掌握面向数据流的设计方法:变换分析和事务分析。(重点)
第六章 详细设计
1. 了解结构程序设计的概念;
2. 了解人机界面设计相关知识;
3.掌握过程设计的工具:程序流程图,盒图,PAD图,判定树,判定表,以及过程设计语言;
4. 理解面向数据结构的设计方法:jackson方法;(难点)
5. 掌握程序复杂程度的定量度量方法:McCabe方法,三种不同的计算方案。
第七章 实现(重点)
1. 了解程序设计语言的选择及其编码风格;
2. 理解软件测试的目标、步骤,以及测试阶段的信息流;
3. 掌握单元测试的方式:代码审查和计算机测试,其中必须理解驱动程序和存根程序的概念及其使用;(重点)
4. 掌握集成测试的两种集成方案:自顶向下集成、自底向上集成,理解并掌握回归测试;
5. 了解确认测试的范围,以及Alpha和Beta测试;
6. 理解并掌握白盒测试技术,尤其是不同逻辑覆盖标准下如何设计测试用例;(重点)
7. 掌握黑盒测试技术,特别是等价类划分、边界值分析下如何设计测试用例;(重点)
8. 了解调试过程及途径;
9. 了解软件可靠性基本概念,并可以估算平均无故障时间、以及估算错误总数。
第八章 维护
1. 了解软件维护的定义、特点,以及维护过程;
2. 了解预防性维护的出现情况,以及软件的再工程过程。
第九章 面向对象方法引论
1. 掌握面向对象方法学的要点:类+对象+继承+消息通信;
2. 了解面向对象中的基本概念:对象,封装,继承等;
3. 理解并掌握对象模型,使用类图建模:类图中类的定义、类与类之间关系(关联,聚集,泛化,细化和依赖)的图形表示;(重点&难点)
4. 了解动态模型的表示;
5. 掌握如何使用用例图建立功能模型;
6. 了解对象模型,动态模型以及功能模型之间的关系。
第十章 面向对象分析(重点)
1. 理解面向对象分析的3个子模型和5个层次;
2. 掌握对象模型建立的具体过程,以及如何确定筛选类与对象,关联结构等;
3. 掌握建立动态模型的具体过程:编写脚本,画事件跟踪图,画状态图,审查模型;
4. 了解如何建立功能模型;
5. 了解定义服务的四种方式。
第十一章 面向对象设计
了解面向对象设计的准则、启发规则;
掌握软件重用的级别,类重用,及其具体重用的实现;
了解系统分解的4个子系统:问题域子系统,人机交互子系统,任务管理子系统,以及数据选择子系统;
了解类中服务的设计关注点:算法&数据结构;
掌握类关联的具体实现策略;
了解优化设计的技术。
第十二章 面向对象实现
1. 掌握如何选择高效的面向对象语言,选择中应关注的技术点等;
2. 了解提高可重用性,可扩展性以及健壮性的方法;
3. 了解面向对象中的单元测试、集成测试、确认测试的实现;
4. 了解如何设计测试用例的方法。
第十三章 软件项目管理
1. 了解软件规模、工作量的估算方法;
2. 了解如何使用甘特图,工程网络等表现工程进度,以及具体的估算方案;
3. 了解如何进行人员组织,以及保证软件质量的措施;
4.了解软件配置的内容,以及管理过程;
5. 掌握能力成熟度模型的分级,5级模型的特点。
四、学时分配
章 次 |
各教学环节学时分配 |
|
小计 |
讲授 |
实验 |
上机 |
习题 |
讨论 |
课外 |
备 注 |
第一章:软件工程概述 |
2 |
2 |
|
|
|
|
|
|
第二章:可行性研究 |
2 |
2 |
|
|
|
|
|
|
第三章:需求分析 |
3 |
3 |
|
|
|
|
|
|
第四章:形式化说明技术 |
2 |
2 |
|
|
|
|
|
|
第五章:总体设计 |
3 |
3 |
|
|
|
|
|
|
第六章:详细设计 |
3 |
3 |
|
|
|
|
|
|
第七章:实现 |
6 |
6 |
|
|
|
|
|
|
第八章:维护 |
2 |
2 |
|
|
|
|
|
|
第九章:面向对象方法学引论 |
3 |
3 |
|
|
|
|
|
|
第十章:面向对象分析 |
4 |
4 |
|
|
|
|
|
|
第十一章:面向对象设计 |
2 |
2 |
|
|
|
|
|
|
第十二章:面向对象实现 |
2 |
2 |
|
|
|
|
|
|
第十三章:软件项目管理 |
2 |
2 |
|
|
|
|
|
|
合 计 |
36 |
36 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
五、考核说明
考核方法:闭卷
本课程采用平时考核、期末考试综合评定学生成绩。考核方法为考试,平时成绩占30%,其中实验占20%,作业占10%,期末考试卷面成绩占70%。
六、主要教材及教学参考书目
(一)主要教材
1.张海藩等《软件工程导论》,清华大学出版社 2013年第6版;
“Java Web程序设计”教学大纲制定人:王玉田 审核人:齐苏敏 批准人:倪建成 |
一、课程基本信息
开课单位:软件学院
课程名称:Java Web程序设计
课程编号:302010
英文名称:Java Web Programming
课程类型:专业拓展课
总 学 时:52 理论学时:36 实验学时:16
学 分:3
开设专业:软件工程
先修课程:数据结构(302006)数据库系统原理(302408) Java 程序设计基础(303119)
二、课程任务目标
(一)课程任务
本课程正是以掌握Java Web应用开发为目标,介绍了Web应用开发多个层面上的技术,针对Java Web初学者,按照由浅人深,通俗易懂的原则介绍了Java Web应用开发基础知识、高级技术、编程应用实例,让学员了解、掌握Java Web应用及开发的基本思想,能用它编制面向对象和网络化的程序,并且能够根据实际需求编制出一些实用的程序。
(二)课程目标
1.了解、掌握Java Web技术的基本思想、开发工具和运行环境;
2.了解、掌握HTTP协议和Servlet技术的相关知识;
3.掌握JSP的运行机制、指令和动作,并能熟练使用JSP内置对象;
4.掌握Java Web开发的两中模式及开发中的常用技巧;
5.掌握JSP表达式语言和标准标签库;
6.能够创建自定义JSP标签;
7.了解、掌握Servlet过滤器和监听器的原理及应用;
三、教学内容和要求
(一)理论教学的内容及要求
第1章 概述
1.教学内容
1.1 项目构思
1.2 项目设计
1.3 项目实施
1.4 项目运行
2.教学要求
通过本章的学习能够了解贯穿全书的三级项目——网络点餐系统,并对基于Java的Web开发技术有所了解。
3.教学重点与难点
重点
(1)基于Java的Web开发技术。
(2)JSP的运行原理。
难点
(1)JSP的运行原理。
(2)JSP的特点。
第2章 Web页面技术
1.教学内容
2.1 HTML
2.2 CSS
2.3 JavaScript
2.教学要求
通过本章的学习使学生能够运用HTML标签语言完成基本的页面显示和表单的编写;运用简单的Javascript脚本完成客户端行为的控制;运用CSS层叠样式表实现对页面的美化。
3.教学重点与难点
重点
(1)HTML主要标签的语法和使用。
(2)CSS的语法和使用。
(3)JavaScript的基本语法和事件处理函数
难点
(1)JavaScript事件处理函数的定义和调用。
(2)JavaScript常用对象的使用。
第3章 Servlet技术
1.教学内容
3.1 认识Servlet
3.2 HttpServletRequest
3.3 HttpServletResponse
3.4 HttpSession
3.5 ServletContext
3.6 简单用户登录功能
3.7 Servlet中的过滤器
3.8 Servlet中的监听器
2.教学要求
通过本章的学习使得学生能够进行Servlet的编写及配置,了解Servlet的生命周期,分析API的使用以及进行简单Servlet过滤器的编写。
3.教学重点与难点
重点
(1)Servlet的编写和配置。
(2)如何使用Servlet技术完成各种形式的客户端请求。
难点
Servlet过滤器
第4章 JSP基础
1.教学内容
4.1 认识JSP
4.2 JSP的语法
4.3 JSP的隐含对象
4.4 Cookie对象
2.教学要求
通过本章的学习使得学生能够记忆JSP的基本概念,了解和运用JSP的基本语法,进行出错处理,并能够运用这些基本语法开发简单的JSP页面。使得学生了解JSP中可以使用的内置对象,分析内置对象的常用方法和作用范围,并可以在构造Web应用时采用适合的JSP对象。
3.教学重点与难点
重点
(1)JSP脚本元素。
(2)JSP指令元素。
(3)JSP行为元素。
(4)JSP隐含对象中的 out、request、response和session对象。
难点
(1)JSP行为元素。
(2)session对象。
第5章 JDBC技术
1.教学内容
5.1 认识JDBC
5.2 使用JDBC实现网络点餐系统的菜品管理
2.教学要求
通过本章的学习使得学生能够了解如何使用JDBC连接数据库进行增、删、改、查等操作。
3.教学重点与难点
重点
(1)JDBC常用接口及类的使用。
(2)JDBC访问数据库的步骤。
(3)实现网络点餐系统菜品管理模块的基本操作。
难点
JDBC常用接口及类的使用。
第6章 JavaBean组件
1.教学内容
6.1 认识JavaBean
6.2 在JSP中使用JavaBean
6.3 使用JavaBean实现网络点餐系统的用户管理模块
2.教学要求
通过本章的学习使得学生了解JavaBean的编写规范,进行简单JavaBean的编写,执行JavaBean的配置以及如何在JSP页面中运用JavaBean。能够进行在JavaBean中访问数据库程序的编写。
3.教学重点与难点
重点
JavaBean的编写规范、JavaBean的用途及其使用方法
难点
使用JavaBean对数据库的各种操作。
第7章 JSP开发的两种模型
1.教学内容
7.1 认识JSP模型1
7.2 认识JSP模型2
7.3 基于JSP模型2实现网络点餐系统
2.教学要求
通过本章的学习使得学生能够运用JSP的两种模型开发Web应用,了解MVC的基本思想,并进行基于MVC模式的Web应用的设计和开发。
3.教学重点与难点
重点
(1)JSP模型1和模型2的基本概念。
(2)MVC模式的基本概念。
(3)基于JSP模型2的Web应用的设计和开发。
难点
基于JSP模型2的Web应用的设计和开发。
第8章 EL
1.教学内容
8.1 认识EL
8.2 EL隐含对象
2.教学要求
通过本章的学习使得学生能够了解EL的特点、基本语法,运用与EL相关隐含对象,采用表达式语言编写常见的输出和计算语句。
3.教学重点与难点
重点
EL语法结构,数据访问方法和EL隐含对象的使用。
难点
EL隐含对象的使用。
第9章 JSTL
1.教学内容
9.1 认识JSTL
9.2 JSTL核心标签库
9.3 JSTL格式化标签库
9.4 JSTL函数标签库
9.5 JSTL SQL标签库
9.6 JSTL XML标签库
9.7 网络点餐系统视图层改进
2.教学要求
通过本章的学习,使学生能够了解JSTL的基本概念,执行JSTL的下载、安装和配置,运用核心标签库中的通用标签、条件处理、循环与迭代和URL操作等标签的进行编程。运用JSTL中的SQL标签查询、更新和删除数据库中的数据。了解JSP的标准函数和格式标签的使用。
3.教学重点与难点
重点
(1)JSTL核心库标签的语法和使用。
(2)JSTL格式化标签库的语法和使用。
难点
JSTL核心库的应用。
第10章 监听和过滤
1.教学内容
10.1 监听器
10.2 过滤器
2.教学要求
通过本章的学习,使学生能够了解监听器原理及生命周期中的方法,掌握上下文监听和HTTP会话监听,了解请求监听;理解过滤器原理及生命周期,掌握实现一个过滤器的步骤,了解过滤器链。
3.教学重点与难点
重点
(1)上下文监听和HTTP会话监听。
(2)过滤器原理及生命周期。
难点
监听器和过滤器在开发中的应用。
四、学时分配
章 次 |
各教学环节学时分配 |
小计 |
讲授 |
实验 |
上机 |
习题 |
讨论 |
课外 |
备 注 |
第1章 概述 |
2 |
2 |
|
|
|
|
|
|
第2章 Web页面技术 |
2 |
2 |
|
|
|
|
|
|
第3章 Servlet技术 |
4 |
4 |
|
|
2 |
|
|
|
第4章 JSP基础 |
4 |
4 |
|
|
|
2 |
|
|
第5章 JDBC技术 |
4 |
4 |
|
2 |
|
|
|
|
第6章 JavaBean组件 |
4 |
4 |
|
|
|
|
|
|
第7章 JSP开发的两种模型 |
4 |
4 |
|
|
|
|
|
|
第8章 EL |
4 |
4 |
|
|
|
|
|
|
第9章 JSTL |
4 |
4 |
|
|
|
|
|
|
第10章 Servlet监听和过滤 |
4 |
4 |
|
|
|
|
|
|
合 计 |
36 |
36 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
五、考核说明
考试。成绩构成及比例:平时成绩20%,项目开发实践20%,期末成绩60%。
六、主要教材及教学参考书目
(一)主要教材
青岛英谷教育科技股份有限公司. Java Web程序设计及实践. 西安电子科技大学出版社,2016
(二)主要参考书目
青岛英谷教育科技股份有限公司. Web编程基础. 西安电子科技大学出版社,2016
许令波. 深入分析Java Web技术内幕. 电子工业出版社,2014
“UI程序设计”课程教学大纲
制定人:鲁大营 审核人:王玉田 批准人:倪建成
一、课程基本信息
开课单位:软件学院
课程名称:UI程序设计
课程编号:302019
英文名称:UI Programming
课程类型:专业拓展课程
学 时:总 学 时 34 理论学时 18 实验学时 16
学 分:2
开设专业:软件工程
先修课程:无
二、课程任务目标
(一)课程任务
《UI程序设计)》是面向计算机相关专业的一门专业基础课,需要理解与掌握网页基础、HTML标记、CSS样式、网页布局、JavaScript编程基础与事件处理等内容。
(二)课程目标
在学完本课程之后,学生能够了解HTML、CSS及JavaScript语言的发展历史及未来方向,熟悉网页制作流程、掌握常见的网页布局效果、学会制作各种企业、门户、电商类网站。
三、教学内容和要求
第一章 网页那点事(1学时)
[知 识 点]
Ø 认识网页 Ø 常见的互联网专业术语 Ø Web标准 |
Ø HTML简介 |
Ø CSS简介 Ø JavaScript简介 |
Ø 常用浏览器介绍 |
Ø Dreamweaver 工具的使用 |
Ø 使用Dreamweaver创建第一个页面 |
[重 点]
Ø Web标准 |
Ø Dreamweaver工具的使用 |
[难 点]
Ø Web标准
Ø Dreamweaver工具创建第一个页面
[基本要求]
Ø 了解Web标准,明确HTML、CSS及JavaScript在其中的作用。
Ø 熟悉Dreamweaver工具的基本操作,能使用Dreamweaver创建简单的网页。
第二章 从零开始构建HTML页面(1学时)
[知 识 点]
Ø HTML文档基本格式 |
Ø 单标记与双标记 Ø 标题与段落标记 |
Ø HTML文档头部相关标记 Ø font标记 |
Ø 标记的属性 |
Ø 文本格式化标记 Ø 图像标记 Ø 相对路径与绝对路径 Ø 常用图像格式 Ø 特殊字符标记 |
|
|
[重 点] Ø HTML文档基本格式 Ø 标记的属性 Ø 图像标记 Ø 相对路径与绝对路径 |
[难 点]
Ø 相对路径与绝对路径
[学习目标]
Ø 掌握HTML文档基本格式,能够书写规范的HTML网页。
Ø 掌握标题、段落及文字标记,可以合理地使用它们定义网页元素。
Ø 掌握图像标记,学会制作图文混排页面。
第三章 使用CSS技术美化网页(2学时)
[知 识 点]
Ø CSS样式规则 Ø 引入CSS样式表 Ø CSS基础选择器 Ø CSS字体样式属性 Ø CSS文本外观属性 Ø CSS复合选择器 Ø CSS层叠性与继承性 Ø CSS优先级 |
[重 点]
Ø CSS样式规则 Ø 引入CSS样式表 Ø CSS复合选择器 Ø CSS层叠性与继承性 Ø CSS优先级 |
[难 点]
Ø CSS复合选择器
Ø CSS优先级
[基本要求]
Ø 掌握CSS样式规则,能够书写规范的CSS样式代码。
Ø 掌握CSS字体样式及文本外观属性,能够控制页面中的文本样式。
Ø 掌握CSS复合选择器,可以快捷选择页面中的元素。
Ø 理解CSS层叠性、继承性与优先级,学会高效控制网页元素。
第四章 CSS盒子模型(2学时)
[知 识 点]
Ø 认识盒子模型 Ø div标记 Ø 边框属性 Ø 内边距属性 Ø 外边距属性 Ø 背景属性 Ø 元素的类型 Ø span标记 Ø 元素的转换
|
[重 点]
Ø div标记 Ø 边框属性 Ø 内边距属性 Ø 外边距属性 Ø 背景属性 Ø 元素的转换 |
[难 点]
Ø 背景属性
Ø 元素的类型
Ø 元素的转换
[基本要求]
Ø 掌握盒子模型相关属性,能够使用它们熟练地控制网页元素。
Ø 理解块元素与行内元素的区别,能够对它们进行转换。
第五章 列表与超链接(2学时)
[知 识 点]
Ø 无序列表 Ø 有序列表 Ø 定义列表 Ø 定义列表实现图文混排 Ø 列表嵌套 Ø list-style复合属性 Ø 背景图像定义列表项目符号 Ø 超链接标记<a> Ø 清除超链接图像的边框 Ø 链接伪类 Ø 锚点链接
|
[重 点]
Ø 无序列表
Ø 定义列表
Ø 背景图像定义列表项目符号
Ø 超链接标记<a>
Ø 链接伪类
[难 点]
Ø 背景图像定义列表项目符号
Ø 链接伪类
[基本要求]
Ø 掌握无序、有序及定义列表的使用,可以制作常见的网页列表模块。
Ø 掌握超链接标记的使用,能够使用超链接定义网页元素。
Ø 掌握CSS伪类,会使用CSS伪类实现超链接特效。
第六章 HTML表单(2学时)
[知 识 点]
Ø 认识表单 Ø 创建表单 Ø input控件 Ø textarea控件 Ø select控件 Ø CSS控制表单样式 |
[重 点]
Ø input控件 Ø textarea控件 Ø select控件 Ø CSS控制表单样式 |
[难 点]
[基本要求]
Ø 理解表单的构成,可以快速创建表单。
Ø 掌握表单相关标记,能够创建具有相应功能的表单控件。
Ø 掌握表单样式的控制,能够美化表单界面。
第七章 浮动与定位(2学时)
[知 识 点]
Ø 元素的浮动属性float Ø clear属性清除浮动 Ø overflow属性清除浮动 Ø after伪对象清除浮动 Ø overflow属性 Ø 元素的定位属性 Ø 静态定位 Ø 相对定位 Ø 绝对定位 Ø 固定定位 Ø z-index层叠等级属性
|
[重 点]
Ø 元素的浮动属性float Ø clear属性清除浮动 Ø overflow属性清除浮动 Ø 相对定位 Ø 绝对定位 |
[难 点]
Ø overflow属性清除浮动
Ø 相对定位
Ø 绝对定位
[基本要求]
Ø 理解元素的浮动,能够使用浮动对网页进行布局。
Ø 熟悉清除浮动的方法,能够清除浮动的影响。
Ø 掌握常见的几种定位模式,能够对元素进行精确定位。
第八章 JavaScript编程基础(2学时)
[知 识 点]
Ø JavaScript的引入 Ø 关键字 Ø 变量 Ø prompt()函数 Ø alert()函数 Ø console.log()函数 Ø 函数 Ø Array数组对象 Ø DOM节点树 Ø 节点的访问 Ø 元素对象常用操作 Ø 元素属性与内容操作 Ø 元素样式操作 Ø 数据类型 Ø 运算符 Ø 运算符优先级 Ø 表达式 Ø 条件语句 Ø eval()函数
|
[重 点]
Ø 变量 Ø 函数 Ø Array数组对象 Ø DOM节点树 Ø 节点的访问 Ø 元素对象常用操作 Ø 元素属性与内容操作 Ø 元素样式操作 Ø 条件语句 |
[难 点]
Ø DOM节点树
Ø 节点的访问
Ø 元素对象常用操作
Ø 元素属性与内容操作
Ø 元素样式操作
[基本要求]
Ø 掌握JavaScript语法规则,能够书写规范的JavaScript代码。
Ø 掌握数组的概念,能够熟练使用数组的常用属性和方法。
Ø 掌握节点的访问,能够准确访问指定元素和相关元素。
Ø 掌握if语句及switch语句,能够灵活运用条件控制语句。
第九章 JavaScript事件处理(2学时)
[知 识 点]
Ø JavaScript事件 Ø 事件处理程序的调用 Ø BOM操作 Ø Date对象 Ø 数据类型转换 Ø 循环控制语句 Ø 跳转语句 Ø 鼠标事件 Ø 键盘事件 Ø 页面事件 Ø 事件对象 Ø 表单事件 Ø String对象
|
[重 点]
Ø BOM操作
Ø Date对象
Ø 循环控制语句
Ø 跳转语句
Ø 鼠标事件
Ø 键盘事件
Ø 页面事件
Ø 事件对象
Ø 表单事件
[难 点]
Ø 鼠标事件
Ø 键盘事件
Ø 页面事件
Ø 事件对象
Ø 表单事件
[基本要求]
Ø 了解什么是JavaScript事件,能够对事件处理程序进行调用。
Ø 掌握JavaScript常用事件,如鼠标事件、表单事件、键盘事件以及页面事件等。
Ø 掌握BOM操作,能够使用BOM与浏览器窗口进行交互。
Ø 掌握Data对象的常用方法,能够应用Data对象获取当前区域的日期时间字符串。
第十章 实战开发(2学时)
[知 识 点]
Ø 建立站点 Ø 站点初始化设置 Ø 切片 Ø 效果图分析 Ø 页面布局 Ø 定义公共样式 Ø 制作头部和导航 Ø 制作banner和通告 Ø 制作主体内容区域 Ø 制作底部版权区域
|
[重 点]
Ø 建立站点 Ø 切片 Ø 效果图分析 Ø 定义公共样式 Ø 制作头部和导航 Ø 制作banner和通告 Ø 制作主体内容区域 Ø 制作底部版权区域 |
[难 点]
Ø 切片
Ø 制作头部和导航
Ø 制作banner和通告
Ø 制作主体内容区域
[基本要求]
Ø 掌握站点的建立,能够建立规范的站点。
Ø 了解切图工具,能够运用切片裁切效果图。
完成第一色情网面的制作,并能够实现简单的JavaScript特效。
四、学时分配
章 次 |
各教学环节学时分配 |
小计 |
讲授 |
实验 |
上机 |
习题 |
讨论 |
课外 |
备 注 |
第一章 网页那点事 |
1 |
1 |
|
|
|
|
|
|
第二章 从零开始构建HTML页面 |
1 |
1 |
|
|
|
|
|
|
第三章 使用CSS技术美化网页 |
2 |
2 |
|
|
|
|
|
|
第四章 CSS盒子模型 |
2 |
2 |
|
|
|
|
|
|
第五章 列表与超链接 |
2 |
2 |
|
|
|
|
|
|
第六章 HTML表单 |
2 |
2 |
|
|
|
|
|
|
第七章 浮动与定位 |
2 |
2 |
|
|
|
|
|
|
第八章 JavaScript编程基础 |
2 |
2 |
|
|
|
|
|
|
第九章 JavaScript事件处理 |
2 |
2 |
|
|
|
|
|
|
第十章 实战开发 |
2 |
2 |
|
|
|
|
|
|
五、考核说明
本课程为考试课程,期末考试采用百分制的闭卷考试模式。学生的考试成绩由平时成绩(30%)和期末考试(70%)组成,其中,平时成绩包括出勤(5%)、作业(5%)、实验和上机成绩(20%)。
六、主要教材及教学参考书目
(一)主要教材
1.《HTML/CSS/JavaScript标准教程》,电子工业出版社,2014年。
(二)主要参考书目
1.《网页设计创意与编程》,魏善沛编著,清华大学出版社
2.《网页制作教程》,郭振欣等编著,高等教育出版社
3.《HTML4.0从入门到精通》,(美)Deborah S.Ray Eric J.Ray,电子工业出版社
4.《HTML编程起步》,(美)Wendy Willard,人民邮电出版社
5.《JavaScript与HTML精通网页编程》,李明武等编著,北京希望电子出版社
“Web程序设计”课程教学大纲
制定人:刘凤芹 审核人:王玉田 批准人:倪建成
一、课程基本信息
开课单位:软件学院
课程名称:Web程序设计
课程编号:3040102
英文名称:Web Programming
课程类型:专业基础课
总 学 时:68 理论学时:36 实验学时:32
学 分:3
开设专业:软件工程 软件外包
先修课程:java程序设计、数据系统原理
二、课程任务目标
(一)课程任务
《Web程序设计》课程是软件工程,软件外包等相关专业的专业基础课程,网页是internet信息承载和传递的载体。Internet网站是信息汇集地,而网站是由网页组成的。本课程主要是通过学习Html基础、表格表单和框架、Css 样式、网页布局、JavaScript、DOM编程、XML及运用DOM 处理XML,让学生在很短的时间内将网页前端知识技能全部掌握,提高网页制作技能和水平,实现自己独立开发静态网站的能力。
(二)课程目标
通过本课程学习,使学生掌握网页设计制作的基本知识和技巧,同时熟悉网站建设的基本知识,达到独立建设简单网站或通过协作构建较复杂网站并设计相关网页的水平,以为学生后期学习动态网页打下坚实的基础。
三、教学内容和要求
(一)理论教学的内容及要求
第一章 HTML基础(2学时)
主要内容:超文本传输协议、统一资源定位符、超文本标记语言、HTML文档结构、HTML语法、HTML常用基本标签。
要求掌握:超文本语言标记、HTML文档结构、HTML语法、HTML常用基本标签。
第二章 表格、表但和框架(2学时)
主要内容:表格的结构、标签、属性设置,表单标签、域、按钮、示例,框架的基本结构和语法、框架的使用
要求掌握:表格的创建、设置,各种表单的创建,框架的使用
第三章 PHP基本语法(4学时)
主要内容:样式规则、选择符、选择符的组合、样式表的继承、CSS的使用方式、伪类和伪对象、CSS样式属性:文本、文字、背景、定位、边框、CSS页面美化。
要求掌握:CSS基本语法、了解伪类和伪对象、熟悉CSS样式属性、页面的美化
第四章 页面布局(6学时)
主要内容:DIV层、页面布局、表格布局、框架布局、DIV+CSS布局
要求掌握:DIV层的设置,熟悉页面、表格、框架布局,会根据情况设置DIV+CSS布局
第五章JavaSCript基础(3学时)
主要内容:JavaScirpt简介、JavaSCript基础语法:数据类型、常量、变量、注释、运算符、控制流程,函数:内置函数和自定义函数。
要求掌握:能后运用Javacritp语法进行定义常量、变量,能后根据情况使用运算符,设置控制流程,会使用内置函数,能自己定义函数解决问题
第六章 JavaScript对象(3学时)
主要内容:JavaScript核心对象:数组对象、字符串对象、日前对象、数学对象,自定义对象:原型与对象的创建。
要求掌握: 能够熟练运用JavaScript核心对象,会自行创建对象。
第七章 DOM编程(3学时)
主要内容:事件,DOM简介、特性、对象模型结构,window和Document对象,其他DOM对象应用:Location对象、History对象、Navigator对象、表单对象
要求掌握:了解DOM特性,对象模型结构,会使用window和Document对象,了解并使用Location对象、History对象、Navigator对象、表单对象。
第八章 表单验证及特效(4学时)
主要内容:常见的表单验证、表单验证示例,事件应用:onBlur和onFocus事件,鼠标事件,键盘事件,Css特效:层的影藏和显示特效、图片隐藏和显示特效。
要求掌握:掌握表单验证,熟悉事件应用:onBlur和onFocus事件,鼠标事件,键盘事件,了解Css特效
第九章 XML概述(4学时)
主要内容: XML的历史、基本特征、定义,XML文档结构,XML文档内容,XML文档规则。
要求掌握:了解XML的历史,基本特征,掌握XML文档结构,内容,规则
第十章 运用DOM处理XML(5学时)
主要内容: 文档对象模型:概述、DOM文档结构、Xpath、Xpath表达式、Xpath定位路径,解析XML:XML的解析方式、解析XML的API.使用JDOM解析XML:JDOM概述、API、编程,SAX、DOM和JDOM技术的比较。
要求掌握:了解文档对象模型、XML、使用JDOM解析XML
(二)实践教学的内容及要求
见实验大纲
四、学时分配
章 次 |
各教学环节学时分配 |
小计 |
讲授 |
实验 |
上机 |
习题 |
讨论 |
课外 |
备 注 |
第1章 HTML基础 |
8 |
4 |
4 |
|
|
|
|
|
第2章 表格、表单和框架 |
8 |
4 |
4 |
|
|
|
|
|
第3章 CSS样式 |
11 |
6 |
5 |
|
|
|
|
|
第4章 页面布局 |
6 |
4 |
2 |
|
|
|
|
|
第5章 JavaScript基础 |
6 |
3 |
3 |
|
|
|
|
|
第6章 JavaScript对象 |
8 |
4 |
4 |
|
|
|
|
|
第7章 DOM编程 |
6 |
3 |
3 |
|
|
|
|
|
第8章 表单验证及特效 |
7 |
4 |
3 |
|
|
|
|
|
第9章 XML概述 |
4 |
2 |
2 |
|
|
|
|
|
第10章 运用DOM处理XML |
4 |
2 |
2 |
|
|
|
|
|
合 计 |
68 |
36 |
32 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
五、考核说明
考核方法:考试
成绩评定法法:平时成绩
考试成绩
六、主要教材及教学参考书目
青岛英谷教育科技股份有限公司. Web编程基础. 西安电子科技大学出版社,2016参考资料:
2、青软实训,《Web前端设计与开发》,清华大学出版社,2016年10月
3、蔚蓝教育,《HTML5+CSS3+JavaScript网页设计与制作》,中国水利水电出版社,2016年5月
“操作系统”教学大纲
制定人:刘红娟 审核人:王玉田 批准人:倪建成
一、课程基本信息
开课单位:软件学院
课程名称:操作系统
课程编号:3002008
英文名称:Operating System
课程类型:专业核心课程
学 时:总 学 时 88 理论学时 72 实验学时 16
学 分:5
开设专业:软件工程
先修课程:计算机导论(301006)、C语言程序设计(301007)、计算机组成原理(302001)
二、课程任务目标
(一)课程任务
本课程是理工科院校工科的一门学科基础课,又是全国硕士研究生入学考试统考科目。通过本课程的学习,可以使学生了解计算机操作系统的一些基本术语、概念,掌握计算机操作系统的功能。使学生们具有初步分析实际操作系统的能力,奠定设计、开发操作系统的知识基础。理解操作系统的设计思想和算法,并在其他领域予以借鉴应用。
(二)课程目标
在学完本课程之后,学生能够:
1.掌握操作系统的基本概念、基本原理和基本功能,理解操作系统的整体运行过程。
2.掌握操作系统进程、内存、文件和I/O管理、磁盘管理的策略、算法、机制以及相互关系。
3.能够运用所学的操作系统原理、方法与技术分析问题和解决问题,并能利用C语言描述相关算法,并具备初步分析实际操作系统的能力,奠定设计、开发操作系统的知识基础。
三、教学内容和要求
第一章 操作系统引论
1.内容概要
1.1操作系统目标和作用
1.2操作系统的发展过程
1.3 操作系统的基本特性
1.4操作系统的主要功能
1.5操作系统的结构设计
2.重点与难点
重点:计算机操作系统发展过程及发展的主要动力、操作系统的基本特征及功能
难点:操作系统的结构设计
3.学习目的与要求
(1)了解操作系统的目标和作用
(2)掌握操作系统的发展过程和发展的主要动力。OS的发展过程主要为:无操作系统时的计算机系统、单道批处理系统、多道批处理系统、分时系统、实时系统。
(3)掌握操作系统的四大特征:并发、共享、 虚拟、 异步性,
(4)掌握操作系统的五大功能:处理器管理的功能、存储器管理的功能、设备管理的功能、文件管理的功能、用户接口。
(5)理解操作系统的结构设计:传统的操作系统结构、客户/服务器模式、面向对象的程序设计模式、微内核OS结构等。
第二章 进程的描述与控制
1.内容概要
2.1 前趋图和顺序执行
2.2 进程的描述
2.3 进程的控制
2.4 进程同步
2.5 经典进程的同步问题
2.6进程通信
2.7线程的基本概念
2.8线程的实现
2.重点与难点
重点:程序的顺序执行和并发执行的特点,进程的定义和特征,进程的状态之间的转换,信号量机制,线程的基本概念。
难点:进程和线程的比较,信号量机制的应用,管程的概念,进程的通信。
3.学习目的与要求
(1)了解前趋图的概念,理解程序的顺序与并发的区别。
(2)理解进程的定义以及特征,进程的五大基本状态。
(3)掌握进程的创建、进程的终止、进程的阻塞与唤醒、进程的挂起与激活
(4)理解进程同步的基本概念并掌握信号量机制如:整型信号量、记录型信号量、And信号量以及信号量集的使用,并学以致用会用信号量去解决一些问题。
(5)理解一些经典的同步问题:生产者消费者问题、读者写着问题、哲学家进餐问题等。
(6)理解进程通信的类型、进程通信方式、消息缓冲机制、邮箱机制、进程通信的实例
(7)理解线程的概念、线程的同步与通信、内核支持线程与用户级线程、线程控制
第三章 处理机调度与死锁
1.内容概要
3.1 处理机调度的层次和调度算法的目标
3.2 作业与作业调度
3.3 进程调度
3.4 实时调度
3.5 死锁概述
3.6 预防死锁
3.7 避免死锁
3.8 死锁的检测与解除
2.重点与难点
重点:调度算法如FCFS、SJF、时间片轮转,实时调度中的抢占和非抢占的调度算法,死锁的预防,死锁的避免
难点: 时间片轮转调度算法,银行家算法,死锁的检测
3.学习目的与要求
(1)了解处理机调度的层次:高级调度、中级调度、低级调度。
(2)理解处理机调度算法的目标
(3)掌握各种调度算法如:FCFS、SJF、优先级调度算法和高响应比优先调度算法。
(4)掌握非抢占和抢占调度策略,轮转调度算法
(5)理解多队列的调度算法和基于公平的调度算法
(6)理解实时调度中的算法
(7)掌握死锁的概念,必要条件和处理方法
(8)理解预防死锁的三个条件
(9)掌握银行家算法的解题步骤和原理
(10)理解死锁的检测和解除方法
第四章 存储器管理
1.内容概要
4.1 存储器的层次结构
4.2 程序的装入和链接
4.3 连续分配存储管理方式
4.4 对换
4.5 分页存储管理方式
4.6分段存储管理方式
2.重点与难点
重点:程序的装入和链接,连续分配管理方式
难点:分页存储管理方式,分段存储管理方式
3.学习目的与要求
(1)了解存储器的层次结构
(2)理解程序的装入和链接方式,包括静态链接和动态链接。
(3)掌握四种连续分配方式:单一连续分配、固定分区分配、动态分区分配、可重定位动态分区分配。
(4)掌握并理解页表、地址变换机构、两极和多级页表
(5)理解分段存储管理方式的引入、分段系统的基本原理、信息共享、段页式存储管
(6)了解对换的概念和原理
第五章 虚拟存储器
1.内容概要
5.1 虚拟存储器概述
5.2 请求分页存储管理方式
5.3 页面置换算法
5.4 “抖动”与工作集
5.5 请求分段存储管理方式
2.重点与难点
重点:虚拟存储器的特征,请求分页存储管理,各种页面置换算法,请求分段存储管理方式
难点:请求分页中的硬件支持、内存分配策略和分配算法、调页策略,请求分段中的硬件支持、分段的共享与保护
3.学习目的与要求
(1)理解虚拟存储器的引入、实现方法、特征
(2)理解并掌握请求分页中的硬件支持、内存分配策略和分配算法、调页策略
(3)掌握各种页面置换算法OPT算法、FIFO算法、LRU算法、Clock算法
(4)了解抖动与工作集的概念
(5)理解请求分段中的硬件支持、分段的共享与保护
第六章 输入输出系统
1.内容概要
6.1 I/O系统的功能、模型和接口
6.2 I/O设备和设备控制器
6.3 中断机构和中断处理程序
6.4 设备驱动程序
6.5 与设备无关的I/O软件
6.6 用户层的I/O软件
6.7 缓冲区管理
6.8 磁盘存储器的性能和调度
2.重点与难点
重点:设备控制器的功能,四种I/O控制方式,中断处理程序,驱动程序的功能
难点:I/O系统各个层次的联系,缓冲区的管理,磁盘性能和调度算法
3.学习目的与要求
(1)了解I/O膝盖痛的基本功能和层次结构
(2)了解I/O设备的类型,理解设备控制器的作用和工作原理
(3)理解通道的概念以及作用
(4)掌握中断处理程序的执行过程
(5)理解设备驱动程序的功能
(6)掌握四种I/O控制方式:程序I/O控制方式、中断驱动I/O控制方式、DMA控制方式、通道控制方式。
(7)理解与设备无关的I/O软件和用户层的I/O的概念和功能
(8)掌握Spooling系统的特点和原理
(9)理解缓冲的引入、缓冲的类型
(10)理解磁盘性能简述、磁盘调度各种算法
第七章 文件管理
1.内容概要
7.1 文件和文件系统
7.2文件的逻辑结构
7.3 文件目录
7.4 文件共享
7.5 文件保护
2.重点与难点
重点: 文件的逻辑结构和物理结构、目录管理、文件存储空间的管理、文件共享与保护
难点:目录管理,文件存储空间的管理:空闲表法、空闲链表法、位示图法、成组链接法
3.学习目的与要求
(1)了解文件、记录、数据项的基本概念、文件类型、文件系统模型、文件操作
(2)理解文件逻辑结构的类型、顺序文件、索引文件、顺序索引文件、直接文件、哈西文件。
(3)掌握内存分配方式:连续分配、连接分配、索引分配
(4)掌握FCB和索引结点、目录结构、目录查询技术
(5)理解利用索引结点的共享方式、利用符号链实现文件共享
(6)了解保护域和访问矩阵的概念
第八章 磁盘存储器的管理
1.内容概要
8.1 外存的组织方式
8.2 文件存储空间的管理
8.3 提高磁盘I/O速度的途径
8.4 提高磁盘可靠性的技术
8.5 数据一致性控制
2.重点与难点
重点: 外存组织形式,FAT和NTFS,提高磁盘I/O速度和可靠性的方法
难点:FAT和NTFS,文件存储空间管理方式
3.学习目的与要求
(1)掌握三种外存组织方式:连续组织方式、链接组织形式、索引组织形式。
(2)掌握和理解FAT和NTFS文件组织形式,并会计算。
(3)掌握文件存储空间的管理方式空闲表法、空闲链表法、位示图法、成组链接法
(4)了解提高磁盘I/O速度的方法
(5)了解事务、检查点、并发控制、重复数据的一致性问题
(6)了解提高磁盘可靠性的技术
第九章 操作系统接口
1.内容概要
9.1 用户接口
9.2 Shell命令语言
9.3 联机命令接口的实现
9.4 系统调用的概念和类型
9.5 UNIX系统调用
9.6 系统调用的实现
2.重点与难点
重点: 用户接口分类和联机命令,shell命令语言
难点:联机命令接口,Unix系统调用
3.学习目的与要求
(1)了解用户的接口和联机命令
(2)掌握简单的shell命令语言
(3)理解联机命令接口及的实现过程和原理
(4)了解系统调用的概念和类型
(5)了解简单的Unix系统调用和系统调用实现方法
四、学时分配
章 次 |
各教学环节学时分配 |
小计 |
讲授 |
实验 |
上机 |
习题 |
讨论 |
课外 |
备 注 |
第1章 操作系统引论 |
8 |
8 |
|
0 |
|
|
|
|
第2章 进程的描述与控制 |
21 |
16 |
|
5 |
|
|
|
|
第3章 处理机调度与死锁 |
14 |
12 |
|
2 |
|
|
|
|
第4章 存储器管理 |
9 |
8 |
|
1 |
|
|
|
|
第5章 虚拟存储器 |
6 |
4 |
|
2 |
|
|
|
|
第6章 输入输出系统 |
9 |
8 |
|
1 |
|
|
|
|
第7章 文件管理 |
7 |
4 |
|
3 |
|
|
|
|
第8章 磁盘存储器管理 |
10 |
8 |
|
2 |
|
|
|
|
第9章 操作系统接口 |
4 |
4 |
|
0 |
|
|
|
|
五、考核说明
考核方法:闭卷
成绩评定法法:平时成绩*40%+考试成绩*60%
六、主要教材及教学参考书目
(一)主要教材
计算机操作系统(第四版),汤小丹等编著,西安电子科技大学出版社,2014.5
(二)主要参考书目
计算机操作系统学习指导与题解(含实验)梁红兵,汤小丹编著,西安电子科技大学出版社,2015.3
计算机操作系统实验指导,郁红英,李春强编著,清华大学出版社,2008.9
“数据结构”教学大纲
制定人:公冶小燕 审核人:王玉田 批准人:倪建成
一、课程基本信息
开课单位:软件学院
课程名称:数据结构
课程编号:302006
英文名称:Data Structure
课程类型:专业基础课
学 时:总 学 时 88 理论学时 72 实验学时 16
学 分:5
开设专业:软件工程
先修课程:计算机程序设计基础(C/C++语言)
二、课程任务目标
(一)课程任务
在计算机科学中,数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象(数据元素)以及它们之间的关系和运算等的学科,而且确保经过这些运算后所得到的新结构仍然是原来的结构类型。它是计算机相关专业的专业基础必修课程,是软件课程中非常重要的一门课程,不仅在整个专业教学中占有十分重要的地位,同时也是计算机专业考研的必选科目。本课程主要介绍用计算进解决一系列问题时所用的各种组织数据的方法、存储数据结构的方法以及在各种数据结构上的操作的集合。它系统地介绍线性表、栈、队列、字符串、数组、树、二叉树、图、查找、排序等常用数据结构的基本概念、操作及其典型应用例子。
通过本课程的学习,一方面,使学生学会分析研究计算机加工的数据结构的特性,以便为应用涉及的数据选择适当的逻辑结构、存储结构及相应的算法,并初步了解对算法的时间分析和空间分析技术。另一方面,通过对本课程算法设计和上机实践的训练,还应培养学生的数据抽象能力和程序设计的能力。
(二)课程目标
本课程的主要目标是使学生深入了解数据结构的逻辑思想和实现方法。本课程旨在理论联系实际,教学与实践相呼应,课堂灵活地采取了编程、讨论、报告、实验等形式,激发学生的学习兴趣和主动参与精神,使学生理解原理,掌握方法,熟练应用,能够创造性地应用各种数据结构解决实际问题,提高学生的学习能力和编程能力。
在学完本课程之后,学生能够:
1.掌握数据结构的基本概念、基本原理和基本方法;
2.掌握数据的逻辑结构、存储结构及基本操作的实现,能够对算法进行基本的时间复杂度和空间复杂度的分析;
3.运用数据结构的基本原理和方法进行问题的分析与求解,具备采用C或C++语言设计与实现算法的能力。
三、教学内容和要求
(一)理论教学的内容及要求
第1章 概论
掌握数据结构的基本概念,了解抽象数据类型,掌握算法时间复杂度和空间复杂度的分析方法。
了解数据结构的逻辑结构、存储结构及数据运算三方面的要领及相互关系。要求了解各种基本概念和术语,掌握算法描述和分析的方法。
1数据结构的一些基本概念:数据、数据元素、数据的逻辑结构、物理结构等。数据结构的逻辑结构、存储结构及数据运算的含义及其相互关系。
2. 抽象数据类型的表示和实现。
3. 算法的概念和特性、时间复杂度和空间复杂度、最坏的和平均的时间复杂度等概念。算法的时间复杂度不仅仅依赖于问题的规模,也取决于输入实例的初始状态。算法描述和算法分析的方法,对于一般算法能分析出时间复杂度。
第2章 线性表
介绍线性表的逻辑结构和各种存储表示方法,以及定义在逻辑结构上的各种基本运算及其在存储结构上如何实现这些基本运算。讲解线性表的逻辑结构特性是数据元素之间存在着线性关系,在计算机中表示这种关系的两类不同的存储结构是顺序存储结构(顺序表)和链式存储结构(链表)。介绍这两类存储结构的描述方法,以及链表中的头结点、头指针和首元结点的区别及循环链表、双向链表的特点等。实现顺序表的查找、插入和删除算法,链表的查找、插入和删除算法。并且从时间和空间复杂度的角度比较两种存储结构的不同特点及其适用场合。
1. 线性表的类型定义。线性表是具有相同类型的数据元素的有限序列。
2. 线性表的顺序表示和实现。顺序表如何反映线性表中元素之间的逻辑关系,顺序表上的插入、删除、查找等操作及其平均时间性能分析。通常用一维数组实现顺序表。
3. 线性表的链式表示和实现。链表如何表示线性表中元素之间的逻辑关系,链表中头指针和头结点的使用。单链表、双链表、循环链表链接方式上的区别。单链表上实现的建表(头插法和尾插法)、查找、插入和删除等基本算法,并分析其时间复杂度。
4.顺序表和链表的主要优缺点。针对线性表上所需要执行的主要操作,知道选择顺序表还是链表作为其存储结构才能取得较优的时空性能。
5.线性表的应用,基于顺序表的大整数求和、基于单链表的一元多项式求和。
第3章 栈和队列
介绍栈和队列的逻辑结构定义及在两种存储结构上如何实现栈和队列的基本运算。要求在掌握栈和队列的特点的基础上,懂得在什么样的情况下能够使用栈或队列。掌握栈和队列在两种存储结构上实现的基本运算,循环队列中对边界条件的处理以及两栈共享存储空间时的判断条件。
1. 栈的类型定义,栈的顺序存储和链接存储的表示和实现。顺序栈和链栈上实现的进栈、退栈等基本算法。栈的"上溢"和"下溢"的概念及其判别条件,两栈共享存储空间时的入栈出栈操作以及栈满的判断条件。
2. 队列的类型,队列的顺序存储(循环队)和链接存储的表示和实现。顺序队列(主要是循环队列)和链队列上实现的入队、出队等基本算法。队列的"上溢"和"下溢"的概念及其判别条件。循环队列中对边界条件的处理方法。
3.栈和队列的特点,什么样的情况下能够使用栈或队列。表达式求值应该采用栈结构。
第4章 字符串和多维数组
了解串的逻辑结构、存储结构及其串上的基本运算,掌握串上实现的模式匹配算法,包括BF算法以及KMP算法。了解多维数组的逻辑结构特征、存储方式,以及数组的地址计算方法,掌握特殊矩阵(主要是指对称矩阵、三角矩阵、对角矩阵)和稀疏矩阵的压缩存储方法
1.串的有关概念及基本运算。
2.串的两种存储表示。串上实现的模式匹配算法(朴素的模式匹配算法和改进的模式匹配算法)及其时间性能分析。
3.多维数组的逻辑结构特征。多维数组的顺序存储结构(按行优先和按列优先)及地址计算方式。
4.特殊矩阵和稀疏矩阵的概念。特殊矩阵和压缩存储时的下标变换方法。稀疏矩阵的三元组和十字链表表示方法。
第5章 树和二叉树
介绍二叉树的定义、性质、存储结构、遍历、线索化;树的定义、存储结构、遍历、树和森林与二叉树的转换,哈夫曼树及哈夫曼编码、带权路径长度求解等内容。要求在熟悉这些内容的基础上,掌握二叉树的遍历算法及其有关应用,借助栈和队列实现二叉树的非递归遍历。
1.树的逻辑结构特征。树的常用术语及含义。树的不同表示方法。
2.二叉树的递归定义及树与二叉树的差别。特殊形态的二叉树,二叉树的性质,了解相应的证明方法。二叉树的两种存储方法(顺序存储和二叉链表)、特点及适用范围。
3.二叉树的三种遍历算法,理解其执行过程。确定三种遍历所得到的相应的结点访问序列。以遍历算法为基础,设计有关算法解决简单的应用问题。
4.二叉树线索化的目的及实质。在中序线索树中查找给定结点的中序前趋和中序后继的方法。查找给定结点的前趋和后序后继并非有效的原因。
5.树和森林与二叉树之间的转换方法。树的各种存储结构及其特点。树的两种遍历方法。
6. 树的应用。最优二叉树和最优前缀码的概念及特点。哈夫曼算法的思想。根据给定的叶结点及其权值构造出相应的最优二叉树。根据最优二叉树构造对应的哈夫曼编码。
第6章 图
介绍图的基本概念及相关术语和性质、常用的邻接矩阵和邻接表表示法、主要的深度优先遍历和广度优先遍历算法以及图的应用算法,特别是求最小生成树,求最短路径以及拓扑排序,要求学生掌握这些算法的基本思想及时间性能。
1. 图的定义和术语。图的逻辑结构特征、常用术语及含义。
2. 图的存储结构两种存储结构:邻接矩阵和邻接表表示法。邻接矩阵和邻接表这两种存储结构的特点及适用范围。根据应用问题的特点和要求选择合适的存储结构。
3. 图的两种遍历策略:深度优先搜索和广度优先搜索。连通图及非连通图的深度优先搜索和广度优先搜索两种遍历算法,其执行过程以及时间分析。
4. 构造最小生成树的两种算法:普里姆算法和克鲁斯卡尔算法。生成树的最小生成树的概念。对遍历给定的图,画出深度优先和广度优先生成树或生成森林。Prim和Kruskal算法的基本思想、时间性能及这两种算法各自的特点。
5. 两类求最短路径问题的算法,迪杰斯特拉算法和弗洛伊德算法。最短路径的含义。求单源最短路径的Dijkstra算法的基本思想和时间性能。对于给定的有向图,根据Dijkstra算法画出求单源最短路径的过程示意图。了解弗洛伊德算法。
6. 拓扑排序和关键路径。拓扑排序的基本思想和步骤、拓扑排序不成功的原因。对给定的有向图,若拓扑序列存在,则要求写出一个或多个拓扑序列。
第7章 查找
熟练掌握顺序表和有序表的查找方法及其实现,掌握二叉排序树的插入和查找算法及其实现,了解平衡二叉树、B-树和B+树的各种操作。熟练掌握散列表的构造方法、处理冲突的方法,深刻理散列表与其他结构的表的实质性的差别,了解各种散列函数的特点。掌握描述折半查找过程的判定树的构造方法,以及按定义计算各种查找方法在等概率情况下查找成功时的平均查找长度。
1. 查找的基本概念,平均查找长度。
2. 基于线性表的查找:顺序查找、折半查找。顺序查找、折半查找的基本思想、算法实现和查找效率分析。顺序查找中哨兵的作用。折半查找对存储结构及关键字的要求。通过比较线性表上两种查找方法的优缺点,能根据实际问题的要求和特点,选择出合适的查找方法。
3. 基于树表的查找:二叉排序树、平衡二叉树。树表的查找思想、算法实现和查找效率分析,理解二叉排序树和平衡二叉树的定义和特点以及用途。掌握二叉排序树的插入、删除、建树和查找性能分析。
4. 散列表:散列表的基本概念,几种常用的散列函数的构造方法、处理冲突的方法、散列表的查找与分析。散列函数的选取原则及产生冲突的原因。两类解决冲突的方法及其优缺点。产生"堆积"现象的原因。采用线性控测法和拉链法解决冲突时,散列表的建表方法、查找过程以及算法实现和时间分析。散列表和其它表的本质区别。
第8章 排序
明确排序的基本概念,排序方法的分类。深刻理解排序算法的过程、特点及其依据的原则,并能加以灵活应用。掌握各种排序方法的时间和空间复杂度的分析方法。能从关键字间的比较次数和移动次数分析算法的平均情况和最坏情况的时间性能。理解排序方法“稳定”或“不稳定”的含义,弄清楚在什么情况下要求应用的排序方法必须是稳定的。快速排序、堆排序和归并排序等高效排序方法是本章的学习重点和难点。
1. 排序的基本概念,包括正序,逆序,稳定性,排序方法的分类。
2. 插入排序:直接插入排序、折半插入排序和希尔排序。各排序算法的基本思想和算法实现,以及在最好、最坏和平均情况下的时间性能分析。直接插入排序中哨兵的作用。针对给定的输入实例,要能写出直接插入排序的排序过程。
3. 交换排序:冒泡排序和快速排序。冒泡排序的基本思想。快速排序的基本思想和算法实现,以及在最坏和平均情况下的时间性能分析,了解算法的稳定性。基准元素(划分元)对划分是否平衡的影响。针对给定的输入实例,能写出快速排序的排序过程。
4. 选择排序:简单选择排序和堆排序。简单选择排序的算法思想和算法实现,以及时间性能分析。。堆、小根椎 、大根堆、堆顶等有关概念和定义。堆性质及堆与完全二叉树的关系。针对给定的输入实例,写出堆排序的排序过程。
5. 归并排序:2-路归并排序。归并排序的基本思想和算法实现,以及时间性能分析。针对给定的输入实例,能写出归并排序的排序过程。
6. 分配排序:分配排序是基于分配和收集的排序方法,其基本思想是:先将待排序记录分配到不同的桶里,然后再把各桶中的记录依次收集到一起。主要介绍捅式排序和基数排序。
6. 排序算法分析:通过对被排序的记录数目、记录信息量的大小、关键字的结构及初始状态、稳定性要求、辅助空间的大小、各种时间性能等方面的比较掌握各种排序的优缺点。根据实际问题的特点和要求选择合适的排序方法。
第9章 索引技术
介绍索引的基本概念以及线性索引技术和树形索引技术,要求对这些内容做一般性的了解。
1.了解索引的基本概念及相关术语。索引的分类:静态索引和动态索引、线性索引和树形索引、多级索引。
2.理解线性索引技术。稠密索引、分块索引、多重表、倒排表的思想。
3.掌握树形索引技术,B树的定义和特点以及用途。B树的插入、删除、建树和查找算法及时间性能。
(二)实践教学的内容及要求
1.线性表
理解顺序表的定义和单链表的定义,掌握线性表的单链表的实现方法,实现顺序表和单链表的创建、查询、删除、插入等操作。实现单链表在一元多项式求和中的应用。
2.栈和队列
掌握顺序栈(链栈)的定义及实现算法。
掌握顺序队列(链队列)的定义及实现算法。
3.字符串
掌握字符串朴素模式匹配算法。
掌握字符串改进的模式匹配算法。
4. 二叉树
掌握二叉树的创建、遍历及实现算法。
5. 图
掌握用邻接矩阵表示图的方法。
掌握用邻接表表示图的方法。
6.图的应用
掌握图的最小生成树算法思想和实现。
掌握图的最短路径算法思想和实现。
7. 二叉排序树
掌握用二叉链表实现二叉排序树的建立和遍历的算法。
8. 各种排序算法的比较
设计并实现至少三种排序算法,比较算法的时间性能
四、学时分配
章 次 |
各教学环节学时分配 |
小计 |
讲授 |
实验 |
上机 |
习题 |
讨论 |
课外 |
备 注 |
第1章 绪论 |
4 |
4 |
|
|
|
|
|
|
第2章 线性表 |
10 |
8 |
|
2 |
2 |
|
|
|
第3章 栈和队列 |
8 |
6 |
|
2 |
2 |
|
|
|
第4章 字符串和多维数组 |
6 |
6 |
|
2 |
|
|
|
|
第5章 树和二叉树 |
14 |
12 |
|
4 |
2 |
|
|
|
第6章 图 |
14 |
12 |
|
2 |
2 |
|
|
|
第7章 查找技术 |
6 |
6 |
|
2 |
|
|
|
|
第8章 排序技术 |
6 |
6 |
|
2 |
|
|
|
|
第9章 索引技术 |
4 |
4 |
|
|
|
|
|
|
合 计 |
72 |
64 |
|
16 |
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
五、考核说明
本课程考试采取期末闭卷考试(占70%)、实验考核(占20%)、平时考核(占10%)相结合的方式进行。其中,闭卷考试主要考查数据结构的基本概念、基本理论和基本知识,,考试题型为:选择、填空、判断、应用题和算法设计题,测试学生对基础知识的理解、判断、分析、综合应用等能力;实验考核主要综合考查实验的出勤率、完成情况、课程设计等;平时考查主要综合考虑上课的出勤率、作业情况等。
六、主要教材及教学参考书目
(一)主要教材
1.《数据结构(C++版)》,王红梅主编,清华大学出版社,2016年。
2.《数据结构(C++版)学习辅导与实验指导》,王红梅主编,清华大学出版社,2016年。
(二)主要参考书目
1.《数据结构》(C语言版),严蔚敏、吴伟民. 清华大学出版社,2016年.
2.《数据结构习题集》(C语言版),严蔚敏等,清华大学出版社,2016年.
3. 《数据结构(用面向对象方法与C++描述)》,殷人昆主编.北京:清华大学出版社,2012年.
“基于C#的WinForm程序设计”教学大纲
制定人:齐苏敏 审核人:王玉田 批准人:倪建成
一、课程基本信息
开课单位:软件学院
课程名称:基于C#的WinForm程序设计
课程编号:3040081
英文名称:C# based Winform Programming
课程类别:专业任选课
学 时:总学时 68 理论学时 36 实践学时 32
学 分:4
开设专业:软件工程(外包)
先修课程:C语言程序设计、数据库系统概论
二、课程任务目标
(一)课程任务
本课程是计算机软件专业的一门重要的编程类专业课。 C#语言是针对网络技术应用而开发的语言,课程的教学目的是培养学生使用 NET 平台开发网络应用程序的能力,主要教学内容以应用为主,以语法介绍为辅,主要包括 C#语言基本语法、面向对象编程方、 C#开发 Windows 应用程序等。
(二)课程目标
1 知识目标
1) 掌握程序设计的基本理论、方法和应用。
2) 了解高级程序设计的基本知识,掌握高级程序设计的基本方法。
3) 掌握高级程序设计国家标准的有关基本规定,会查阅有关国家标准和手册,养成严格遵守和执行有关国家标准的各项规定的良好习惯。
2技能目标
1) 能够较正确而熟练地 VC# 进行程序的设计。
2) 所写的程序能够完整清晰。
3) 能够识读和编写较复杂程度的程序。
3素质目标
1) 养成认真负责的工作态度和一丝不苟的工作作风。
2) 培养创新能力。
3) 培养发现问题、分析问题和解决问题的能力
三、教学内容和要求
第1章 C#概述
1.了解.NET框架的结构
2.理解CLR、JIT、CTS、IL概念
3.了解C#语言的特点以及与.NET框架的联系
4.掌握C#程序的结构
难点:.NET框架的结构
重点:CLR、JIT、CTS、IL概念。
第2章 C#语言基础
1.掌握C#的数据类型
2.掌握变量和常量的定义
3.熟练使用分支语句和循环语句
4.熟练使用数组
难点:分支语句和循环语句。
重点:数组。
第3章 窗体和常用控件
1.了解.NET Framework对GUI的支持
2.掌握控件的基本属性和事件
3.掌握窗体的创建和使用
4.掌握Button控件的使用
5.掌握Label控件的使用
6.掌握文本控件的使用
7.掌握选择控件的使用
8.掌握PictureBox控件的使用
9.掌握容器控件的使用
难点:控件的使用。
重点:控件的基本属性和事件。
第4章 界面设计
1.了解界面设计风格
2.了解菜单的种类
3.掌握主菜单的创建和设置
4.掌握工具栏的创建和应用
5.掌握状态栏的使用
6.熟悉MDI界面设计
难点:工具栏的、状态栏的使用。
重点:主菜单的创建和设置。
第5章 面向对象程序设计
1.了解面向对象的编程思想
2.了解类和对象的关系
3.掌握C#中面向对象的实现方式
4.掌握创建类的步骤
5.掌握类的实例化
6.掌握继承和多态
7.掌握this、base关键字的使用
难点:继承和多态。
重点:C#中面向对象的实现方式。
第6章 ADO.NET数据库访问
1.掌握ADO.NET的原理与结构
2.掌握Connection类的使用
3.掌握Command类的使用
4.掌握DataReader类的使用
5.掌握DataAdapter类的使用
6.掌握DataSet、DataTable、DataRow的使用
7.掌握以断开连接和连接的方式操作数据库
难点:ADO.NET的原理与结构。
重点:以断开连接和连接的方式操作数据库。
第7章 数据绑定和操作
1.熟练配置数据源
2.熟练使用数据控件DataGridView显示数据
3.掌握数据的查询过滤
4.掌握数据的添加
5.掌握数据的修改
6.掌握数据的删除
难点:数据的添加、修改。
重点:数据的查询过滤。
第8章 文件处理
1.了解文件的概念及分类
2.了解使用C#访问文件的方式
3.熟悉System.IO命名空间的成员
4.掌握使用Directory、File、Path类操作文件及目录
5.掌握使用FileStream类读写文件
6.掌握使用StreamReader、StreamWriter类读写文本文件
7.掌握使用BinaryReader、BinaryWriter类读写二进制文件
难点:BinaryReader、BinaryWriter类读写二进制文件。
重点:使用Directory、File、Path类操作文件及目录。
第9章 多线程应用程序
1.了解进程、线程和应用程序域的概念
2.掌握Thread类的属性和方法
3.掌握线程的创建和使用
4.了解线程的状态及其相互之间的转换
5.了解线程池的概念
6.熟悉BackgroundWorker和Timer控件的使用
难点:线程的状态及其相互之间的转换。
重点:线程的创建和使用。
第10章 .NET4.0新特性
1.掌握推断类型的使用
2.掌握扩展方法的定义和调用
3.掌握对象初始化器的使用
4.掌握匿名类的使用
5.了解Lambda表达式
6.掌握使用LINQ查询
7.新关键词dynamic
8.可选(或)默认参数
9.命名参数
难点:LINQ查询。
重点:Lambda表达式。
四、学时分配
章 次 |
各教学环节学时分配 |
小计 |
讲授 |
实验 |
上机 |
习题 |
讨论 |
课外 |
备 注 |
第1章 C#概述 |
6 |
3 |
3 |
|
|
|
|
|
第2章 C#语言基础 |
6 |
3 |
3 |
|
|
|
|
|
第3章 窗体和常用控件 |
9 |
6 |
3 |
|
|
|
|
|
第4章 界面设计 |
9 |
6 |
3 |
|
|
|
|
|
第5章 面向对象程序设计 |
6 |
3 |
3 |
|
|
|
|
|
第6章 ADO.NET数据库访问 |
14 |
9 |
5 |
|
|
|
|
|
第7章 数据绑定和操作 |
12 |
9 |
3 |
|
|
|
|
|
第8章 文件处理 |
9 |
6 |
3 |
|
|
|
|
|
第9章 多线程应用程序 |
9 |
6 |
3 |
|
|
|
|
|
第10章 .NET4.0新特性 |
9 |
3 |
3 |
|
|
|
|
|
合 计 |
86 |
54 |
32 |
|
|
|
|
|
五、考核说明
考核方法:闭卷
成绩评定法法:平时成绩
考试成绩
六、主要教材及教学参考书目
(一)主要教材
1.青岛英谷教育科技股份有限公司,Winform程序设计与实践,西安电子科技大学出版社,2015年8月。
(二)主要参考书目
1.马骏等,C#程序设计及应用教程(第2版),人民邮电出版社,2009年。
2.钱哨,李挥剑,李继哲 著,C# WinForm 实践开发教程,水利水电出版社,2010年。
“计算机网络原理”课程教学大纲
制定人:姜蓝蓝 审核人:王玉田 批准人:倪建成
一、课程基本信息
开课单位:软件学院
课程名称:计算机网络原理
课程编号:302007
英文名称:Principle of Computer Network
课程类型:专业基础课
总 学 时: 70 理论学时: 54 实验学时:16
学 分:4
开设专业:软件工程
先修课程:计算机导论、计算机组成原理、操作系统、数据结构
二、课程任务目标
(一)课程任务
本课程是软件工程专业的基础课,也是软件工程专业学生掌握网络理论基础和基本应用的入门课程。本课程的主要任务是从理论角度讲授计算机网络的基础知识和主流技术,包括计算机网络的组成、体系结构及协议、局域网标准及主流局域网技术、广域网、网络互连技术,常见网络设备的工作原理及应用等。
(二)课程目标
本课程通过理论学习和实验练习,使学生理解计算机网络的层次体系结构中各个层次的功能及网络协议的运行原理,了解常见网络设备的工作原理,利用基本的网络原理分析网络行为,按照协议所涉及的算法了解网络系统的工作过程。同时,在掌握理论的基础上培养学生初步的网络设计,为进一步学习后续课程,培养对计算机网络系统的认知、设计与应用开发能力奠定良好的基础。
三、教学内容和要求
(一)理论教学的内容及要求
第1章 概述
1.1 计算机网络在信息时代中的作用
1.2 因特网概述
1.2.1 网络的网络
1.2.2 因特网发展的三个阶段
1.2.3 因特网的标准化工作
1.3 因特网的组成
1.3.1 因特网的边缘部分
1.3.2 因特网的核心部分
1.4 计算机网络在我国的发展
1.5 计算机网络的类别
1.5.1 计算机网络的定义
1.5.2 几种不同类别的网络
1.6 计算机网络的性能
1.6.1 计算机网络的性能指标
1.6.2 计算机网络的非性能特征
1.7 计算机网络体系结构
1.7.1 计算机网络体系结构的形成
1.7.2 协议与划分层次
1.7.3 具有五层协议的体系结构
1.7.4 实体、协议、服务和服务访问点
1.7.5 TCP/IP的体系结构
了解:计算机网络的发展过程。
理解:计算机网络的概念及其分类方法。
掌握:计算机网络的组成、性能指标、体系结构,ISO/OSI参考模型,TCP/IP模型,数据在各层中的传递过程,逻辑通信。
第2章 物理层
2.1 物理层的基本概念
2.2 数据通信的基础知识
2.2.1 数据通信系统的模型
2.2.2 有关信道的几个基本概念
2.2.3 信道的极限容量
2.3 物理层下面的传输媒体
2.3.1 导向传输媒体
2.3.2 非导向传输媒体
2.4 信道复用技术
2.4.1 频分复用、时分复用和统计时分复用
2.4.2 波分复用
2.4.3 码分复用
2.5 数字传输系统
2.6 宽带接入技术
2.6.1 xDSL技术
2.6.2 光纤同轴混合网(HFC网)
2.6.3 FTTx技术
了解:物理层下的传输媒体、数字传输系统和宽带接入技术。
理解:物理层的概念、数据通信模型、物理层的标准。
掌握:数据通信的基本概念、信道最高码元传输速率的计算、信道最高传输速率的计算、信道复用技术。
第3章 数据链路层
3.1 使用点对点信道的数据链路层
3.1.1 数据链路和帧
3.1.2 三个基本问题
3.2 点对点协议PPP
3.2.1 PPP协议的特点
3.2.2 PPP协议的帧格式
3.2.3 PPP协议的工作状态
3.3 使用广播信道的数据链路层
3.3.1 局域网的数据链路层
3.3.2 CSMA/CD协议
3.4 使用广播信道的以太网
3.4.1 使用集线器的星形拓扑
3.4.2 以太网的信道利用率
3.4.3 以太网的MAC层
3.5 扩展的以太网
3.5.1 在物理层扩展以太网
3.5.2 在数据链路层扩展以太网
3.6 高速以太网
3.6.1 100BASE-T以太网
3.6.2 吉比特以太网
3.6.3 10吉比特以太网
3.6.4 使用高速以太网进行宽带接入
3.7 其他类型的高速局域网或接口
了解:扩展以太网和高速以太网技术。
理解:数据链路层的概念、功能及主要任务,点对点信道、广播信道和以太网的特性。
掌握:点对点数据链路层的三个基本问题、PPP协议、CSMA/CD协议。
第4章 网络层
4.1 网络层提供的两种服务
4.2 网际协议IP
4.2.1 虚拟互连网络
4.2.2 分类的IP地址
4.2.3 IP地址与硬件地址
4.2.4 地址解析协议ARP和逆地址解析协议RARP
4.2.5 IP数据报的格式
4.2.6 IP层转发分组的流程
4.3 划分子网和构造超网
4.3.1 划分子网
4.3.2 使用子网时分组的转发
4.3.3 无分类编址CIDR(构造超网)
4.4 网际控制报文协议ICMP
4.4.1 ICMP报文的种类
4.4.2 ICMP的应用举例
4.5 因特网的路由选择协议
4.5.1 有关路由选择协议的几个基本概念
4.5.2 内部网关协议RIP
4.5.3 内部网关协议OSPF
4.5.4 外部网关协议BGP
4.5.5 路由器的构成
4.6 IP多播
4.6.1 IP多播的基本概念
4.6.2 在局域网上进行硬件多播
4.6.3 网际组管理协议IGMP和多播路由选择协议
4.7 虚拟专用网VPN和网络地址转换NAT
4.7.1 虚拟专用网VPN
4.7.2 网络地址转换NAT
了解:IP多播、虚拟专用网和网络地址转换。
理解:数据报和虚电路服务、虚拟互联网、逆向地址解析协议、网际报文控制协议和路由协议的基本概念。
掌握:分类IP、划分子网、构造超网、ARP协议、IP协议、内部网关协议(RIP协议、OSPF协议)和外部网关协议(BGP协议)。
第5章 运输层
5.1 运输层协议概述
5.1.1 进程之间的通信
5.1.2 运输层的两个主要协议
5.1.3 运输层的端口
5.2 用户数据报协议UDP
5.2.1 UDP概述
5.2.2 UDP的首部格式
5.3 传输控制协议TCP概述
5.3.1 TCP最主要的特点
5.3.2 TCP的连接
5.4 可靠传输的工作原理
5.4.1 停止等待协议
5.4.2 连续ARQ协议
5.5 TCP报文段的首部格式
5.6 TCP可靠传输的实现
5.6.1 以字节为单位的滑动窗口
5.6.2 超时重传时间的选择
5.6.3 选择确认SACK
5.7 TCP的流量控制
5.7.1 利用滑动窗口实现流量控制
5.7.2 必须考虑传输效率
5.8 TCP的拥塞控制
5.8.1 拥塞控制的一般原理
5.8.2 几种拥塞控制方法
5.9 TCP的运输连接管理
5.9.1 TCP的连接建立
5.9.2 TCP的连接释放
5.9.3 TCP的有限状态机
了解:网络拥塞产生的原因,拥塞控制的常用算法。
理解:传输层在TCP/IP体系结构中所处的地位,差错控制机制,端口的概念,端到端通信,面向连接和无连接的概念,UDP数据报文格式,TCP数据报文格式,可靠和不可靠传输。
掌握:基于滑动窗口的可靠传输机制,面向链接的链接建立和释放,可变长度滑动窗口的流量控制机制,拥塞控制原理和算法,ARQ协议和连续ARQ协议。
第6章 应用层
6.1 域名系统DNS
6.1.1 域名系统概述
6.1.2 因特网的域名结构
6.1.3 域名服务器
6.2 文件传送协议
6.2.1 FTP概述
6.2.2 FTP的基本工作原理
6.2.3 简单文件传送协议TFTP
6.3 远程终端协议TELNET
6.4 万维网WWW
6.4.1 万维网概述
6.4.2 统一资源定位符URL
6.4.3 超文本传送协议HTTP
6.4.4 万维网的文档
6.5 电子邮件
6.5.1 电子邮件概述
6.5.2 简单邮件传送协议SMTP
6.5.3 电子邮件的信息格式
6.5.4 邮件读取协议POP3和IMAP
6.5.5 基于万维网的电子邮件
6.5.6 通用因特网邮件扩充MIME
6.6 动态主机配置协议DHCP
了解:DNS应用,FTP,电子邮件和WWW应用。
理解:C/S模型和P2P模型的架构、区别和它们之间的联系等。
掌握:重点掌握DNS的树状层次结构和解析过程,FTP协议的控制链接和数据链接,Email的SMTP、Pop3协议,WWW的HTTP协议、同一资源定位(URL)、HTML和查找文档。
第7章 无线网络
7.1 无线局域网
7.1.1 无线局域网的组成
7.1.2 802.11局域网的物理层
7.1.3 802.11局域网的MAC层协议
7.1.4 802.11局域网的MAC帧
了解:802.11无线局域网常用标准
理解:CSMA/CA协议与CSMA/CD协议的区别,无线局域网组网
掌握:CSMA/CA协议的工作原理,无线局域网退避算法,802.11数据MAC帧格式及使用的几种地址
(二)实践教学的内容及要求
1.RJ-45头的制作 使学生掌握交叉线和直通线的制作
掌握网线的制作方法,熟悉T568/A、T568/B的线序。
2.交换机的基本配置
了解交换机的结构及基本配置命令,掌握超级终端登陆交换机,配置登陆口令及管理地址。
3.交换机的VLAN配置
理解VLAN的技术及工作原理,掌握在二层交换机上端口的VALN划分。
4.三层交换机的路由端口实现
掌握三层交换机的基本配置及如何激活路由协议,按照要求实现不同VLAN间的通信。
5.路由器的基本配置
了解路由器的基本结构和功能,掌握路由器的配置方式和路由器的基本配置命令。
6.静态路由的配置
理解静态路由的原理及特点。掌握通过静态路由方式实现不同网络的连通性。
7.动态路由的配置
理解RIP和OSPF协议的原理及特点。掌握通过RIP及OSPF实现不同网络的连通性。
8. 无线局域网组网
了解无线局域网的特点,掌握通过无线路由器实现无线局域网组网方式。
四、学时分配
章 次 |
各教学环节学时分配 |
小计 |
讲授 |
实验 |
上机 |
习题 |
讨论 |
课外 |
备 注 |
第1章: 概述 |
6 |
6 |
|
|
|
|
|
|
第2章:物理层 |
8 |
6 |
2 |
|
|
|
|
|
第3章:数据链路层 |
14 |
8 |
|
6 |
|
|
|
|
第4章:网络层 |
20 |
14 |
|
6 |
|
|
|
|
第5章:运输层 |
10 |
10 |
|
|
|
|
|
|
第6章:应用层 |
6 |
6 |
|
|
|
|
|
|
第7章:无线网络 |
6 |
4 |
|
2 |
|
|
|
|
合 计 |
70 |
54 |
2 |
14 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
五、考核说明
为加强学生对计算机网络的基本概念的理解和主要基础知识的掌握,每章学习后都要适当的布置一些课后作业和思考题加深学生们对知识点的理解。从作业中了解学生普遍存在的问题或疑难问题,并进行答疑。加强平时课堂表现和学生实验技能的考核。本课程的考核方法分为:笔试、实验和平时作业三个部分,其中,笔试占60%,实验占20%,作业占20%。
六、主要教材及教学参考书目
(一)主要教材
1.谢希仁著《计算机网络(第七版)》,电子工业出版社,2017年。
(二)主要参考书目
1.Andrew S.Tanenbaum著,熊桂喜,王小虎译 《计算机网络(第五版)》,清华大学出版社,2012年。
2.Douglas E. Comer 著,《Computer Networks and Internets (Fifth Edition)》,清华大学出版社,2010年。
3.James F.Kurose, Keith W.Ross著,陈鸣译,《计算机网络:自顶向下方法(第4版)》,机械工业出版社,2011年。
“云计算与虚拟化技术”教学大纲
制定人:姜海涛 审核人:王玉田 批准人:倪建成
一、课程基本信息
开课单位:软件学院
课程名称:云计算与虚拟化技术
课程编号:304034
英文名称:Cloud computing and virtualization technology
课程类别:专业拓展课程
学 时:总学时 52 理论学时 36 实验学时 16
学 分:3
开设专业:软件工程
先修课程:操作系统(302020)、计算机网络原理(302007)
二、课程任务目标
(一)课程任务
本课程是工科软件工程专业拓展课。课程以云计算环境下的虚拟化应用为中心,侧重于虚拟化硬件配置、资源限制及系统管理等方面的实用技能培养,旨在为搭建一个完整实用的虚拟化环境提供完备的理论基础和实践指导。本课程的任务是使学生可以了解虚拟化技术的背景和原理,掌握KVM下创建虚拟机的方法、掌握CPU和内存虚拟化、资源限制和分布式文件系统的应用方法,了解网络虚拟化与存储虚拟化的相关方法,掌握Docker的使用方法和技巧,对虚拟化技术拥有一定的理解和实践能力。
(二)课程目标
在学完本课程之后,学生能够:
理解虚拟化技术的原理、特点和实现方式。
了解云计算的实现模式。
3. 掌握KVM虚拟化技术的应用,包括创建虚拟机、CPU虚拟化、内存虚拟化、网络虚拟化、存储虚拟化、虚拟机资源限制、分布式文件系统管理、虚拟机管理。
4. 掌握Docker容器化技术的应用,包括镜像的管理、容器的基本操作、创建私有仓库、容器互联和网络配置、Docker数据管理。
5. 了解Docker Compose、Docker Swarm、Mesos的基本用法。
三、教学内容和要求
第1章 云计算与虚拟化概论
教学内容
1.1 虚拟化简介
1.2 云计算简介
学习目的和要求
了解虚拟化的原理和特点
了解虚拟化的实现层次
了解常用的虚拟化软件
了解容器虚拟化
了解IaaS、PaaS、SaaS的概念和不同
了解主流的云平台
了解几种流行的开源IaaS云平台
第2章 创建KVM虚拟机
教学内容
2.1 KVM技术简介
2.2 安装前准备
2.3 创建虚拟机
2.4 克隆虚拟机
学习目的和要求
了解KVM的组成、获取和作用
了解KVM相关软件的安装方法
掌握VNC在不同宿主机上的安装方法
掌握KVM虚拟机的创建方法
熟练应用图形界面创建虚拟机
了解使用命令行方式创建虚拟机
第3章 CPU虚拟化
教学内容
3.1 多CPU技术发展简介
3.2 KVM虚拟机的NUMA优化
3.3 配置CPU
3.4 host-passthrongh技术
3.5 使用Nested创建嵌套虚拟机
学习目的和要求
了解SMP、MPP、NUMA技术的特点和不同点
了解NUMA技术在KVM CPU虚拟化中的应用
了解查看CPU状态的命令
了解将CPU分配给虚拟机的方法
了解在线添加虚拟机CPU的方法
了解嵌套创建虚拟机的方法
第4章 内存虚拟化
教学内容
4.1 KSM技术
4.2 内存气球
4.3 内存限制
4.4 巨型页
学习目的和要求
了解内存虚拟化技术
掌握KSM的使用方法
掌握内存气球的原理
掌握内存气球膨胀和收缩的概念
掌握Windows虚拟机内存气球驱动程序的安装方法
掌握调整内存气球的命令
掌握内存限制的方法
掌握巨型页的配置方法
第5章 网络虚拟化
教学内容
5.1 半虚拟化网卡技术
5.2 PCI Passthrough功能
5.3 Open vSwitch的安装与配置
学习目的和要求
了解网络虚拟化
了解全虚拟化网卡和半虚拟化网卡的区别
掌握Virtio驱动的安装方法
掌握Virtio网卡的原理
了解网卡的PCI Passthrough功能配置方法
了解虚拟化交换机的安装与配置方法
第6章 存储虚拟化
教学内容
6.1 硬盘虚拟化的类型及缓存模式
6.2 虚拟机镜像管理
学习目的和要求
了解存储虚拟化技术
了解可模拟的硬盘类型
了解主要的缓存模式
了解主要的镜像格式
掌握虚拟化镜像文件的配置方法
了解差量后备镜像
了解镜像管理命令的使用方法
第7章 资源限制
教学内容
7.1 Cgroups基础
7.2 CPU资源限制
7.3 内存资源限制
7.4 硬盘资源限制
学习目的和要求
了解资源限制的特点和作用
了解子系统、层级等概念
掌握Cgroups的安装方法
掌握资源限制的相关命令
熟练使用限制资源的命令(限制CPU、内存、硬盘等资源)
第8章 分布式文件系统管理
教学内容
8.1 GlusterFS文件系统
8.2 MooseFS文件系统
8.3 Ceph文件系统
8.4 几种文件系统的对比
学习目的和要求
了解分布式文件系统
了解GlusterFS、MooseFS、Ceph三种文件系统各自的特点
了解GlusterFS各种卷的特点和配置方法
了解三种文件系统各自的安装方法
了解三种文件系统各自的部署
了解三种文件系统的异同
第9章 管理虚拟机
教学内容
9.1 虚拟机的迁移
9.2 虚拟机镜像的制作
学习目的和要求
了解虚拟机静态迁移和动态迁移的概念
掌握虚拟机静态迁移和动态迁移的方法
了解制作物理机到虚拟机迁移的工具
掌握物理机到虚拟机迁移的方法
了解制作虚拟机镜像的意义
掌握制作虚拟机镜像的方法
第10章 Docker应用
教学内容
10.1 Docker简介
10.2 Docker的安装
10.3 镜像
10.4 容器
10.5 仓库
10.6 容器互联和网络配置
10.7 Docker数据管理
10.8 Docker应用案例
学习目的和要求
了解容器虚拟化技术
了解Docker的背景和作用,以及与其他虚拟机的区别及优势
掌握Docker相关的镜像、容器、仓库等概念
掌握Docker的相关命令
熟练掌握创建镜像的方法
掌握容器和仓库的应用
第11章 Docker高级应用
教学内容
11.1 添加SSH服务
11.2 Docker Compose的安装和使用
11.3 Docker Swarm的使用
11.4 Mesos集群调度平台
学习目的和要求
了解在Docker容器内安装SSH的方法
掌握Docker Compose、Swarm、Mesos集群的相关概念
了解Docker Compose的命令格式
使用Docker Compose创建容器
掌握Docker Swarm配置文件的路径和配置方法
搭建Docker Swarm环境,启动容器
掌握Docker Mesos配置文件的路径和配置方法
搭建Docker Mesos环境,启动容器
四、学时分配
章 次 |
各教学环节学时分配 |
小计 |
讲授 |
实验 |
上机 |
习题 |
讨论 |
课外 |
备 注 |
第1章 云计算与虚拟化概论 |
2 |
2 |
0 |
|
|
|
|
|
第2章 创建KVM虚拟机 |
6 |
4 |
2 |
|
|
|
|
|
第3章 CPU虚拟化 |
3 |
2 |
1 |
|
|
|
|
|
第4章 内存虚拟化 |
3 |
2 |
1 |
|
|
|
|
|
第5章 网络虚拟化 |
3 |
2 |
1 |
|
|
|
|
|
第6章 存储虚拟化 |
5 |
4 |
1 |
|
|
|
|
|
第7章 资源限制 |
5 |
4 |
1 |
|
|
|
|
|
第8章 分布式文件系统管理 |
6 |
4 |
2 |
|
|
|
|
|
第9章 管理虚拟机 |
4 |
2 |
2 |
|
|
|
|
|
第10章 Docker应用 |
10 |
6 |
4 |
|
|
|
|
|
第11章 Docker高级应用 |
5 |
4 |
1 |
|
|
|
|
|
五、考核说明
考核方法:考查
成绩评定法法:平时成绩
实验成绩
六、主要教材及教学参考书目
(一)主要教材
云计算与虚拟化技术,青岛英谷教育科技股份有限公司编著,西安电子科技大学出版社,2018.2
(二)主要参考书目
深度实践KVM:核心技术、管理运维、性能优化与项目实施,肖力,汪爱伟,杨俊俊,赵德禄著,机械工业出版社,2015.9
Docker技术入门与实践,杨保华,戴王剑,曹亚仑编著,机械工业出版社,2017.3
“云计算与大数据概论”课程教学大纲
制定人:周子力 审核人:王玉田 批准人:倪建成
一、课程基本信息
开课单位:软件学院
课程名称:云计算与大数据概论
课程编号:303113
英文名称:Cloud computing and large data introduction
课程类型:专业核心课
总 学 时:52 理论学时:36 实验学时:16
学 分:3
开设专业:软件工程
先修课程:数据库原理、高级程序设计语言、Linux操作系统、计算机网络
二、课程任务目标
(一)课程任务
云计算和大数据时代已经到来,云计算已成为IT行业的主流技术。本课程旨在使学生更好地认识和了解云计算和大数据的基本知识,对云计算技术、云计算平台的体系架构、常用的大数据技术、Hadoop开发平台的基本组成以及MapReduce的原理及应用、HBase的原理及应用等内容进行了解和认识。有利于学生在学完本课程之后能够有助于为学生打下云计算和大数据的知识基础,为后续课程的学习、以后的工作和深造打好知识基础。
(二)课程目标
本课程旨在通过课堂讲授及实验教学,使学生了解云计算与大数据的基本知识,了解国内外云计算与大数据的发展,掌握云计算与大数据的特点与作用。了解虚拟化技术的概念和发展史,分布式文件系统的架构和原理。理解Google核心云平台技术的体系架构。了解大数据应用系统架构以及关键的大数据技术。理解Hadoop的发展史、功能及作用、基本组件。理解MapReduce计算模型的基本原理和工作流程以及MapReduce的详细执行过程。理解Pig的运行模式以及PigLatin的基础知识。理解HBase的数据模型和组成架构。了解云计算面临的安全威胁,针对威胁的解决方案。
三、教学内容和要求
(一)理论教学的内容及要求
第一章 云计算与大数据概述
1. 内容概要
本章的主要内容包括云计算概述、云计算的特点和优势、大数据概述、大数据的特点与作用、国内外云计算和大数据发展现状以及云计算与大数据的联系。
2. 重点难点
重点:云计算的特点与优势、大数据的特点、云计算与大数据的关系。
难点:云计算和大数据的关系。
3. 学习目的与要求
掌握云计算的基本原理
掌握云计算的特点与优势
掌握大数据的特点
掌握云计算的分类
掌握云计算和大数据的联系
第二章 云计算技术
1. 内容概要
本章的主要内容有虚拟化技术的发展史、虚拟化技术的概念和实现、虚拟化技术的应用领域,分布式文件系统的架构以及分布式数据库。
2. 重点难点
重点:虚拟化技术的概念、掌握服务器虚拟化的原理、分布式技术的定义及特点
难点:掌握服务器虚拟化的原理、分布式技术的定义及特点
3. 学习目的与要求
(1)了解虚拟化技术的发展历史
(2)掌握虚拟化技术的定义及特点
(3)掌握虚拟化技术的分类
(4)掌握服务器虚拟化的原理
(5)掌握分布式技术的定义及特点
(6)了解典型的分布式文件系统
(7)了解典型的分布式数据库
第三章 云计算平台
1. 内容概要
本章的主要内容有Google云平台核心技术有哪些,国内目前流行的云平台。包括Google云平台、Amazon云平台、微软Azure云平台、阿里云服务平台、百度开发者云服务以及腾讯云服务平台。
2. 重点难点
重点:掌握Google云计算体系结构、掌握Google文件系统GFS
难点:掌握Google云计算体系结构、掌握Google文件系统GFS
3. 学习目的与要求
(1)掌握Google云计算体系结构
(2)掌握Google文件系统GFS
(3)了解Google App Engine
(4)掌握Amazon云平台相关技术和服务
(5)了解微软云平台服务
(6)了解阿里云平台、百度云平台和腾讯云平台服务
第四章 大数据技术
1. 内容概要
本章的主要内容是有目前关键的大数据技术。大数据应用系统架构以及主要开源大数据平台。
2. 重点难点
重点:掌握大数据应用系统架构、掌握Google提供的大数据服务、掌握目前主要开源大数据平台、大数据常用关键技术。
难点:掌握大数据应用系统架构以及主要的大数据技术
3. 学习目的与要求
(1)掌握大数据应用系统架构
(2)了解常用数据挖掘算法
(3)了解常用可视化工具
(4)掌握Google提供的大数据服务
(5)了解微软、IBM等提供的大数据服务
(6)掌握目前主要开源大数据平台
第五章 Hadoop开发平台
1. 内容概要
本章的主要内容Hadoop的发展史、Hadoop的功能与作用、Hadoop的基本组成部分。。
2. 重点难点
重点:掌握HDFS的文件读写过程、掌握HDFS的文件读写过程。
难点:掌握HDFS的文件读写过程、掌握HDFS的文件读写过程。
3. 学习目的与要求
(1)了解Hadoop的发展历史
(2)了解Hadoop的功能和作用
(3)掌握HDFS的体系结构
(4)掌握HDFS的文件读写过程
(5)了解MapReduce计算模型
(6)了解Zookeeper的作用
(7)了解HBase、Hive的作用
第六章 MapReduce应用
1. 内容概要
本章的主要内容有MapReduce计算模型的基本原理和工作流程,MapReduce的详细执行过程。具体为MapReduce工作组件、MapReduce工作流程、并行计算的实现、MapReduce新框架YARN。
2. 重点难点
重点:掌握MapReduce的任务调度过程、掌握MapReduce的详细执行过程。
难点:掌握MapReduce的任务调度过程。
3. 学习目的与要求
(1)了解MapReduce计算模型的基本原理和工作流程
(2)了解Hadoop中实现并行计算的相关机制
(3)掌握MapReduce的任务调度过程
(4)掌握MapReduce的详细执行过程
(5)了解MapReduce新框架YARN的原理及运作机制
第七章 Pig简介
1. 内容概要
本章的主要内容是Pig的运行模式以及PigLatin的基础知识。包括Pig的用途、Pig的设计思想、Pig的运行模式、PigLatin语言的使用。
2. 重点难点
重点:掌握Pig Latin的基础知识、掌握Pig脚本的运行方法。
难点:掌握Pig脚本的运行方法。
3. 学习目的与要求
(1)了解Pig的作用
(2)了解Pig的设计思想
(3)了解Pig的运行模式
(4)掌握Pig Latin的基础知识
(5)掌握Pig脚本的运行方法
第八章 HBase简介
1. 内容概要
本章的主要内容有HBase的概念和作用、HBase使用场景、HBase数据模型、HBase组成架构、HBase安装和运行、HBase访问接口。
2. 重点难点
重点:掌握HBase数据模型、掌握HBase的组成架构、掌握HBase的安装运行方法。
难点:掌握HBase的安装运行方法。
3. 学习目的与要求
(1)掌握HBase的概念和作用
(2)了解HBase使用场景和成功案例
(3)了解HBase和传统关系数据库的对比分析
(4)掌握HBase数据模型
(5)掌握HBase的组成架构
(6)掌握HBase的安装运行方法
(7)了解HBase的访问接口
第九章 云计算与大数据安全
1. 内容概要
本章的主要内容有云计算面临的安全威胁、云计算安全相关解决方案、大数据面临的安全需求、现有安全问题解决方案。
2. 重点难点
重点:了解不同领域的大数据安全需求、了解大数据安全的相关解决方案。
难点:了解不同领域的大数据安全需求、了解大数据安全的相关解决方案。
3. 学习目的与要求
(1)了解云计算面临的安全威胁
(2)了解云计算安全相关解决方案
(3)了解大数据面临的安全威胁
(4)了解不同领域的大数据安全需求
(5)了解大数据安全的相关解决方案
(二)实践教学的内容及要求
1. Hadoop平台搭建(一)
(1)实验目的:理解Hadoop平台的工作原理,掌握Hadoop平台的搭建方法。
(2)实验内容:安装虚拟机、安装Linux操作系统、安装Java开发环境、安装SSH。
(3)实验要求:根据实验过程,撰写实验报告。
2. Hadoop平台搭建(二)
(1)实验目的:理解Hadoop平台的工作原理,掌握Hadoop平台的搭建方法。
(2)实验内容:配置网络、创建SSH密钥安全联机、配置Hadoop云计算系统、配置Slaves节点、程式化Hadoop系统、启动Hadoop集群。
(3)实验要求:根据分类器的设计过程,撰写实验报告。
3. MapReduce安装
(1)实验目的:理解MapReduce工作原理,掌握MapReduce的安装与启动。
(2)实验内容:在Hadoop平台上安装MapReduce,完成指定的简单数据操作任务。
(3)实验要求:根据实验过程,撰写实验报告。
4. MapReduce 编程
(1)实验目的:掌握MapReduce的编程方法,掌握Map函数和Reduce函数的实现方法。
(2)实验内容:给定一组文本数据,统计其中的用词的词频。
(3)实验要求:根据实验过程,撰写实验报告。
5. Pig本地模式实验
(1)实验目的:理解与掌握Pig本地模式下的操作,熟悉Pig Latin语言。
(2)实验内容:给定数据操作任务,使用Pig Latin语言实现所给任务。
(3)实验要求:根据实验过程情况撰写实验报告。
6. Pig MapReduc模式实验
(1)实验目的:理解与掌握Pig在MapReduce模式下的操作,熟悉Pig Latin语言。
(2)实验内容:给定数据操作任务,使用Pig Latin语言实现所给任务。并与上一实验进行对比分析两种模式下性能的不同。
(3)实验要求:根据实验过程撰写实验报告。
7. HBase的安装
(1)实验目的:理解HBase在Hadoop体系结构中的角色、熟练使用HBase操作常用的Shell命令。
(2)实验内容:HBase压缩包下载、安装、环境变量的设置、HBase配置文件的配置、HBase Shell的进入与应用。
(3)实验要求:根据实验过程撰写实验报告。
8. HBase编程实践
(1)实验目的:熟悉HBase Shell的使用方法、熟悉HBase操作常用的Java API。
(2)实验内容:用Java语言实现指定的数据操作功能。
(3)实验要求:根据实验过程撰写实验报告。
四、学时分配
章 次 |
各教学环节学时分配 |
小计 |
讲授 |
实验 |
上机 |
习题 |
讨论 |
课外 |
备 注 |
第一章 云计算与大数据概述 |
2 |
2 |
|
|
|
|
|
|
第二章 云计算技术 |
4 |
4 |
|
|
|
|
|
|
第三章 云计算平台 |
4 |
4 |
|
|
|
|
|
|
第四章 大数据技术 |
5 |
5 |
|
|
|
|
|
|
第五章 Hadoop开发平台 |
8 |
4 |
4 |
|
|
|
|
|
第六章 MapReduce应用 |
9 |
5 |
4 |
|
|
|
|
|
第七章 Pig简介 |
9 |
5 |
4 |
|
|
|
|
|
第八章 HBase简介 |
9 |
5 |
4 |
|
|
|
|
|
第九章 云计算与大数据安全 |
2 |
2 |
|
|
|
|
|
|
合 计 |
52 |
36 |
16 |
|
|
|
|
|
五、考核说明
本课程期末采取闭卷考试,最后本课程成绩评定的方法,是由期末考试与平时成绩、再加实验成绩结合而成。
六、主要教材及教学参考书目
(一)主要教材
1.青岛英谷教育科技股份有限公司著,《云计算与大数据概论》,西安电子科技大学出版社,2017年。
(二)主要参考书目
1.王金波等著,《虚拟化与云计算》,电子工业出版社,2009年1月出版
2. Tom White著,《Hadoop权威指南》,清华大学出版社,2010年5月出版。
3. 叶伟著,《互联网时代的软件革命SaaS架构设计》,电子工业出版社,2009年1月
“PHP程序设计及实践”课程教学大纲
制定人:刘凤芹 审核人:王玉田 批准人:倪建成
一、课程基本信息
开课单位:软件学院
课程名称:PHP程序设计及实践
课程编号:3040102
英文名称:PHP Programming And Practice
课程类型:专业基础课
总 学 时:52 理论学时:36 实验学时:16
学 分:2.5
开设专业:软件工程、软件外包
先修课程:web程序设计、数据系统原理
二、课程任务目标
(一)课程任务
《PHP程序设计及实践》课程是软件工程,软件外包等相关专业的专业课程,也是极具应用前景的实用软件开发语言。通过PHP程序开发课程的学习,让学生在很短的时间内将PHP的核心语言特点全部掌握,实现自己独立开发网站的能力。
(二)课程目标
通过本课程的学习,学生应掌握PHP开发环境搭建,PHP Web服务器安装及配置方法,PHP语言的基本语法,PHP的流程控制语句,字符串和数组的操作函数, PHP与页面元素和JavaScript脚本的交互模式, PHP对文件和目录的操作方式,对Session处理方式,正则表达式在PHP中的应用,面向对象编程在PHP中的应用,以及Think PHP开源框架的原理和应用;同时,培养学生具有一定的项目开发能力、团队协作的精神以及适应信息化社会要求的自学能力和获取计算机新知识、新技术的能力
三、教学内容和要求
(一)理论教学的内容及要求
第一章 PHP初步认识与环境搭建(2学时)
主要内容:PHP 的定义、PHP 的历史和优缺点、PHP 的应用领域、了PHP 的开发环境和开发工具、 PHP 应用程序的编写及运行
要求掌握:PHP 开发环境的搭建、编写并运行 PHP 应用程序
第二章 HTTP和Web服务器(2学时)
主要内容:事务的概念、理解报文的组成结构、了解状态码的含义、连接的概念、了Web 服务器的种类、Apache 架构
要求掌握:相对 URL 和绝对 URL 的定义、事务的概念、状态码的意义、Apache 架构
第三章 PHP基本语法(4学时)
主要内容:变量的声明方式,命名方式,引用、常量的定义方式,魔法常量、PHP 的数据类型转换、PHP 的运算符、PHP 的流程控制结构
要求掌握:PHP 的语言标记、常量变量的定义、PHP 的运算符、PHP 的程序控制结构
第四章 字符串和数组(6学时)
主要内容:字符串的定义方式、字符串展示方式、字符串常用函数、数组定义方式、数组遍历方式
要求掌握:字符串的定义、数组的定义、字符串加密函数、数组便利函数、字符串操作函数
第五章 函数(3学时)
主要内容:函数的定义方式、了解函数的分类、掌握函数的两种参数传递方式、变量函数、掌握函数的作用域、文件包含方法
要求掌握:函数的定义方式、函数的参数传递、函数包含的使用方法 NotificationManager 和 Notification 的使用
第六章 文件和目录(3学时)
主要内容:文件的基本操作方式、 掌文件的打开,关闭,读写等操作、文件的目录炒作函数、上传文件的流程
要求掌握: 文件的打开与关闭、 文件的读写操作、 上传文件的步骤
第七章 正则表达式(3学时)
主要内容:正则表达式的基本语法、了解定界符,量词,限定符,定位符,元字符的用法、正则表达式引起、正则表达式函数、贪婪原则和最少原则
要求掌握:正则表达式的基本语法结构、正则表达式的组成元素、正则表达式的函数、正则表达式的使用规则
第八章 类和对象(4学时)
主要内容:类和对象的定义、类和对象的三大特点、抽象类的使用、接口的使用
要求掌握:向对象的三大特点、抽象类和接口的区别
第九章 PHP和MySQL(4学时)
主要内容: PHP 连接 MySQL 数据库的步骤、PHP 操作 MySQL 数据库的常用操作语句、了解 PDO 抽象出的概念、PDO 的应用、MySQLi 的应用
要求掌握PHP 连接 MySQL 数据库的步骤、PHP 操作 MySQL 数据库的常用操作语句
第十章 ThinkPHP框架(5学时)
主要内容: ThinkPHP 框架的特点、 ThinkPHP 框架的安装搭建、 ThinkPHP 框架的结构、 ThinkPHP 的入口文件,配置文件的编写、ThinkPHP 的控制器,模型,视图的应用方法、 ThinkPHP 的模板引擎使用、 ThinkPHP 的单字母方法、
要求掌握:ThinkPHP 的安装、 ThinkPHP 的控制器,模型,视图的应用、 ThinkPHP 的模板引擎使用、 ThinkPHP 的单字母方法
(二)实践教学的内容及要求
见实验大纲
四、学时分配
章 次 |
各教学环节学时分配 |
小计 |
讲授 |
实验 |
上机 |
习题 |
讨论 |
课外 |
备 注 |
第1章 PHP初步认识与环境搭建 |
3 |
2 |
1 |
|
|
|
|
|
第2章 HTTP和Web服务器 |
3 |
2 |
1 |
|
|
|
|
|
第3章 PHP基本语法 |
6 |
4 |
2 |
|
|
|
|
|
第4章 字符串和数组 |
8 |
6 |
2 |
|
|
|
|
|
第5章 函数 |
4 |
3 |
1 |
|
|
|
|
|
第6章 文件和目录 |
4 |
3 |
1 |
|
|
|
|
|
第7章 正则表达式 |
4 |
3 |
1 |
|
|
|
|
|
第8章 类和对象 |
6 |
4 |
2 |
|
|
|
|
|
第9章 PHP和MySQL |
6 |
4 |
2 |
|
|
|
|
|
第10章 ThinkPHP框架 |
8 |
5 |
3 |
|
|
|
|
|
合 计 |
52 |
36 |
16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
五、考核说明
考核方法:闭卷
成绩评定法法:平时成绩
考试成绩
六、主要教材及教学参考书目
(一)主要教材
1.青岛英谷教育科技股份有限公司 . PHP程序设计及实践(第一版),西安电子科技大学出版社,2016.12
(二)主要参考书目
1、孔祥盛,《PHP编程基础与实例教程》,人民邮电出版社,2011年8月第1版
2、明日科技,《PHP从入门到精通》,清华大学出版社,2012年9月第3版
“S2SH——J2EE轻量级解决方案”教学大纲
制定人:郭吉楠 审核人:王玉田 批准人:倪建成
一、课程基本信息
开课单位:软件学院
课程名称:S2SH——J2EE轻量级解决方案
课程编号:304071
英文名称:S2SH—Lightweight Solution of Java EE
课程类型:专业方向限选课程
学 时:总学时86 理论学时 54 实践学时 32
学 分:4
开设专业:软件工程
先修课程:Java程序设计基础(303119)、Java Web程序设计(302010)
二、课程任务目标
(一)课程任务
本课程是软件工程专业的综合选修课,主要讲授Java EE平台相关技术。本课程的课程任务包括, Java EE的入门知识、Struts2 框架及应用、Hibernate框架及应用、Spring框架及应用、SSH整合,并通过综合应用实习来提高实践能力。
(二)课程目标
在学完本课程之后,学生能够:
理解和掌握JavaEE程序设计方法,建立起牢固扎实的理论基础,掌握使用JavaEE编程技术针对复杂工程问题进行程序分析和设计的能力。
掌握软件行业的基本编码规范,有能力在一定指导下分析、设计并实施基于JavaEE的系统软件开发,用以解决具体领域的应用问题。
能够根据软件设计需求选择相应的软件开发框架以及相关技术,并能够针对实际工程问题进行恰当的选择。
三、教学内容和要求
第一章 JavaEE应用
1.内容概要
1.1 JavaEE概述
1.2 自定义MVC框架
1.3 JavaEE架构技术
2.重点与难点
重点: MVC思想。
难点:结合实际案例,加深对MVC思想的理解。
3.学习目的与要求
(1)了解JavaEE的模型以及发展过程。
(2)理解MVC思想及其优势。
(3)了解其他JavaEE架构技术。
第二章 Struts2基础
1.内容概要
2.1 Struts2概述
2.2 基于Struts2的加法器
2.重点与难点
重点:
Struts2的框架结构。
Struts2的控制组件和配置文件的使用。
难点:结合实际案例,加深对Struts2框架结构的理解。
3.学习目的与要求
(1)了解Struts2的起源背景。
(2)掌握Struts2框架结构。
(3)掌握Struts2的控制组件和配置文件。
(4)掌握Struts2的处理步骤。
第三章 Struts2深入
1.内容概要
3.1 配置文件详解
3.2 Action详解
3.3 处理结果
3.4 异常处理
2.重点与难点
重点:
Struts2配置文件中各种属性的含义。
Action的实现方式。
结果处理流程以及对应的属性配置。
难点: 集合实际案例,使用Struts2完成基本功能的开发。
3.学习目的与要求
(1)掌握Struts2配置文件中各种属性的含义。
(2)掌握Action的实现方式。
(3)掌握结果处理流程以及对应的属性配置。
(4)理解Struts2的异常处理机制。
第四章 Struts2标签库
1.内容概要
4.1 Struts2标签库概述
4.2 Struts2中使用OGNL
4.3 数据标签
4.4 控制标签
4.5 主题和模板
4.6 表单标签
4.7 非表单标签
2.重点与难点
重点:Struts2标签的使用方法。
难点:OGNL与值栈的关联关系。
3.学习目的与要求
(1)掌握Struts标签库的分类以及使用方法。
(2)理解OGNL与值栈的关联关系。
(3)掌握常用Struts2标签的使用方法。
第五章 Hibernate基础
1.内容概要
5.1 Hibernate概述
5.2 Hibernate应用开发方式
5.3 Hibernate应用示例
5.4 Hibernate配置文件详解
5.5 Hibernate映射文件详解
5.6 持久化对象
2.重点与难点
重点:
Hibernate的配置文件。
Hibernate的映射文件及其映射原理。
难点:结合实际案例,加深对映射原理的理解。
3.学习目的与要求
(1)了解ORM框架。
(2)掌握Hibernate应用开发方式。
(3)掌握Hibernate配置文件中的常用属性。
(4)掌握Hibernate的映射文件及其映射原理。
第六章 Hibernate核心技能
1.内容概要
6.1 Hibernate关联关系
6.2 Hibernate批量处理
6.3 Hibernate检索方式
6.4 HQL与QBC检索
6.5 Hibernate事务管理
2.重点与难点
重点:
一对一、一对多、多对多关联关系的分析。
HQL与QBC检索步骤
难点:结合实际案例,加深对关联关系和检索步骤的理解。
3.学习目的与要求
(1)理解并掌握Hibernate中的关联关系。
(2)掌握Hibernate批量处理的方法及原理。
(3)掌握HQL与QBC检索的步骤。
(4)理解数据库事务的特性以及隔离级别。
第七章 Spring基础
1.内容概要
7.1 Spring概述
7.2 IoC容器
7.3 IoC容器中装配Bean
2.重点与难点
重点: IoC容器与依赖注入的原理。
难点:结合实际案例,加深对IoC容器与依赖注入的原理的理解。
3.学习目的与要求
(1)了解Spring的起源背景、体系结构以及环境配置。
(2)掌握IoC容器的运行原理。
(3)掌握IoC容器中装配Bean的方法。
(4)掌握依赖注入的运行原理。
第八章 Spring深入
1.内容概要
8.1 Spring AOP
8.2 Spring事务管理
2.重点与难点
重点:AOP思想和本质。
难点:结合实际案例,加深对AOP思想和本质的理解。
3.学习目的与要求
(1)掌握AOP的思想和本质。
(2)掌握AOP的使用方法。
(3)掌握Spring中事务管理的策略和方法。
第九章 框架集成
1.内容概要
9.1 Spring集成Struts2
9.2 Spring集成Hibernate
2.重点与难点
重点:
Spring集合Struts2的步骤。
Spring集合Hibernate的步骤
难点:结合实际案例,熟练掌握集成步骤。
3.学习目的与要求
(1)掌握Spring集合Struts2的步骤。
(2)掌握Spring集合Hibernate的步骤。
四、学时分配
章 次 |
各教学环节学时分配 |
小计 |
讲授 |
实验 |
上机 |
习题 |
讨论 |
课外 |
备 注 |
第1章 JavaEE应用 |
4 |
2 |
|
2 |
|
|
|
|
第2章 Struts2基础 |
8 |
6 |
|
2 |
|
|
|
|
第3章 Struts2深入 |
10 |
6 |
|
4 |
|
|
|
|
第4章 Struts2标签库 |
10 |
6 |
|
4 |
|
|
|
|
第5章 Hibernate基础 |
10 |
6 |
|
4 |
|
|
|
|
第6章 Hibernate核心技能 |
12 |
8 |
|
4 |
|
|
|
|
第7章 Spring基础 |
10 |
6 |
|
4 |
|
|
|
|
第8章 Spring深入 |
12 |
8 |
|
4 |
|
|
|
|
第9章 框架集成 |
10 |
6 |
|
4 |
|
|
|
|
五、考核说明
考核方法:闭卷
成绩评定法法:平时成绩*40%+考试成绩*60%
六、主要教材及教学参考书目
(一)主要教材
轻量级Java EE程序设计及实践,青岛英谷教育科技股份有限公司编著,西安电子科技大学出版社,2015.8
(二)主要参考书目
1. Java编程思想(第4版),[美] Bruce Eckel 著,陈昊鹏 译,机械工业出版社,2007.6
2. 轻量级Java EE企业应用实战(第4版):Struts 2+Spring 4+Hibernate整合开发,李刚 编著,电子工业出版社,2014.10
“编译原理”教学大纲
制定人:齐苏敏 审核人:王玉田 批准人:倪建成
一、课程基本信息
开课单位:软件学院
课程名称:编译原理
课程编号:304003
英文名称:Principles of Compilers
课程类别:专业任选课
学 时:总学时 36 理论学时 36
学 分:2
开设专业:软件工程
先修课程:计算机组成原理、离散数学、数据结构、C语言程序设计、数据库系统概论、算法分析与设计
二、课程任务目标
(一)课程任务
本课程是工科软件工程专业和网络工程专业任选课,是一门建立在计算机组成原理、离散数学、数据结构、高级语言程序设计、算法分析与设计等多门课程知识综合运用之上的、难度较大的课程。本课程的任务是使学生理论上掌握编译技术的基本原理、编译程序的组成、基本设计方法,实践上掌握编译器基本实现技术和相关的自动构造工具。使学生充分认识和掌握将高级程序设计语言源程序等价转换为数字计算机能识别和处理的目标代码的整个过程,提高学生的专业素养,培养学生的抽象思维能力和实践动手能力。
(二)课程目标
在学完本课程之后,学生能够:
1. 正确理解什么是编译程序,了解编译程序工作的基本过程及其各阶段的基本任务,熟悉编译程序总体框架,了解编译程序的生成过程和构造工具。理解符号表的作用及符号表组织和使用方法,了解名字的作用范围,了解符号表中一般应包含的内容。
2. 理解程序语言词法、语法和语义等概念,熟悉高级程序语言一般结构和主要共同特征。正确理解上下文无关文法基本概念,包括:文法的定义、编写、句型、句子、语言、语法树、二义性等。
3. 理解词法分析器功能及形式,熟练掌握词法分析器设计的原理,掌握运用状态转换图进行词法分析器设计。
4. 正确理解自上而下分析的基本思想,熟练掌握递归下降分析基本方法:消除左递归、消除回溯,构造递归下降子程序,掌握预测分析程序的基本原理和预测分析表构造,理解LL(1)方法的定义。
5. 正确理解自下而上语法分析的基本思想以及归约、短语、句柄、分析树等概念,掌握SLR(1)、LR(1)和LALR(1)分析表的构造与使用。
6. 正确理解语法制导翻译基本原理,掌握基于属性文法的处理方法,了解语法制导翻译基本思想和实现方法。
7. 了解常见的中间语言形式,掌握常用语句到三元式的翻译方法,包括简单算术表达式,布尔表达式,控制语句,数组引用,过程调用等。
8. 正确理解代码生成过程的基本问题,理解待用信息、寄存器描述和地址描述等概念,掌握简单代码生成算法、寄存器分配策略。
三、教学内容和要求
第一章 引论
第一节 编译器基础
1.了解编译程序工作的基本过程及其各阶段的基本任务。
2.理解编译器、翻译器和解释器的联系与区别。
3.掌握编译器的概念。
第二节 编译器技术的应用
1.了解针对计算机体系结构的优化。
2.理解二进制翻译、数据库查询解释器。
难点:编译器、翻译器和解释器的关系。
重点:编译器的概念。
第二章 词法分析
第一节 词法记号及属性
1.了解词法错误。
2.理解词法记号、模式和词法单元概念。
3.掌握词法记号的属性。
第二节 词法记号的描述与识别
1.了解串与语言的概念与运算。
2.理解正规式在词法分析中的作用。
3.掌握正规式、正规定义、状态转换图及应用。
第三节 有限自动机
1.了解FA与FL。
2.理解FA在词法设计中的作用。
3.掌握NFA、DFA的转换算法。
第四节 从正规式到有限自动机
1.了解RE与FA的关系。
2.理解RE与FA的转换意义。
3.掌握RE到FA的转换算法。
第五节 词法分析器的生成器
1.了解LEX的构成与工作过程。
2.理解RD在LEX中的使用。
难点:RE的编写,RE、NFA和DFA的转换。
重点:RE、NFA、DFA在词法分析器设计中的应用。
第三章 语法分析
第一节 上下文无关文法
1.了解 语法分析与词法分析的关系。
2.理解CFG基本构造结构。
3.掌握CFG概念、推导、二义性的证明。
第二节 语言和文法
1.了解Chomsky文法分类体系。
2.理解CFG与RE的关系。
3.掌握CFG与CFL的互转与证明,二义性、左递归的消除,左因子的提取。
第三节 自上而下分析
1.了解top-down一般文法的缺点。
2.理解LL(1)定义。
3.掌握FIRST,FOLLOW,LL(1)预测分析表的构造与应用,递归下降分析构造。
第四节 自下而上分析
1.了解LL(1)的局限性。
2.理解 归约过程。
3.掌握 句柄,s-r的栈实现,冲突。
第五节 LR分析器
1.了解LR文法与分析方法的特点。
2.理解LR(k)的一般意义。
3.掌握 SLR(1)、LR(1)和LALR(1)的分析表的构造算法与分析表的应用。
第六节 二义文法的应用
1.了解 二义文法的积极作用。
2.理解 解决冲突的方法。
第七节 语法分析器的生成器
1.了解YACC的构成与工作过程。
2.理解YACC在二义文法中的使用。
难点:LR(1)分析表的构造与应用。
重点:LL(1)、SLR(1)、LR(1)、LALR(1)分析表的构造与应用。
第四章 语法制导翻译
第一节 语法制导的定义
1.了解 语法制导定义的形式。
2.理解 语法制导定义与基础文法的关系。
3.掌握 综合属性、继承属性、S属性定义和属性计算次序。
第二节 S属性定义的自下而上计算
1.了解S属性定义的属性依赖。
2.理解 构造语法树的S属性定义。
3.掌握S属性定义的自下而上计算。
第三节 L属性定义的自上而下计算
1.了解 L属性定义。
2.理解 翻译方案与属性定义的关系。
3.掌握 综合属性替换继承属性的变换方法与计算。
第四节 L属性定义的自下而上计算
1.了解 翻译方案中嵌入动作删除的意义。
2.理解 继承属性的栈分析。
3.掌握 模拟继承属性的计算。
难点:L属性定义的计算。
重点:S属性定义的自下而上计算,L属性定义计算中翻译方案及动作提取。
第七章 中间代码生成
第一节 中间语言
1.了解 静态单赋值。
2.理解 中间语言各形式的关系。
3.掌握 后缀式、图形式、三地址码。
第二节 声明语句
1.了解 作用域信息的保存。
2.理解 嵌套形式的符号表处理。
3.掌握 声明语句的中间代码生成。
第三节 赋值语句
1.了解 符号表信息在赋值语句处理中的作用。
2.理解 类型转换与机内表示关系。
3.掌握 数组元素地址的计算。
第四节 布尔表达式和控制流语句
1.了解 常见控制流结构。
2.理解 开关语句与过程调用的翻译。
3.掌握 布尔表达式与控制流翻译。
难点:嵌套声明的中间代码生成与复杂赋值语句的中间代码生成。
重点:嵌套声明的中间代码生成,复杂赋值语句的中间代码生成,控制流的中间代码生成。
第八章 代码生成
第一节 代码生成器设计中的问题
1.了解 代码生成器的输入。
2.理解 指令选择、寄存器分配和计算次序的选择在目标代码生成中的作用。
第二节 目标语言
1.了解 目标机的假设。
2.理解 指令代价的计算。
第三节 基本块和流图
1.了解 基本块的概念。
2.理解 下次引用信息的作用。
3.掌握 基本块的优化。
第四节 一个简单的代码生成器
1.了解 目标代码生成的本质。
2.理解 寄存器描述和地址描述的作用。
3.掌握 寄存器选择函数与简单的目标代码生成算法。
难点:指令代价的计算与比较。
重点:寄存器选择函数与简单的目标代码生成算法。
四、学时分配
章 次 |
各教学环节学时分配 |
小计 |
讲授 |
实验 |
上机 |
习题 |
讨论 |
课外 |
备 注 |
第一章:引论 |
3 |
3 |
|
|
2 |
|
|
|
第二章:词法分析 |
9 |
9 |
|
|
2 |
|
|
|
第三章:语法分析 |
12 |
12 |
|
|
2 |
|
|
内容精简 |
第四章:语法制导翻译 |
6 |
6 |
|
|
2 |
|
|
内容精简 |
第七章:中间代码生成 |
3 |
3 |
|
|
2 |
|
|
内容精简 |
第八章:目标代码生成 |
3 |
3 |
|
|
2 |
|
|
内容精简 |
五、考核说明
考核方法:开卷
成绩评定法法:平时成绩
考试成绩
六、主要教材及教学参考书目
(一)主要教材
1.陈意云、张昱, 编译原理(第2版),高等教育出版社,2008年。
(二)主要参考书目
1.陈火旺等, 程序设计语言编译原理(第1版),国防工业出版社,2004年。
2.Alfred V.Aho, Compilers: Principles, Techniques, and Tools(第2版),Addison Wesley出版社,2006年。
“基于C#的ASP.NET程序设计”教学大纲
制定人:吴珊 审核人:王玉田 批准人:倪建成
一、课程基本信息
开课单位:软件学院
课程名称:基于C#的ASP.NET程序设计
课程编号:3040091
英文名称:ASP.NET program design based on C#
课程类型:专业拓展课
学 时:总 学 时 70 理论学时 54 实验学时 16
学 分:3.5
开设专业:软件工程
先修课程:C#程序设计
二、课程任务目标
(一)课程任务
基于C#的ASP.NET程序设计课程是以微软的ASP.NET 程序设计为基础进行Web系统构建和网络程序设计开发的课程,是一门职业技能型课程,在计算机教学课程中处于非常重要的地位。课程的目的是培养学生设计和开发程序的应用能力和创新能力。课程的任务是学习ASP.NET基础知识、能够设计开发一个可以运行操作的应用网站。
(二)课程目标
通过本课程学习,学生应掌握.NET框架结构、C#语言的基本语法、C#面向对象编程、ASP.NET常用控件、ASP.NET页面内置对象、数据访问技术、ASP.NET网站设计技术、Web部件和用户控件、网站的安全与发布等知识的学习;同时,培养学生具有一定的项目开发能力、团队协作的精神以及适应信息化社会要求的自学能力和获取计算机新知识、新技术的能力。
三、教学内容和要求
第一章 C#与.NET框架
1.内容概要
(1).NET框架的发展历程和框架结构
(2)C#与.NET框架:C#语言的特点、.NET框架应用程序种类
(3)ASP.NET技术:ASP.NET特点、ASP.NET的命名空间、ASP.NET的控件种类
(4)第一个C# 程序:C# 程序结构、C# 代码注释、HelloWorld示例
2.重点与难点
重点:.NET框架的结构,CLR、JIT、CTS、MSIL概念
难点:C#程序在.NET框架上执行的过程,ASP.NET及其控件种类
3.学习目的与要求
(1)了解.NET框架的结构
(2)理解CLR、JIT、CTS、MSIL概念
(3)掌握C#程序在.NET框架上执行的过程
(4)了解C#语言的特点以及与.NET框架的联系
(5)了解ASP.NET及其控件种类
(6)了解.NET命名空间
(7)掌握C#程序的结构
第二章 掌握C#基本语法
1.内容概要
(1)变量和常量:
(2)数据类型:值类型、引用类型、装箱和拆箱
(3)运算符和表达式:运算符的类别、算术运算符、赋值运算符、关系运算符
(4)语句:分支语句、循环语句、转移语句、lock语句、using语句
(5)字符串:字符串基础、String类、StringBuilder类
(6)异常处理
2.重点与难点
重点:掌握C#中的变量、常量、以及关键字;掌握C#基本数据类型;
掌握C#中的各种运算符及优先级;掌握C#中分支、循环语句掌握C#中的异常处理过程;
难点:理解装箱和拆箱的概念
3.学习目的与要求
(1)掌握C#中的变量、常量、以及关键字
(2)掌握C#基本数据类型
(3)理解装箱和拆箱的概念
(4)掌握C#中的各种运算符及其优先级
(5)掌握C#中的分支、循环语句
(6)掌握字符串操作
(7)掌握C#中的异常处理过程
第三章 C#面向对象编程基础
1.内容概要
(1)类 :定义类、构造函数、字段、属性、方法、关键字
(2)访问修饰符
(3)继承:C# 中继承的实现、base关键字、方法的重写、密封类和密封方法
(4)接口
2.重点与难点
重点:掌握C#的类和对象
难点:掌握构造函数
3.学习目的与要求
(1)掌握C#的类和对象
(2)掌握构造函数
(3)使用C#访问修饰符
(4)掌握在C#中继承的使用
(5)理解方法的重写和重载
(6)理解接口的定义
第四章 数组与集合
1.内容概要
(1)数组:数组的声明、初始化、访问数组元素
(2)Array类:创建Array数组、复制数组
(3)集合类:ArrayList类、Stack类、Queue类、Hashtable类、SortedList类
2.重点与难点
重点:一维数组的定义与应用
难点:理解集合类
3.学习目的与要求
(1)掌握C#中数组的定义
(2)掌握Array类的使用
(3)了解集合的概念
(4)掌握类库中集合类的使用
第五章 认识ASP.NET
1.内容概要
(1)ASP.NET页面:页面开发模式、页面生命周期、页面事件、页面指令和注释
(2)ASP.NET页面内置对象:Response对象、Request对象、Session对象、
Application对象、Cookie对象、Server对象。
2.重点与难点
重点:掌握ASP.NET页面的开发模式、页面常用的处理事件。
难点:页面常用的处理事件。
3.学习目的与要求
(1)了解ASP.NET页面的开发模式
(2)理解ASP.NET页面的生命周期
(3)掌握页面常用的处理事件
(4)掌握常用的页面指令及其属性
(5)理解ASP.NET服务器端注释和客户端注释的区别
(6)掌握ASP.NET常用的页面内置对象
第六章 ASP.NET服务器控件
1.内容概要
(1)服务器控件:服务器控件简介、分类
(2)Web服务器控件:文本控件、控制权转移控件、选择控件、容器控件
(3)验证控件:RequiredFieldValidator控件、CompareValidator控件、RangeValidator控件、RegularExpressionValidator控件、CustomValidator控件、ValidationSummary控件
2.重点与难点
重点:掌握文本选择控件、控件权转移控件
难点:理解Web服务器控件和HTML服务器控件的区别
3.学习目的与要求
(1)掌握ASP.NET服务器控件的种类
(2)掌握常用Web服务器控件的使用
(3)了解Web服务器控件和HTML控件的区别
(4)掌握常用的验证控件的使用
第七章 ADO.NET数据库访问
1.内容概要
(1)ADO.NET简介
(2)ADO.NET结构:ADO.NET结构原理和核心组件、命名空间和类
(3)ADO.NET核心对象:Connection、Command、DataReader、DataAdapter、DataSet
2.重点与难点
重点:掌握ADO.NET访问数据库的常用对象;掌握使用Connection对象连接SQL Server 2008数据库;掌握使用Command对象访问数据库
难点:连接字符串的处理
3.学习目的与要求
(1)理解ADO.NET的结构原理
(2)掌握ADO.NET访问数据库的常用对象
(3)掌握使用Connection对象连接SQL Server 2008数据库
(4)掌握使用Command对象访问数据库
(5)掌握使用DataAdapter和DataSet操作数据库
第八章 数据绑定
1.内容概要
(1)数据控件概述:数据源控件、数据绑定控件
(2)SqlDataSource控件:
(3)GridView控件:GridView数据绑定、GridView列类型、GridView事件
2.重点与难点
重点:掌握使用GridView控件进行数据显示、编辑、删除。
难点:如何熟练使用使用GridView控件
3.学习目的与要求
(1)了解数据源控件和数据绑定控件的种类
(2)熟悉SqlDataSource数据源控件的配置
(3)掌握使用GridView控件进行数据显示、编辑、删除
第九章 页面设计
1.内容概要
(1)母版页和内容页 :母版页和内容页
(2)站点导航:站点导航简介、TreeView控件、SiteMapPath控件、Menu控件
2.重点与难点
重点:掌握母版页的创建和使用;TreeView控件的使用
难点:掌握SiteMapPath控件的使用;Menu控件的使用
3.学习目的与要求
(1)掌握母版页的创建和使用
(2)熟悉SiteMapPath控件的使用
(3)掌握TreeView控件的使用
(4)熟悉Menu控件的使用
第十章 Linq数据访问技术
1.内容概要
(1)LINQ简介:LINQ组成、LINQ示例
(2)Lambda表达式
(3)LINQ查询方法:Select()、Where() 、OrderBy()、GroupBy()、高级查询方法
(4)LINQ to SQL查询:创建对象模型、查询数据库
2.重点与难点
重点:掌握LINQ查询的特点及组成;掌握编写Lambda表达式;掌握LINQ查询方法的使用
难点:使用LINQ查询SQL数据库
3.学习目的与要求
(1)掌握LINQ查询的特点及组成
(2)掌握编写Lambda表达式
(3)掌握LINQ查询方法的使用
(4)掌握使用LINQ查询SQL数据库
第十一章 学习ASP.NET MVC
1.内容概要
(1)MVC介绍
(2)MVC优势
(3)ASP.NET MVC 实践:开发准备、ASP.NET MVC 4实例
2.重点与难点
重点:掌握MVC。
难点:MVC的实现过程。
3.学习目的与要求
(1)了解ASP.NET MVC组成
(2)了解ASP.NET MVC访问流程
(3)了解ASP.NET路由规则
(4)掌握控制器操作
(5)掌握视图操作
第十二章 使用Web Service
1.内容概要
(1)Web Service简介:引言、 Web Service的特点、Web Service的组成、 Web Service的优势与局限
(2)实现Web Service
2.重点与难点
重点:掌握Web Service的基础知识。
难点:Web Service的实现过程。
3.学习目的与要求
(1)了解Web Service的应用背景
(2)了解Web Service的特点及功能
(3)掌握Web Service的技术组成
(4)了解Web Service的优势和局限
(5)掌握Web Service的工作原理
(6)掌握实现Web Service的开发步骤
第十三章 网站部署
1.内容概要
(1)配置文件:配置文件简介、常用的配置元素
(2)安装和部署ASP.NET应用程序:创建ASP.NET安装项目、部署ASP.NET应用程序
2.重点与难点
重点:掌握常用的配置元素。
难点:安装和部署ASP.NET应用程序。
3.学习目的与要求
(1)了解ASP.NET配置文件的特点和类型
(2)掌握配置文件的结构和功能
(3)掌握配置文件的常用设置
(4)掌握ASP.NET应用程序的安装和部署
四、学时分配
章 次 |
各教学环节学时分配 |
小计 |
讲授 |
实验 |
上机 |
习题 |
讨论 |
课外 |
备 注 |
第一章:C#与.NET框架 |
2 |
2 |
|
|
|
|
|
|
第二章:掌握C#基本语法 |
4 |
4 |
|
|
|
|
|
|
第三章:C#面向对象编程基础 |
6 |
6 |
|
|
|
|
|
|
第四章:数组与集合 |
6 |
4 |
|
2 |
|
|
|
|
第五章:认识ASP.NET |
8 |
4 |
|
2 |
2 |
|
|
|
第六章:ASP.NET服务器控件 |
8 |
6 |
|
2 |
|
|
|
|
第七章:ADO.NET数据库访问 |
6 |
4 |
|
2 |
|
|
|
|
第八章:数据绑定 |
6 |
4 |
|
2 |
|
|
|
|
第九章:页面设计 |
6 |
4 |
|
2 |
|
|
|
|
第十章:Linq数据访问技术 |
6 |
4 |
|
2 |
|
|
|
|
第十一章:学习ASP.NET MVC |
6 |
4 |
|
2 |
|
|
|
|
第十二章:使用Web Service |
4 |
4 |
|
|
|
|
|
|
第十三章:网站部署 |
2 |
2 |
|
|
|
|
|
|
总计 |
70 |
52 |
|
16 |
2 |
|
|
|
五、考核说明
考核方法:闭卷
成绩评定法法:平时成绩
考试成绩
六、主要教材及教学参考书目
(一)主要教材
1、青岛英谷教育科技股份有限公司《ASP.NET程序设计及实践》,西安电子科技大学出版社,2015年。
(二)主要参考书目
1、陈向东等《ASP.NET程序设计案例教程》,清华大学出版社,2014年;
“软件体系结构与设计”教学大纲
制定人:郭吉楠 审核人:王玉田 批准人:倪建成
一、课程基本信息
开课单位:软件学院
课程名称:软件体系结构与设计
课程编号:302015
英文名称:Software Architecture and Design
课程类型:专业核心课程
学 时:总学时 52 理论学时 36 实验学时 16
学 分:3
开设专业:软件工程
先修课程:面向对象程序设计(301011)、Java程序设计(303119)、软件工程(302013)
二、课程任务目标
(一)课程任务
本课程是软件工程专业的一门重要的专业基础课程,在软件工程专业人才培养方案中占有十分重要的地位。通过本课程的学习,可以使学生了解软件体系的一些基本术语、概念,更好的把握软件工程学科的特点,更容易理解所学的理论知识,理解软件设计和体系结构的基本思想,并扩展到其他相关领域。
(二)课程目标
在学完本课程之后,学生能够:
了解当今优秀编程人员如何灵活运用面向对象的技术 进行可复用程序设计。
对面向对象技术和原理有更加深刻的认识理解,并能使用这些设计模式于实际的应用当中。
具有分析和解决问题的基本思路, 以及面向对象程序设计中的可复用的思想,为日后从事大型复杂软件开发打下良好的基础。
三、教学内容和要求
第一章 软件工程和软件设计概述
1.内容概要
1.1软件
1.2软件工程
1.3 软件设计
1.4软件体系结构
2.重点与难点
重点:
(1)软件危机的概念、产生以及表现。
(2)构件的概念和软件重用的概念及其思想。
(3)软件体系结构的定义、发展以及意义。
难点:软件体系结构概念的理解。
3.学习目的与要求
(1)了解软件的本质。
(2)掌握软件工程基础知识,理解软件过程以及软件工程实践。
(3)理解软件工程中软件设计的流程以及对质量的要求,理解软件设计的原则。
(4)理解软件体系结构的概念及其研究内容,理解软件体系结构在设计阶段的应用。
第二章 软件模型和描述
1.内容概要
2.1 什么是软件模型
2.2 软件模型的发展历程
2.3 软件模型解析
2.4 深入认识软件模型
2.5 体系结构描述语言
2.重点与难点
重点:
软件模型的发展历程。
各种软件模型的基本思想。
软件体系结构的设计方法。
难点:各种软件模型的优缺点以及比较分析。
3.学习目的与要求
(1)了解软件模型的概念。
(2)理解软件模型发展顺序的原因。
(3)理解各种软件模型的基本思想及其思维本质,以及这些模型对软件体系结构建立的影响。
(4)理解软件体系结构的描述方法以及设计方法。
(5)了解常用的体系结构描述语言各自的特点。
第三章 软件体系结构建模和UML
1.内容概要
3.1 软件体系结构建模描述
3.2 基于软件体系结构的开发
3.3 UML概述
3.4 面向对象方法
3.5 UML2.0中的结构建模
3.6 UML2.0中行为建模
2.重点与难点
重点:
UML的建模机制。
面向对象的基本概念。
结构建模的方法。
行为建模的方法。
难点: 面向对象思想在UML建模中的应用。
3.学习目的与要求
(1)了解软件体系结构模型的分类。
(2)理解体系结构的软件开发过程所包括的主要活动。
(3)了解UML的发展历程以及用途,理解UML的建模机制。
(4)理解面向对象方法的基本概念及其优势。
(5)理解UML建模方法,包括结构建模和行为建模。
第四章 软件设计过程
1.内容概要
4.1 软件设计基础
4.2 软件体系结构设计
4.3 高可信软件设计
4.4 软件设计规格说明
4.5 软件设计评审
2.重点与难点
重点:
软件设计的一般过程。
软件体系结构的设计方法。
高可信软件的设计方法。
难点:对软件体系结构模型的理解和掌握。
3.学习目的与要求
(1)理解软件设计的一般过程以及主要活动。
(2)理解不同软件体系结构设计方法适用的场景。
(3)了解高可信软件的特点以及设计方法。
(4)了解软件设计规格说明的作用以及软件设计评审的原则。
第五章 软件体系结构风格
1.内容概要
5.1 软件体系结构风格概述
5.2 软件体系结构基本风格解析
5.3 案例分析
5.4 C/S风格
5.5 三层C/S结构风格
5.6 B/S风格
5.7 C/S与B/S混合结构风格
5.8 正交软件体系结构风格
5.9 异构结构风格
2.重点与难点
重点:
不同软件体系结构风格的特点。
C/S与B/S体系结构各自的优缺点。
正交软件体系结构的特点。
异构结构风格的特点。
难点:结合实际案例,根据具体需求,选择合适的软件体系结构风格。
3.学习目的与要求
(1)理解软件体系结构风格的概念。
(2)理解常见的软件体系结构风格各自的特点。
(3)能够结合实际案例,分析不同软件体系结构风格各自的特点,并给出相应的解决方案。
(4)了解C/S体系结构,掌握三层C/S结构的组成以及优点。
(5)了解B/S体系结构,掌握C/S与B/S混合风格的特点。
(6)了解正交软件体系结构,掌握其基本思想。
(7)理解异构结构风格的优势,掌握异构体系结构的实际应用。
第六章 面向对象的软件设计方法
1.内容概要
6.1 面向对象方法概述
6.2 面向对象的分析与设计
6.3 面向对象的分析与设计过程案例:图书管理系统
2.重点与难点
重点:面向对象方法的思想。
难点:采用面向对象的思想分析与设计实际案例。
3.学习目的与要求
(1)了解面向对象方法及其优点。
(2)掌握面向对象分析方法与面向对象设计方法。
(3)掌握面向对象分析与设计流程。
第七章 面向数据流的软件设计方法
1.内容概要
7.1 数据流图与数据字典
7.2 实体-关系图
7.3 状态迁移图
7.4 案例分析:教材购销系统
7.5 面向数据流的需求分析方法
7.6 面向数据流的设计方法
2.重点与难点
重点: 数据流方法建模的基本思想。
难点:基于数据流建模的基本思想,结合实际案例,进行结构化分析。
3.学习目的与要求
(1)了解数据流图和数据字典的含义,掌握分层数据流图的绘制。
(2)理解实体关系类型,掌握E-R图的绘制。
(3)了解状态迁移图。
(4)理解面向数据流的思想,基于该思想进行需求分析。
(5)理解面向数据流的思想,基于该思想进行设计。
第八章 用户界面分析与设计
1.内容概要
8.1 人性因素
8.2 设计良好界面的主要途径
8.3 用户界面分析
8.4 用户界面设计
8.5 用户界面原型
8.6 界面设计的评估
2.重点与难点
重点: 设计良好界面的主要途径。
难点:用户界面原型的实际设计。
3.学习目的与要求
(1)了解人性因素对界面设计的影响。
(2)掌握设计良好界面的主要途径。
(3)理解用户界面分析的步骤。
(4)理解用户界面设计的过程。
(5)理解用户界面原型及其设计方法。
(6)了解界面设计的评估方法。
第九章 设计模式
1.内容概要
9.1 设计模式与体系结构描述
9.2 设计模式的主要作用
9.3 常用设计模式解析
9.4 深入认识设计模式
2.重点与难点
重点: 常用设计模式的对比。
难点:结合实际案例,深入理解设计模式的原则。
3.学习目的与要求
(1)理解设计模式的核心思想及其主要作用。
(2)理解常用设计模式的特点。
(3)理解设计模式原则。
第十章 Web服务体系结构
1.内容概要
10.1 Web服务概述
10.2 Web服务体系结构模型
10.3 Web服务的核心技术
10.4 面向服务软件体系结构
10.5 Web服务的应用实例
2.重点与难点
重点:
Web服务栈中各层技术的解析。
SOA特点的解析。
难点:结合实际案例,进行Web服务解析。
3.学习目的与要求
(1)了解Web服务的体系结构及其特点。
(2)了解Web服务体系结构模型。
(3)理解Web服务栈。
(4)理解SOA的特点。
第十一章 基于分布构件的体系结构
1.内容概要
11.1 EJB分布构件框架
11.2 DCOM分布构件框架
11.3 COBRA分布构件框架
2.重点与难点
重点:
EJB的规范及其体系结构。
DCOM的特点及其扩展机制
难点:结合实际案例,对EJB的体系结构进行分析。
3.学习目的与要求
(1)理解EJB的规范及其体系结构。
(2)理解DCOM的特点及其扩展机制。
(3)了解COBRA的基本原理及其体系结构。
第十二章 软件体系结构评估
1.内容概要
12.1 软件体系结构评估的定义
12.2 SAAM体系结构分析方法
12.3 ATAM体系结构权衡分析方法
12.4 评估方法比较
2.重点与难点
重点:
SAAM的评估步骤。
ATAM中的角色分类以及评估过程
难点:结合实际案例,对两种评估方法进行分析。
3.学习目的与要求
(1)理解软件质量模型的特征。
(2)理解基于场景的软件架构分析方法的步骤。
(3)掌握SAAM的评估步骤。
(4)掌握ATAM中的角色分类以及评估过程。
(5)理解SAAM和ATAM两种评估方法各自的特点。
第十三章 软件设计的进化
1.内容概要
13.1 软件演化概述
13.2 软件需求演化
13.3 软件演化的分类
13.4 软件的进化策略
13.5 软件再工程
13.6 软件体系结构的演化
13.7 重构
13.8 软件移植
2.重点与难点
重点:
软件再工程的过程。
重构的方法
难点:结合实际案例,对重构方法进行分析。
3.学习目的与要求
(1)了解软件演化的过程。
(2)理解软件需求演化的原因及其应对措施。
(3)理解软件演化的分类。
(4)理解软件再工程的过程。
(5)理解重构的方法。
(6)理解软件移植的分类。
第十四章 云计算的体系结构
1.内容概要
14.1 云计算
14.2 云计算服务模型
14.3 云计算主要平台
14.4 新兴云软件环境
14.5 云计算的机遇与挑战
2.重点与难点
重点: 云体系结构开发所采用的技术
难点:结合实际案例,对云体系结构开发所采用的技术进行解析。
3.学习目的与要求
(1)了解云计算的技术特点和分类,了解与计算与网格计算的差异。
(2)理解云计算的设计目标,以及云体系结构开发所采用的技术。
(3)了解云计算主要平台所采用的主要技术。
(4)了解新兴云软件环境的发展近况。
(5)了解云计算的机遇与挑战。
四、学时分配
章 次 |
各教学环节学时分配 |
小计 |
讲授 |
实验 |
上机 |
习题 |
讨论 |
课外 |
备 注 |
第1章 软件工程和软件设计概述 |
3 |
2 |
|
1 |
|
|
|
|
第2章 软件模型和描述 |
4 |
3 |
|
1 |
|
|
|
|
第3章 软件体系结构建模和UML |
4 |
3 |
|
1 |
|
|
|
|
第4章 软件设计过程 |
4 |
3 |
|
1 |
|
|
|
|
第5章 软件体系结构风格 |
4 |
3 |
|
1 |
|
|
|
|
第6章 面向对象的软件设计方法 |
5 |
3 |
|
2 |
|
|
|
|
第7章 面向数据流的软件设计方法 |
4 |
3 |
|
1 |
|
|
|
|
第8章 用户界面分析与设计 |
3 |
2 |
|
1 |
|
|
|
|
第9章 设计模式 |
5 |
3 |
|
2 |
|
|
|
|
第10章 Web服务体系结构 |
4 |
3 |
|
1 |
|
|
|
|
第11章 基于分布构件的体系结构 |
3 |
2 |
|
1 |
|
|
|
|
第12章 软件体系结构评估 |
3 |
2 |
|
1 |
|
|
|
|
第13章 软件设计的进化 |
3 |
2 |
|
1 |
|
|
|
|
第14章 云计算的体系结构 |
3 |
2 |
|
1 |
|
|
|
|
五、考核说明
考核方法:闭卷
成绩评定法法:平时成绩*40%+考试成绩*60%
六、主要教材及教学参考书目
(一)主要教材
软件设计和体系结构(第四版),秦航等编著,清华大学出版社,2014.2
(二)主要参考书目
软件架构与模式,[德]Jochim Goll著,贾山译,清华大学出版社,2017.1
简约之美:软件设计之道,[美]Max Kanat-Alexander著,余晟译,人民邮电出版社,2013.1
“算法设计与分析”课程教学大纲
制定人:乔丽娟 审核人:王玉田 批准人:倪建成
一、课程基本信息
开课单位:软件学院
课程名称:算法设计与分析
课程编号:303001
英文名称:The Design and Analysis of Algorithms
课程类型:专业基础课
总 学 时: 52 理论学时:36 实验学时:16
学 分:3
开设专业:软件工程、软件开发、软件测试
先修课程:离散数学、数据结构
二、课程任务目标
(一)课程任务
《算法设计与分析》是软件工程专业和计算机科学与技术专业的专业课。无论是计算科学还是计算实践,算法都在其中扮演着重要角色。本课程的教学目的是讲授在计算机应用中常常遇到的实际问题的解法,讲授设计和分析各种算法的基本原理、方法和技术,培养学生对算法复杂性进行正确分析的能力。
(二)课程目标
在学完本课程之后,学生能够:
⑴掌握算法分析的基本概念和理论。
⑵掌握算法设计技术和分析算法以及算法复杂性。
三、教学内容和要求
(一)理论教学的内容及要求
第一章 算法引论
一、学习目的要求
1.了解算法的计算复杂性分析方法
2.理解算法分析的基本理论
3.掌握算法分析的基本概念
二、主要教学内容
1. 算法的基本概念
2. 表达算法的抽象机制
3. 采用Java语言与自然语言相结合的方式描述算法的方法
4. 算法的计算复杂性分析方法
第二章 递归与分治策略
一、学习目的要求
1.理解典型范例中递归与分治策略应用技巧
2.掌握递归与分治策略
3.掌握数学归纳法证明算法正确性方法
二、主要教学内容
1. 递归的概念
2. 分治法的基本思想
3. 二分搜索技术
4. 大整数的乘法
5. Strassen阵乘法
6. 棋盘覆盖
7. 合并排序
8. 快速排序
9. 线性时间选择
10. 最接近点对问题
11. 循环赛日程表
第三章 动态规划
一、学习目的要求
1.理解典型范例中动态规划算法的设计思想
2.掌握动态规划算法的基本要求以及算法的设计要点
二、主要教学内容
1. 矩阵连乘问题
2. 动态规划算法的基本要素
3. 最长公共子序列
4. 最大子段和
5. 凸多边形最优三角剖分
6. 多边形游戏
7. 图像压缩
8. 电路布线
9. 流水作业调度
10. 0—l背包问题
11. 最优二叉搜索树
12. 动态规划加速原理
三、课堂讨论选题
1. 最长公共子序列
2. 0—l背包问题
第四章 贪心算法
一、学习目的要求
1.了解贪心算法的理论基础及基本要素
2. 理解典型范例中贪心算法的设计思想
3. 掌握贪心算法的设计要点
二、主要教学内容
1. 活动安排问题
2. 贪心算法的基本要素
3. 最优装载
4. 哈夫曼编码
5. 单源最短路径
6. 最小生成树
7. 多机调度问题
8. 贪心算法的理论基础
三、课堂讨论选题
1. 最优装载
2. 单源最短路径
第五章 回溯法
一、学习目的要求
1.理解回溯法的效率分析方法
2.掌握回溯法的算法框架和应用技巧
二、主要教学内容
1. 回溯法的算法框架
2. 装载问题
3. 批处理作业调度
4. 符号三角形问题
5. n后问题
6. 0—l背包问题
7. 最大团问题
8. 图的m着色问题
9. 旅行售货员问题
10. 圆排列问题
11. 电路板排列问题
12. 连续邮资问题
13. 回溯法的效率分
三、课堂讨论选题
1. 0—l背包问题
2. 图的m着色问题
第六章 分支限界法
一、学习目的要求
1.理解分支限界法的基本思想
2.掌握典型范例中分支限界法的应用技巧
二、主要教学内容
1. 分支限界法的基本思想
2. 单源最短路径问题
3. 装载问题
4. 布线问题
5. 0-1背包问题
6. 最大团问题
7. 旅行售货员问题
8. 电路板排列问题
9. 批处理作业调度
三、课堂讨论选题
1. 0-1背包问题
2. 批处理作业调度
第七章 概率算法
一、学习目的要求
1.理解概率算法的基本思想
2.掌握典型范例中概率算法的应用技巧
二、主要教学内容
1. 随机数
2. 数值概率算法
3. 舍伍德算法
4. 拉斯维加斯算法
5. 蒙特卡罗算法
第八章 NP完全性理论
一、学习目的要求
1.了解P类与NP类问题
2.了解典型的NP完全问题
二、主要教学内容
1. 计算模型
2. P类与NP类问题
3. NP完全问题
4. 一些典型的NP完全问题
第九章 近似算法
一、学习目的要求
1.掌握近似算法的基本思想
2.掌握常用近似算法的应用
二、主要教学内容
1. 近似算法的性能
2. 顶点覆盖问题的近似算法
3. 旅行售货员问题近似算法
4. 集合覆盖问题的近似算法
5. 子集和问题的近似算法
第十章 算法优化策略
一、学习目的要求
1.掌握算法优化策略
2.掌握算法优化的基本方法
二、主要教学内容
1. 算法优化策略的比较与选择
2. 动态规划加速原理
3. 问题的算法特征
4. 优化数据结构
5. 优化搜索策略
(二)实践教学的内容及要求
算法设计与分析实验是算法设计与分析课的一个实践性教学环节。通过实验使学生加深对基本算法设计方法的理解,增强学生对解决问题的不同算法运行时间不同的感性认识,使学生在算法设计方法和编程技能等方面得到系统的训练,使学生养成设计良好算法的习惯,为今后从事软件开发和软件理论研究打下良好的实验基础。
一、(实验1)分治法实验
1. 实验目的要求
应用分治法算法解决实际问题,并编程实现。
2. 实验主要内容
(1)写出并调试二分检索的递归程序并调试通过。
(2)写出并调试"由底向上"的归并分类程序,从而取消对栈空间的需求。
3、实验仪器设备
PC兼容机
二、(实验2)动态规划实验
1. 实验目的要求
把动态规划算法应用到求货郎担问题和矩阵乘法问题,并编程实现。
2. 实验主要内容
(1)写出并调试用动态规划方法求货郎担问题的程序。
(2)写出并调试用动态规划方法求矩阵乘法的程序。
3. 实验仪器设备
PC兼容机。
四、学时分配
章 次 |
各教学环节学时分配 |
小计 |
讲授 |
实验 |
上机 |
习题 |
讨论 |
课外 |
备 注 |
第一章 算法引论 |
3 |
2 |
|
1 |
|
|
|
|
第二章 递归与分治策略/分治法实验 |
9 |
6 |
|
3 |
|
|
|
|
第三章 动态规划/动态规划实验 |
9 |
6 |
|
3 |
|
|
|
|
第四章 贪心算法 |
7 |
4 |
|
3 |
|
|
|
|
第五章 回溯法 |
9 |
6 |
|
3 |
|
|
|
|
第六章 分支限界法 |
7 |
4 |
|
3 |
|
|
|
|
第七章 概率算法 |
2 |
2 |
|
|
|
|
|
|
第八章 NP完全性理论 |
2 |
2 |
|
|
|
|
|
|
第九章 近似算法 |
2 |
2 |
|
|
|
|
|
|
第十章 算法优化策略 |
2 |
2 |
|
|
|
|
|
|
合 计 |
52 |
36 |
|
16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
五、考核说明
本课程所采用的考核方法
闭卷
2.成绩评定总则
全面考核学生在课程学习各个环节的理解、掌握和参与情况
3.平时成绩评定
平时成绩=考勤成绩+作业成绩+课堂讨论成绩
4.期末考核评定
课程成绩=平时成绩(10%)+实验成绩(20%)+期末成绩(70%)
六、主要教材及教学参考书目
(一)主要教材
《算法设计与分析》王晓东编著 清华大学出版社 2014年2月第3版
(二)主要参考书目
1.《算法设计与分析》周培德编著 机械工业出版社 1991年1月第1版
2.《算法设计与分析》曹新谱编著 湖南科技出版社 1984年11月第1版
3.《算法与数据结构》傅清祥等编 电子工业出版社 2001年1月第1版
4.《并行算法引论》陈景良编著 石油工业出版社 1992年4月第1版
“HTML5程序设计”教学大纲
制定人:叶永凯 审核人:王玉田 批准人:倪建成
一、课程基本信息
开课单位:软件学院
课程名称:HTML5程序设计
课程编号:3040101
英文名称:HTML5 Programming
课程类型:专业拓展课程
学 时:总 学 时 52 理论学时36 实验学时 16
学 分:2.5
开设专业:软件工程专业 软件工程(软件开发)专业 软件工程(软件测试)专业 软件工程(智能数据)专业 软件工程(移动互联网)专业
先修课程:无
二、课程任务目标
(一)课程任务
本课程是计算机学科专业中必修的一门专业技术基础技能课程。HTML5是Web技术开发最新的网页设计标准。该课程重点介绍HTML5的相关理论和技能。主要任务是理解网页设计相关的理论知识,熟练掌握利用HTML5制作网页的方法。
(二)课程目标
在学完本课程之后,学生能够:
具备扎实的HTML与CSS的开发基础,掌握HTML5基础知识及最新技术,基本掌握JavaScript语言。掌握网页开发的基本步骤,能独立进行整体操作规划及规范编写。
三、教学内容和要求
第一章HTML5简介
1.内容概要
HTML5的基本概念,HTML5简介, HTML5 文件的基本结构,浏览器支持,新元素介绍, HTML5 文件的编写方法、使用记事本手工编写 HTML5文件, 使用Notepad++等其他编辑工具编写HTML5文件。
2.重点与难点
重点:HTML5文件结构及新元素
难点: 编辑工具的熟练使用
3.学习目的与要求
理解 HTML5 的基本概念,了解 HTML5的发展历程,掌握 HTML5 文件的基本结构及编写方法,了解 HTML5 的几种开发工具,掌握代码书写规范。
第二章HTML5 新元素及新特性
1.内容概要
HTML5添加了很多新元素及功能,比如: Canvas,内联SVG,MathML,拖放,地理定位,视频(Video)与音频 (Audio),Input类型,表单元素,表单属性,语义元素,Web存储,Web SQL,应用程序缓存,Web Workers,SSE,WebSocket
2.重点与难点
重点:各种新元素的使用及新特性。
难点:各种HTML新元素的使用及其效果。
3.学习目的与要求
掌握 HTML 中的基本标记,掌握新元素的标签,了解各种web存储的优缺点,掌握使用各种Web存储,掌握WebSocket在网页中的使用场景及用法。
第三章CSS3概述及应用
1.内容概要
CSS3 介绍,CSS3 功能,CSS3 发展历史,CSS3 语法和 CSS3 使用方法,CSS3 字体与段落属性,CSS3 美化表格和表单样式。
2.重点与难点
重点:CSS3控制网页的样式和布局。
难点:各种样式叠加及其影响。
3.学习目的与要求
了解 CSS3 的定义、功能和发展历 史,掌握 CSS3 的语法,掌握 CSS3 的使用方法,掌握利用 CSS3 设置字体与段落 属性,掌握 CSS3 设置表格样式,掌握 CSS3 设置表单样式。
第四章JavaScript技术基础
1.内容概要
JavaScript概述, JavaScript的使用。
2.重点与难点
重点:JavaScript语言基础语法,面向对象编程,网页中DOM元素的操纵。
难点:理清JavaScript与网页的关系。
3.学习目的与要求
了解 JavaScript 的定义,掌握 JavaScript 的语言基础,理解 JavaScript 内置对象及对象编程,掌握利用 JavaScript 操纵DOM元素和CSS3。
四、学时分配
章 次 |
各教学环节学时分配 |
小计 |
讲授 |
实验 |
上机 |
习题 |
讨论 |
课外 |
备 注 |
第一章:HTML5简介 |
6 |
4 |
2 |
|
|
|
|
|
第二章:HTML5 新元素及新特性 |
16 |
12 |
4 |
|
|
|
|
|
第三章:CSS3概述及应用 |
10 |
6 |
4 |
|
|
|
|
|
第四章:JavaScript技术基础 |
20 |
14 |
6 |
|
|
|
|
|
五、考核说明
考核方法:闭卷
成绩评定法法:平时成绩
考试成绩
六、主要教材及教学参考书目
(一)主要教材
1.李东博《HTML5+CSS3从入门到精通》清华大学出版社2013年版。
(二)主要参考书目
//www.runoob.com/html/html5-intro.html
//www.w3school.com.cn/html5/html_5_intro.asp
“功能测试及工具”教学大纲
制定人:王玉田 审核人:齐苏敏 批准人:倪建成
一、课程基本信息
开课单位:软件学院
课程名称:功能测试及工具
英文名称:Functional Testing and Tools
课程代码:303202
开设专业:软件工程(软件测试)专业
课程类型:专业拓展课程
课程类别:专业拓展课程
学 时:总学时 34 理论学时 18 实践学时 16
学 分: 2
先行课程:软件工程(302013)软件测试(302016)
二、课程任务目标
(一)课程任务
本课程是软件工程专业软件测试方向学生的专业拓展课程。通过本课程的学习,学生能够掌握基本的功能测试原理、技术、方法和自动化功能测试工具UFT的使用。为学习后继课程和进一步养成软件工程功能测试思维奠定必要的知识基础。要通过各个教学环节逐步培养学生的功能能测试思维能力、逻辑推理能力、工程实践能力和自学能力,还要特别注意培养学生的熟练掌握自动化功能测试工具的能力和综合运用所学知识去分析解决性能问题的能力。
(二)课程目标
理解功能测试的测试过程
了解自动化测试的方案、流程和策略
掌握UFT的录制回放
掌握对象库的使用
掌握关键驱动测试方法
掌握检查点的设置方法
掌握参数化测试方法
掌握操作模块在测试中的应用方法
三、教学内容和要求
(一)理论教学的内容及要求
第1章 软件功能测试概述
教学内容
1.1 软件功能需求
1.2 软件功能需求分析
1.3 等价类划分法
1.4 边界值分析法
1.5 因果图法
1.6 场景法
教学目标
掌握软件功能测试需求分析方法
掌握基本的功能测试测试用例设计方法
等价类方法
边界值方法
因果图方法
场景法
重点
功能测试需求分析方法
功能测试测试用例设计方法
第2章 软件功能测试过程
教学内容
2.1 软件功能测试前期准备
2.2 软件功能测试计划制定
2.3 测试设计与开发
2.4 测试执行与缺陷追踪
教学目标
了解软件功能测试的基本流程
掌握自动化测试在功能测试过程中的应用
重点
功能测试设计与开发
测试执行与缺陷追踪
第3章 功能测试自动化
教学内容
3.1 功能测试自动化要点
3.2 软件自动化测试工具
3.3 自动化测试框架
教学目标
了解功能测试自动化要点
初步掌握自动化测试工具的选型
重点
自动化测试原理
自动化测试的流程
第4章 HP UFT 简介
教学内容
4.1 UFT工具简介
4.2 UFT插件管理
4.3 初识UFT
教学目标
掌握UFT的安装与环境部署
了解UFT的基本使用
重点
UFT基本使用
第5章 脚本的录制与回放
教学内容
5.1 UFT视图
5.2 UFT基本测试流程
5.3 UFT录制与脚本编辑
教学目标
掌握UFT脚本的录制
了解UFT脚本的回放与保存
重点
UFT录制与回放的设置
第6章 测试对象管理
教学内容
6.1 初识测试对象
对象的概念
UFT对象识别
对象的属性
6.2 UFT对象库
对象库的基本概念
对象库的操作
编辑和修改对象属性
共享对象库
教学目标
掌握识别对象的方法及UFT中的对象
掌握描述UFT对象的方法
了解对象存储库管理UFT对象的机制
重点
对象库的操作方法
第7章 关键字驱动测试
教学内容
7.1 关键字驱动测试概念
关键字驱动测试定义
关键字驱动测试的原理与特点
7.2 关键字驱动测试过程
关键字测试步骤生成
条件语句
循环语句
脚本调试
测试报告
7.3关键字驱动方法的应用过程实例
教学目标
了解关键字
了解关键字驱动测试的原理
掌握关键字驱动测试过程
重点
关键字驱动测试过程
第8章 检查点
教学内容
8.1 检查点定义
8.2 标准检查点
8.3 文本检查点
8.4 位图检查点
8.5 数据库检查点
8.6 可访问性检查点
8.7 XML 检查点
8.8 自定义检查点
教学目标
了解检查点
掌握各种检查点类型
重点
检查点的设置
自定义检查点的创建
第9章 参数化
教学内容
9.1 初识参数化
9.2 参数化测试步骤
9.3 同步点
9.4 参数化类型方法
参数化检查点
Action测试输入的参数化
环境变量参数化
随机数参数化
9.4 使用数据驱动器进行参数化测试
教学目标
掌握参数化的基本概念
掌握参数化类型
了解参数化测试的基本过程
掌握数据驱动参数化的基本原理
重点
掌握参数化的基本原理
第10章 操作模块
教学内容
10.1 Call to New Action
10.2 Call to Copy of Action
10.3 Call to Existing Action
10.4 操作中利用本地和全局数据表
10.5 Action缺失
10.6 Action中的输入和输出参数
教学目标
了解操作模块的定义
掌握操作模块的类型
掌握Function过程的的使用
重点
学会在测试中划分操作模块
Function过程的的使用
第12章 UFT的EXP视图介绍
教学内容
12.1 UFT关键字视图与专家视图
12.1.1 UFT关键字视图
12.1.2 UFT专家视图
12.2 使用UFT专家视图
12.2.1 专家视图的必要性
12.2.2 UFT专家视图的基本语法
12.2.3 在专家视图中编辑测试脚本
12.2.4 自动识别和完成VBScript语法
12.2.5 UFT专家视图方法大全
教学目标
掌握UFT专家视图的基本概念
掌握UFT专家视图的使用方法
重点
UFT 专家视图的使用方法
四、学时分配
章 次 |
各教学环节学时分配 |
小计 |
讲授 |
实验 |
上机 |
习题 |
讨论 |
课外 |
备 注 |
第1章 软件功能测试概述 |
2 |
2 |
|
|
|
|
|
|
第2章 软件功能测试过程 |
2 |
2 |
|
|
|
|
|
|
第3章 功能测试自动化 |
2 |
2 |
|
|
2 |
|
|
|
第4章 HP UFT简介 |
4 |
4 |
|
|
|
2 |
|
|
第5章脚本的录制与回放 |
4 |
4 |
|
2 |
|
|
|
|
第6章 测试对象管理 |
2 |
2 |
|
|
|
|
|
|
第7章 关键字驱动测试 |
4 |
4 |
|
|
|
|
|
|
第8章 检查点 |
4 |
4 |
|
|
|
|
|
|
第9章 参数化 |
4 |
4 |
|
|
|
|
|
|
第10章 操作模块 |
4 |
4 |
|
|
|
|
|
|
第12章 UFT的EXP视图介绍 |
2 |
2 |
|
|
|
|
|
|
合计 |
36 |
36 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
五、考核说明
考试。成绩构成及比例:平时成绩20%,期中成绩20%,期末成绩60%。
六、主要教材及教学参考书目
(一)主要教材
于学军等《软件功能测试及工具使用》,清华大学出版社,2014年版。
(二)主要参考书目
周焕来等《软件功能测试自动化实战教程》.人民邮电出版出版社,2015年版。
“软件测试”教学大纲
制定人:王妍 审核人:王玉田 批准人:倪建成
一、课程基本信息
开课单位:软件学院
课程名称:软件测试基础
课程编号:303002 303003 302016
英文名称:Software Testing
课程类型:专业核心课程
学 时:总 学 时 52 理论学时 36 实验学时 16
学 分:3
开设专业:软件工程
先修课程:软件工程导论、面向对象的程序设计语言
二、课程任务目标
(一)课程任务
本课程是理工科院校工科的一门学科基础课,又是软件工程专业学生的专业核心课程。通过本课程的学习,要使学生掌握基本的测试技术、测试方法、测试管理过程以及自动化测试工具。为学习后继课程和进一步养成软件工程测试思维奠定必要的知识基础。要通过各个教学环节逐步培养学生的逆向思维能力、逻辑推理能力、工程实践能力和自学能力,还要特别注意培养学生的熟练掌握自动化测试工具的能力和综合运用所学知识去分析解决问题的能力。
(二)课程目标
在学完本课程之后,学生能够:
掌握测试管理的过程及工作任务,熟练运用自动化测试过程管理平台TestLink进行自动化过程的各项活动及任务管理。
掌握并熟练运用基本的测试技术:白盒测技术和黑盒测试技术。并能够利用相关技术进行测试用例的设计。
掌握测试过程各阶段的任务及组成人员以及各阶段的活动过程。
掌握相关的自动化测试工具,并能够熟练运用。
三、教学内容和要求
第一章 软件测试概述
1.内容概要
软件、软件危机和软件工程的回顾,软件测试的基本概念、测试的原则,测试质量及测试模型,测试的分类、测试流程、测试发展历程和发展趋势。
2.重点与难点
重点:测试的概念、原则、分类及流程。
难点:测试原则的理解及测试分类的理解。
3.学习目的与要求
(1)了解测试的概念、质量与质量模型的概念及评价方法。
(2)了解测试的概念及原则,理解“测试是为了发现缺陷”这一概念。
(3)掌握测试的过程模型,理解V模型、W模型、X模型、H模型的区别。
(4)理解测试的分类,能准确按照不同角度进行测试的分类。
第二章 软件测试计划
1.内容概要
软件测试计划的作用、制定测试计划的原则、如何制定测试计划以及需要面对的问题、衡量测试计划的标准。
2.重点与难点
重点:制定测试计划的原则。
难点:如何制定测试计划。
3.学习目的与要求
(1)了解制定测试计划的作用。
(2)掌握制定测试计划的原则,并能够独立用TestLink平台进行测试计划的制定。
(3)掌握制定测试计划的步骤,能够根据标准模板写出测试计划。
第三章 软件测试技术
1.内容概要
白盒测试:静态测试、逻辑覆盖、基本路径测试法
黑盒测试:等价类划分、边界值分析、因果图、判定表与判定树、场景法、正交试验法
2.重点与难点
重点:各种测试技术的测试过程及测试步骤。
难点:如何利用测试技术设计测试用例。
3.学习目的与要求
(1)掌握各种测试技术的基本方法和测试步骤
(2)熟练利用各种测试技术进行测试用例的设计
第四章 软件测试过程
1.内容概要
单元测试、集成测试、系统测试、验收测试、回归测试
2.重点与难点
重点:各种测试过程的任务、原则、实施过程
难点:单元测试工具Junit的使用,集成测试的原则与方案
3.学习目的与要求
(1)掌握单元测试的过程、主要任务及单元测试工具Junit的配置使用方法,会利用Junit进行桩模块及驱动模块的开发。
(2)掌握集成测试的集成方式及各自的优缺点。
(3)了解系统测试的概念,掌握系统测试过程及自动化功能测试工具、自动化性能测试工具的使用。
第五章 测试用例的设计
1.内容概要
测试用例的基本概念、测试用例的设计方法、测试用例的实例、测试用例的管理。
2.重点与难点
重点:测试用例设计方法
难点:测试用例设计实例
3.学习目的与要求
(1)进一步掌握各种测试技术,并能将这些测试技术应用在测试用例的设计中。
(2)掌握测试用例设计的过程,能利用Testlink进行测试用例的设计以及跟需求的关联设计。
第六章 测试报告与测试评测
1.内容概要
软件缺陷及缺陷种类,缺陷生命周期、缺陷状态、缺陷报告的书写格式、缺陷跟踪管理系统的应用。
2.重点与难点
重点:缺陷属性及缺陷报告的编写
难点:缺陷报告的语言描述原则及缺陷重现与缺陷隔离
3.学习目的与要求
(1)根据缺陷分类、缺陷状态、缺陷属性,能够熟练编写缺陷报告。
(2)掌握使用Mantis对缺陷报告进行提交及管理的方法。
第七章 软件测试项目管理
1.内容概要
软件测试项目与软件测试项目管理、软件测试文档交付物、软件测试的配置管理、软件测试风险管理、软件测试成本管理。
2.重点与难点
重点:软件测试的配置管理
难点:软件测试的风险计算方法及成本计算方法。
3.学习目的与要求
(1)结合软件测试项目管理的基本思想和方法,进一步理解TestLink测试管理平台的使用方法。
(2)掌握风险分析中的表格分析法和矩阵分析法
(3)会利用缺陷探测率及投资回报率的公式计算成本。
第九章 Web应用测试
1.内容概要
Web应用测试概述、Web功能测试、Web界面测试、Web兼容性测试、Web安全性测试
2.重点与难点
重点:Web性能测试的性能指标及测试方法
难点:Web性能测试自动化工具的使用
3.学习目的与要求
(1)掌握性能测试的各项指标及含意
(2)掌握性能测试的种类及性能测试模型
(3)理解性能测试的测试流程
第十章 软件测试自动化
1.内容概要
测试自动化的基础、测试自动化的作用与优势、测试自动化的引入条件、自动化测试工具的简单介绍。
2.重点与难点
重点:如何引入自动化测试工具、引入自动化测试有哪些优势。
难点:自动化测试工具的使用。
3.学习目的与要求
(1)了解各种先进的自动化工具,掌握其简单使用方法。
(2)了解自动化性能测试工具LoadRunner的使用方法。
(3)了解自动化Web应用测试工具Selenium的使用方法。
四、学时分配
章 次 |
各教学环节学时分配 |
小计 |
讲授 |
实验 |
上机 |
习题 |
讨论 |
课外 |
备 注 |
第一章:软件测试概述 |
3 |
2 |
1 |
|
|
|
|
|
第二章:软件测试计划 |
3 |
2 |
1 |
|
|
|
|
|
第三章:软件测试基本技术 |
28 |
18 |
8 |
|
|
|
|
|
第四章:软件测试过程 |
3 |
2 |
1 |
|
|
|
|
|
第五章:测试用例设计 |
3 |
2 |
1 |
|
|
|
|
|
第六章:测试报告与测试评测 |
3 |
2 |
1 |
|
|
|
|
|
第七章:软件测试项目管理 |
3 |
2 |
1 |
|
|
|
|
|
第九章:Web应用测试 |
3 |
2 |
1 |
|
|
|
|
|
第十章:软件测试自动化 |
3 |
2 |
1 |
|
|
|
|
|
合计 |
52 |
36 |
14 |
|
|
|
|
|
五、考核说明
考核方法:闭卷
成绩评定法法:平时成绩30%,考试成绩70%
六、主要教材及教学参考书目
(一)主要教材
佟伟光,《软件测试》(第二版),人民邮电出版社,2005年。
(二)主要参考书目
周元哲,《软件测试实用教程》,人民邮电出版社,2013年。
2.蔡建平,《软件测试方法与技术》,清华大学出版社,2014年。
“软件项目管理”教学大纲
制定人:胡春美 审核人:王玉田 批准人:倪建成
一、课程基本信息
开课单位:软件学院
课程名称:软件项目管理
课程编号:303102
英文名称:Software Project Management
课程类型:专业拓展课程
学 时:总 学 时 52 理论学时 36 实验学时 16
学 分:3
开设专业:软件工程
先修课程:软件工程(302013) 软件体系结构与设计(302015)
二、课程任务目标
(一)课程任务
《软件项目管理》是一门技术和管理交叉型、指导软件开发项目的组织与管理的学科。其旨在
培养软件项目管理人才。学生通过对本课程的学习,使学生掌握有关软件项目管理的基本理论,熟悉软件项目管理的方法、流程和工具;培养在软件开发组织中管理软件开发项目的基本能力,并将软件项目管理的理论应用于软件项目的实践,提高分析、解决问题的能力。
(二)课程目标
在学完本课程之后,学生能够:
(1)掌握现代项目管理的基本原理和基本方法;
(2)了解项目特别是软件项目管理各个阶段所需的基本技术和工具;
(3)初步具备制订项目计划和实施项目管理的基本技能。
(4)具有一定的组织管理能力、沟通能力和人际交往能力以及在团队中发挥作用的能力。
三、教学内容和要求
第一章 软件项目管理概述
1.内容概要
项目,管理,项目管理,软件项目管理概述,项目管理工具,工作分解结构。
2.学习目的与要求
(1)掌握项目的基本概念,项目的特征及属性。
(2)掌握建立工作分解结构的方法。
(3)理解项目管理的各要素及时间、质量、成本三要素之间的关系。
(4)理解软件项目难以管理的原因及软件项目管理的原则。
(5)了解项目管理的常见工具。
第二章 软件开发过程管理
1.内容概要
软件生命周期,软件过程,软件开发过程,软件开发过程模型及模型的选择,传统开发过程存在的问题,实施软件开发过程管理。
2.学习目的与要求
(1)掌握软件开发过程各模型的特点及适用情况。
(2)掌握典型的软件生命周期包括哪些阶段。
(3)了解软件过程的定义,过程管理的必要性及开发过程各阶段的主要任务。
(4)理解传统开发过程存在的问题及如何实施软件开发过程管理。
第三章 进度计划管理
1.内容概要
软件项目进度计划概述,软件项目的活动,进度计划编制的技术和方法,进度计划的表达形式及编制过程,进度计划控制。
2.学习目的与要求
(1)掌握活动排序的前导图法和箭线图法。
(2)掌握甘特图的相关知识。
(3)掌握用关键路径法制订软件项目进度计划的方法及计划评审技术。
(4)理解进度计划的内容,作用及进度计划控制的难点。
(5)理解软件项目管理中资源、时间、质量之间的关系。
(6)了解进度计划编制的过程及原则。
第四章 可行性研究
1.内容概要
可行性研究的含义及作用,可行性研究的内容,可行性研究的阶段,成本/效益分析,方案选择与决策,可行性研究报告的描述方法。
2.学习目的与要求
(1)掌握可行性研究的内容及阶段。
(2)掌握投资回收期,投资收益率的概念及计算方法。
(3)理解系统流程图的作用并掌握编制方法。
(4)了解方案的选择与决策
第五章 招标投标管理
1.内容概要
招标投标管理概述,招标管理,投标管理,开标,评标,定标,做好投标工作策略。
2.学习目的与要求
(1)掌握招标投标过程。
(2)理解招标投标的作用及中标无效的情况。
(3)了解投标工作策略。
第六章 合同管理
1.内容概要
合同准备,合同谈判,合同签署,合同履行,合同变更和解除,合同争议。
2.学习目的与要求
(1)掌握合同管理的过程。
(2)理解合同中的甲方和乙方。
(3)了解合同的常见争议及争议解决方式。
第七章 质量管理
1.内容概要
软件质量与软件质量管理,软件质量策划,软件质量计划,软件质量保证,软件质量控制,软件质量改进,软件评审,软件质量度量,ISO 9000质量管理体系。
2.学习目的与要求
(1)掌握质量保证和质量控制相关内容。
(2)理解质量的定义及质量管理过程。
(3)了解质量度量过程,掌握一种质量度量模型的应用。
第八章 成本管理
1.内容概要
软件成本分析,软件资源计划,软件开发成本估算,软件维护成本估算,软件成本预算,软件成本控制。
2.学习目的与要求
(1)掌握软件开发成本估算的方法及成本控制方法。
(2)理解软件成本的特点及软件成本影响因素。
第九章 配置管理
1.内容概要
配置管理概述,配置管理的相关概念,配置管理的组织,配置管理计划,配置管理的主要活动,配置管理工具。
2.学习目的与要求
(1)掌握配置管理的相关概念及配置管理的主要活动。
(2)理解配置管理的作用。
(3)了解配置管理工具的使用。
第十章 风险管理
1.内容概要
风险及风险管理,风险管理规划,风险识别,风险分析与评估,风险应对与控制,风险监控。
2.学习目的与要求
(1)掌握风险的定义及软件项目风险类型。
(2)掌握风险的评估及应对方法。
(3)了解风险识别的方法。
第十一章 人力资源管理
1.内容概要
软件项目人力资源的特征,人力资源管理的主要内容,人员的组织与分工,人力资源计划,项目经理,团队建设,软件企业人力资源管理的主要措施。
2.学习目的与要求
(1)掌握项目组的组织形式及适用情况。
(2)理解软件项目人力资源特征。
(3)了解人力资源计划及项目经理的相关知识。
第十二章 收尾管理
1.内容概要
软件项目收尾,软件项目验收,软件项目移交与清算,软件项目后评价。
2.学习目的与要求
(1)理解软件项目后评价及其作用。
(2)了解软件项目收尾及软件项目验收的内容。
四、学时分配
章 次 |
各教学环节学时分配 |
小计 |
讲授 |
实验 |
上机 |
习题 |
讨论 |
课外 |
备 注 |
第一章:软件项目管理概述 |
4 |
4 |
|
|
|
|
|
|
第二章:软件开发过程管理 |
5 |
2 |
|
3 |
|
|
|
|
第三章:进度计划管理 |
7 |
4 |
|
3 |
|
|
|
|
第四章:可行性研究 |
6 |
4 |
|
2 |
|
|
|
|
第五章:投标招标管理 |
2 |
2 |
|
|
|
|
|
|
第六章:合同管理 |
2 |
2 |
|
|
|
|
|
|
第七章:质量管理 |
6 |
4 |
|
2 |
|
|
|
|
第八章:成本管理 |
4 |
4 |
|
|
|
|
|
|
第九章:配置管理 |
6 |
4 |
|
2 |
|
|
|
|
第十章:风险管理 |
4 |
2 |
|
2 |
|
|
|
|
第十一章:人力资源管理 |
2 |
2 |
|
|
|
|
|
|
第十二章:收尾管理 |
4 |
2 |
|
2 |
|
|
|
|
五、考核说明
考核方法:闭卷
成绩评定法法:平时成绩
考试成绩
六、主要教材及教学参考书目
(一)主要教材
1.《软件项目管理》任永昌编著 清华大学出版社。
(二)主要参考书目
1.《软件项目管理》薛四新,贾郭军编著 机械工业出版社 2010年
2.《软件项目管理》张家浩编著 机械工业出版社 2005年
“数据挖掘”课程教学大纲
制定人:周子力 审核人:王玉田 批准人:倪建成
一、课程基本信息
开课单位:软件学院
课程名称:数据挖掘
课程编号:304029
英文名称:Data Mining
课程类型:专业拓展课
总 学 时:52 理论学时:36 实验学时:16
学 分:3
开设专业:软件工程
先修课程:数据库原理、概率论与数理统计、高级程序设计语言、数据结构
二、课程任务目标
(一)课程任务
本课程是一门软件工程专业的专业拓展课程,本课程主要讲授数据挖掘的基本概念,原理、方法和技术,具体包括:数据基本知识、分类预测、关联挖掘、聚类分析等内容。通过学习,使学生理解数据挖掘的基本流程。有利于学生在学完本课程之后能够解决一些与数据挖掘与分析相关的实际问题,为后续课程的学习、以后的工作和深造打好知识基础。
(二)课程目标
本课程旨在通过课堂讲授及实验教学,使学生了解数据挖掘这种现代数据分析和知识挖掘方法的思想与技术,了解数据挖掘的基本理论,掌握重要的数据挖掘方法。在理论教学上达到学生能够掌握数据相关的基础知识,如数学类型、数据属性,数据间的度量等;掌握基本的数据分类建模方法,如决策树分类、KNN分类、贝叶斯分类和SVM等;掌握数据的关联规则挖掘方法,尤其是其中的几种常用的频繁项集产生方式;掌握数据的聚类算法,如,K均值、层次聚类和基于密度的数据聚类算法等。实践教学方面能使学生掌握经典的数据挖掘算法,通过编写程序针对具体的数据集进行分析挖掘,提高学生的分析问题和解决问题的能力。
三、教学内容和要求
(一)理论教学的内容及要求
第一章 绪论(2学时)
1. 内容概要
数据挖掘的定义,数据挖掘主要解决的问题有哪些,数据挖掘的起源以及数据的任务和目的。
2. 重点难点
重点:数据挖掘的定义,数据挖掘的任务和目的。
难点:对于数据挖掘的认识,以及对其任务的理解。
3. 学习目的与要求
(1)理解什么是数据挖掘。
(2)了解数据挖掘解决的问题有哪些?
(3)了解数据的起源。
(4)理解数据挖掘的任务和目的。
第二章 数据 (6学时)
1. 内容概要
本章主要是讨论数据相关的问题,其中包括对于数据的认识,即数据类型,数据的属性等。对数据质量进行了分析,同时对于数据预处理做了较详细的阐述。数据间的度量部分主要阐述了相似性和相异性的度量方法,给出了几种度量数据间相似性和相异性的具体方法。
2. 重点难点
重点:数据属性以及数据的类型,数据的预处理的方法,数据相似性和相异性的度量。
难点:数据属性的理解,数据相似性和相异性度量方法的理解。
3. 学习目的与要求
(1)掌握数据的属性,即属性类型有哪几种,不同的属性类型的区别。
(2)理解不同的数据类型的定义。
(3)了解数据质量。
(4)了解数据预处理的不同方法。
(5)理解数据间相似性和相异性的度量方法。
第三章 探索数据(2学时)
1. 内容概要
本章对数据进行初步的研究,以便更好地理解数据的特殊性质。主要有三部分内容,即,数据的汇总统计,可视化和联机分析处理。根据学时安排,本章将主要介绍汇总统计和部分的可视化内容。
2. 重点难点
重点:数据的汇总统计,数据的可视化。
难点:对于数据的汇总统计中的统计参数的理解。
3. 学习目的与要求
(1)理解数据的汇总统计中的参数的定义。
(2)了解数据的不同的可视化方法。
第四章 分类:基本概念、决策树与模型评估(8学时)
1. 内容概要
本章主要对于分类任务中基本概念进行详细的阐述,对数据分类的具体方法进行介绍。主要对决策树分类方法进行了分析,其中包括决策树的工作原理、建立决策树的方法 、表示属性测试条件的方法等。对模型的过拟合进行了分析,包括过拟合的原因及解决方法,泛化误差估计。本章最后是介绍了评估分类器的性能。
2. 重点难点
重点:解决数据分类问题的方法与步骤,决策树的工作原理,构建决策树的方法,数据分类中的过拟合的理解,对于评估分类的性能的理解。
难点:决策树的工作原理,属性测试条件中的方法,如信息增益、GINI指数等,不同数据属性的最佳划分的度量。数据分类中的过拟合及解决方法的理解,泛化误差估计。
3. 学习目的与要求
(1)了解解决分类问题的一般方法。
(2)理解决策树的工作原理。
(3)掌握建立决策树的基本方法。
(4)掌握表示属性测试条件的方法。
(5)理解模型的过拟合的定义。
(6)了解导致模型过拟合的原因。
(7)掌握泛化误差估计方法。
(8)了解评估分类器的性能。
第五章 分类:其他技术(2学时)
1. 内容概要
本章对构建分类模型中的其他技术进行介绍,其中包括基于规则的分类器、KNN最近邻分类器、贝叶斯分类器和SVM支持向量机分类器。本课程根据学时情况主要对KNN最近邻分类器和贝叶斯分类器进行讲解。
2. 重点难点
重点:KNN最近邻分类器,贝叶斯分类器
难点:对于KNN最近邻分类器的方法的理解以及影响分类结果的因素。理解贝叶斯分类器的工作原理。
3. 学习目的与要求
(1)了解数据分类的几种常用方法。
(2)理解KNN最近邻分类器的基本原理。
(3)掌握KNN最近邻分类器的方法与步骤。
(4)理解贝叶斯分类器的基本原理。
(5)掌握贝叶斯分类器的方法与步骤。
第六章 关联分析:基本概念和算法(8学时)
1. 内容概要
本章主要对数据的关联规则进行挖掘,用于发现隐藏在大型数据集中的有意义的联系。主要是介绍了关联规则挖掘的方法与步骤,首先对购物篮数据进行频繁项集的生成,然后产生关联规则。最近介绍了关联模式的评估方法。
2. 重点难点
重点:频繁项集的生成方法,Apriori算法原理,FP增长算法,关联模式的评估方法。
难点:Apriori算法原理,候选的产生与剪枝,支持度计数方法,极大频繁项集,频繁闭项集。FP的构造,FP增长算法的频繁项集产生。关联模式的评估方法及指标。
3. 学习目的与要求
(1)理解关联规则及相关概念的定义。
(2)理解先验原理定理,单调性的定义。
(3)掌握产生频繁项集的Apriori算法。
(4)掌握使用Hash树进行支持度计算的方法。
(5)理解关系规则产生的方法。
(6)掌握频繁项集的紧凑表示。
(7)掌握用于生成频繁项集的FP增长方法
(8)理解与掌握关联规则评估的方法及主要指标。
第八章 聚类分析:基本概念和算法(8学时)
1. 内容概要
本章主要对没有类标签的数据进行聚类方法进行介绍。首先,给出了聚类分析的定义及意义,然后对不同的聚类类型和簇类型进行了介绍。重点介绍了K均值聚类算法,层次聚类方法以及基于密度的聚类算法。
2. 重点难点
重点:K均值聚类算法、层次聚类算法、DBSCAN聚类算法
难点:K均值聚类算法的工作原理与聚类步骤,影响K均值聚类算法的因素。层次聚类中簇邻近性的不同度量方法。DBSCAN算法的工作原理及步骤。
3. 学习目的与要求
(1)理解聚类分析的定义
(2)了解不同的聚类类型和簇类型。
(3)掌握K均值聚类算法。
(4)了解二分K均值聚类算法。
(5)理解K均值算法的影响因素。
(6)理解与掌握层次聚类方法。
(7)理解与掌握DBSCAN聚类算法。
(二)实践教学的内容及要求
本课程实践教学采用python作为开发语言,通过学生自己编写和采用数据分析包等方式加深对数据挖掘中的算法的理解。
1. 数据汇总分析与可视化
(1)实验目的:掌握数据汇总分析方法,掌握基本的数据可视化方法。
(2)实验内容:给定数据集,编写python程序对数据集的数据进行统计,并通过matplotlib绘图工具包对数据统计结果进行可视化呈现。
(3)实验要求:根据数据分析实验过程,撰写实验报告。
2. 决策树分类器设计
(1)实验目的:掌握决策树分类方法,决策树构建过程以及数据属性条件测试方法。
(2)实验内容:针对给定数据,通过不同的属性条件测试方法编写决策树分类器程序,并且于采用工具包中的分类器进行性能比较。
(3)实验要求:根据分类器的设计过程,撰写实验报告。
3. KNN分类器设计与贝叶斯分类器设计
(1)实验目的:掌握KNN分类器和贝叶斯分类器的设计方法。
(2)实验内容:针对给定数据集,编写python程序实现KNN和贝叶斯分类器,并与现有工具包中的分类器进行性能比较。
(3)实验要求:根据分类器的设计过程,撰写实验报告。
4. 数据分类大作业
(1)实验目的:掌握数据建模、模型训练、优化方法。
(2)实验内容:给定一组数据量比较的数据集,编写python程序,采用多种分类方法来对数据进行分类。并对所采用的分类方法进行比较。分析其优缺点。
(3)实验要求:撰写实验报告,详细写出数据分类过程。
5. Apriori算法与FP增长算法设计
(1)实验目的:掌握Apriori算法和FP增长算法
(2)实验内容:给定一组事务数据,编写python程序对其中的规则进行挖掘,其中频繁项集的产生分别采用Apriori算法和FP增长算法来实现。
(3)实验要求:根据关联规则的挖掘过程,撰写实验报告。
6. K均值算法与二分K均值算法设计
(1)实验目的:掌握K均值算法和二分K均值算法的设计方法。
(2)实验内容:针对给定的数据,编写python程序实现K均值和二分K均值算法,对数据进行聚类,并且与现有工具包中的聚类算法进行性能比较,并做分析。
(3)实验要求:根据聚类过程撰写实验报告。
7. 层次聚类与DBSCAN算法设计
(1)实验目的:掌握层次聚类的几种方法,以及DBSCAN聚类算法
(2)实验内容:针对给定的数据,编写python程序实现层次聚类算法和DBSCAN聚类算法,对数据进行聚类,并且与现有工具包中的聚类算法进行性能比较,并做分析。
(3)实验要求:根据聚类过程撰写实验报告。
8. 数据挖掘大作业
(1)实验目的:通过综合使用数据挖掘中的数据分析方法,掌握对数据进行挖掘的方式方法,理解数据挖掘过程。
(2)实验内容:给定一种综合性的数据挖掘任务。即给定一组数据集,结合数据挖掘中的算法对数据进行分析。
(3)实验要求:撰写设计报告,其中包括题目分析,算法设计,数据分析比较等内容。
四、学时分配
章 次 |
各教学环节学时分配 |
小计 |
讲授 |
实验 |
上机 |
习题 |
讨论 |
课外 |
备 注 |
第一章 绪论 |
2 |
2 |
|
|
|
|
|
|
第二章 数据 |
8 |
6 |
2 |
|
|
|
|
|
第三章 探索数据 |
2 |
2 |
|
|
|
|
|
|
第四章 分类:基本概念、决策树与模型 |
12 |
8 |
4 |
|
|
|
|
|
第五章 分类:其他技术 |
4 |
2 |
2 |
|
|
|
|
|
第六章 关联分析:基本概念和算法 |
12 |
8 |
4 |
|
|
|
|
|
第八章 聚类分析:基本概念和算法 |
12 |
8 |
4 |
|
|
|
|
|
合 计 |
52 |
36 |
16 |
|
|
|
|
|
五、考核说明
本课程期末采取闭卷考试,最后本课程成绩评定的方法,是由期末考试与平时成绩、再加实验成绩结合而成。
六、主要教材及教学参考书目
(一)主要教材
1.Pang-Ning Tan等著,范明等译,《数据挖掘导论》 (完整版),人民邮电出版社,2011年。
(二)主要参考书目
1. Jiawei Han等著,范明等译,《数据挖掘(概念与技术)》,机械工业出版社,2012年。
2. David Hand等著,张银奎等译,《数据挖掘原理》,机械工业出版社,2003年。
3. 周志华 著,机器学习, 北京: 清华大学出版社, 2016年。
“信息安全概论”课程教学大纲
制定人:马旭 审核人:王玉田 批准人:倪建成
一、课程基本信息
开课单位:软件学院
课程名称:信息安全概论
课程编号:30202711
英文名称:Introduction to Information Security
课程类型:专业必修课
总 学 时: 54 理论学时:36 实验学时: 18
学 分:2
开设专业:软件工程
先修课程:计算机网络、数据库基础
二、课程任务目标
(一)课程任务
《信息安全概论》是计算机科学与技术专业的专业选修课,通过本课程的学习,使学生能了解信息安全在信息时代的重要性,培养学生掌握信息安全基础技术、提高信息安全防护意识,增强信息系统安全保障能力。
(二)课程目标
通过本课程的学习,学生能够:
对信息安全领域有较全面的了解。
掌握信息安全技术的基本原理和基本方法。
掌握信息保密技术、信息认证技术、密钥管理技术、访问控制技术、数据库安全、网络安全技术等理论知识与相关的实践操作技能。
三、教学内容和要求
(一)理论教学的内容及要求
理论教学方面,本课程分别介绍信息安全的基本概念、目标和研究内容;密码学的基本概念;对称密码体制和公钥密码体制;密码学理论的应用机制;访问控制技术;网络攻击技术和恶意代码分析 网络安全防御系统;网络层、传输层及应用层的安全协议;评估信息系统安全的国内外标准;主要内容及要求如下:
1、信息安全的基本概念 (4学时)
1.1信息的定义、性质和分类
1.2信息安全概念
1.3信息安全威胁
1.4信息安全的实现
教学要求:了解信息安全的相关概念;了解信息安全的主要威胁与解决方案。
教学重点:信息安全概念,信息安全威胁,信息安全技术
教学难点:信息安全技术
2、密码学理论及技术 (8学时)
2.1密码技术概念
2.2对称密码技术
2.3非对称密码技术
2.4密钥分配与管理技术
2.5数字签名
2.6信息隐藏技术
教学要求:了解密码技术概念;理解对称与非对称密码技术的基本原理;掌握数字签名的工作原理;了解信息隐藏的基本原理;
教学重点:对称密钥密码技术、非对称密钥密码技术和公钥基础设施,数字签名。
3、身份认证协议 (4学时)
3.1基于口令的认证
3.2 Kerberos认证
3.3基于公钥证书的认证
3.4其他认证技术
教学要求:了解身份认证的基本方法及原理。
教学重点:身份认证的概念及认证技术。
教学难点: Kerberos认证、基于公钥证书的认证技术
4、访问控制 (4学时)
4.1访问控制模型
4.2防火墙原理
4.3防火墙配置
教学要求:了解访问控制模型的基本组成;理解防火墙的工作原理;掌握常用防火墙工具的使用。
教学重点: 访问控制的概念,防火墙的架设及访问列表配置。
教学难点: 访问列表配置。
5、网络攻击技术和恶意代码分析 (4学时)
5.1常见网络攻击原理与防范
5.2病毒简介
5.3病毒防范技术
5.4常见系统漏洞
5.5漏洞扫描技术
5.6入侵检测技术
5.7审计技术
教学要求:了解常见系统漏洞的原理;了解常见的入侵检测技术;掌握常用的扫描工具;
教学重点: 系统漏洞及基本的扫描技术,入侵检测技术的特点。
教学难点: 入侵检测技术的特点。
6、网络层、传输层及应用层的安全协议 (8学时)
6.1 IPSec安全体系结构
安全联盟
安全协议
密钥管理
IPSec协议的应用
掌握 ESP协议、 AH协议
了解ISAKMP协议、 IKE协议
掌握IPSec协议的应用
了解VPN关键技术、VPN实现技术
6.2 SSL协议结构
SSL握手协议
SSL记录协议
SSL支持的密码算法
SSL协议安全性分析
教学难点:掌握SSL协议结构、 SSL握手协议、SSL的握手过程、SSL的握手消息、会话和连接状态、掌握SSL记录协议、 记录格式、记录压缩、记录加密、掌握 SSL支持的密码算法、了解 SSL协议安全性分析、握手协议的安全性、 记录协议的安全性
7 信息安全标准及等级保护 (4学时)
7.1 国内外信息安全标准
7.2信息技术安全评估公共准则
7.3信息技术安全评估公共准则、系统安全工程能力成熟模型
7.4等级保护基本概念、等级保护定级方法、等级保护基本要求、等级保护应用举例
教学难点:掌握等级保护基本概念、掌握等级保护定级方法、定级基本原理、定级一般方法、理解等级保护基本要求、等级保护应用举例、等级保护定级方法、定级基本原理、等级保护定级方法、定级基本原理
四、学时分配
章 次 |
各教学环节学时分配 |
小计 |
讲授 |
实验 |
上机 |
习题 |
讨论 |
课外 |
备 注 |
第一章:信息安全的基本概念 |
4 |
4 |
|
|
|
|
|
|
第二章:密码学理论及技术 |
8 |
8 |
|
|
|
|
|
|
第三章:身份认证协议 |
4 |
4 |
|
|
|
|
|
|
第四章:访问控制 |
4 |
4 |
|
|
|
|
|
|
第五章:网络攻击技术和恶意代码分析 |
4 |
4 |
|
|
|
|
|
|
第六章:网络层、传输层及应用层的安全协议 |
8 |
8 |
|
|
|
|
|
|
第七章:信息安全标准及等级保护 |
4 |
4 |
|
|
|
|
|
|
总计: |
36 |
36 |
|
|
|
|
|
|
五、考核说明
本课程采用闭卷考试与平时成绩相结合的考核方法,其考核方法如下:
实验及实验报告:20%
平时及作业:10%
期末考试:70%
六、主要教材及教学参考书目
(一)主要教材
熊平、朱天清: 《信息安全原理及应用》(第三版),清华大学出版社,2013年。
(二)主要参考书目
Mark Rhodes-Ousley著,李洋、段洋、叶天斌译《信息安全安全参考手册》,清华大学出版社
“性能测试及工具”教学大纲
制定人:王妍 审核人:王玉田 批准人:倪建成
一、课程基本信息
开课单位:软件学院
课程名称:性能测试及工具
课程编号:303203
英文名称:Performance Testing and Tools
课程类型:专业拓展课程
学 时:总 学 时 34 理论学时 18 实验学时 16
学 分:2
开设专业:软件工程
先修课程:软件工程导论、软件测试
二、课程任务目标
(一)课程任务
本课程是理工科院校工科的一门学科方向课,又是软件工程专业软件测试方向学生的专业拓展课程。通过本课程的学习,要使学生掌握基本的性能测试技术、测试方法、测试管理过程以及自动化性能测试工具LoadRunner的使用。为学习后继课程和进一步养成软件工程性能测试思维奠定必要的知识基础。要通过各个教学环节逐步培养学生的性能测试思维能力、逻辑推理能力、工程实践能力和自学能力,还要特别注意培养学生的熟练掌握自动化性能测试工具的能力和综合运用所学知识去分析解决性能问题的能力。
(二)课程目标
在学完本课程之后,学生能够:
了解性能测试的基本概念、常用的性能测试指标。
掌握常用的性能测试方法,理解基准测试、压力测试、负载测试、并发测试、疲劳测试、数据量测试及配置测试的概念。
掌握性能测试管理的过程及工作任务,熟练运用自动化性能测试工具LoadRunner进行性能测试。
三、教学内容和要求
第一章 软件性能测试概述
1.内容概要
软件性能基础、常用性能指标、软件性能的影响因素、软件性能生命周期模型、软件性能模型
2.重点与难点
重点:常用性能指标的理解
难点:性能需求分析的方法
3.学习目的与要求
(1)理解性能测试常用指标的概念
(2)掌握性能需求分析的基本方法
第二章 HP LoadRunner 基础
1.内容概要
LoadRunner介绍、LoadRunner功能结构、LoadRunner中的关键概念、LoadRunner性能测试流程
2.重点与难点
重点:LoadRunner中的关键概念及基本组成
难点: 检查点、思考时间、集合点的设置
3.学习目的与要求
(1)理解并掌握LoadRunner中的关键概念
(2)理解LoadRunner的基本组成及工作原理
第三章 软件性能测试基础
1.内容概要
软件性能测试的概念、软件性能测试的目标、常用性能测试方法、软件性能测试范围
2.重点与难点
重点: 对常用性能测试方法的理解
难点: 利用性能测试方法设计测试过程
3.学习目的与要求
(1)理解并掌握常用性能测试方法
(2)掌握根据需求描述,设计性能测试过程的方法。
第四章 软件性能测试的组织与管理
1.内容概要
软件性能测试过程模型、组建性能测试团队、制定性能测试计划、设计性能测试方案、搭建性能测试环境、执行性能测试、分析性能测试结果
2.重点与难点
重点:制定性能测试计划
难点:设计性能测试方案
3.学习目的与要求
(1)理解并掌握性能测试过程
(2)掌握性能测试方案的设计方法
第五章 HPLoadRunner脚本的录制与开发
1.内容概要
协议概述、脚本录制、脚本开发、相关设置、日志
2.重点与难点
重点:脚本录制
难点:脚本开发与优化
3.学习目的与要求
(1)掌握性能测试脚本录制的方法
(2)掌握检查点设置、参数化、集合点设置的方法
第六章 HP LoadRunner测试场景管理
1.内容概要
场景概述、手工设置场景、面向目标设置场景、测试运行与监控
2.重点与难点
重点:手工场景的设置、面向目标场景的设置、SLA的设置
难点:测试结果的收集及测试指标的监控
3.学习目的与要求
(1)掌握手工场景及面向目标场景的设置方法
(2)掌握测试结果的收集方法
第七章 性能分析与性能优化
1.内容概要
性能分析方法分类、常用性能分析方法、系统调优步骤、性能优化原理
2.重点与难点
重点:常用性能分析方法的理解
难点:优化原理及调优方法的选择
3.学习目的与要求
(1)理解并掌握常用性能分析方法
(2)能根据性能分析结果,进行系统调优处理
第八章 HP LoadRunner测试结果分析
1.内容概要
Analysis基础、监控计数器的内容介绍、性能测试结果分析、分析报告生成
2.重点与难点
重点:性能测试结果分析
难点: 交叉结果的分析及图例合并分析法
3.学习目的与要求
(1)掌握性能测试结果分析的方法
(2)根据结果分析,产生各种版本的分析报告
第九章 HP Loadrunner 的高级应用
1.内容概要
关联的概念、参数化的技巧
2.重点与难点
重点:手动关联的设置
难点:LoadRunner参数化操作中数据的分配
3.学习目的与要求
(1)掌握脚本中手动关联的设置方法
(2)理解LoadRunner的参数化后虚拟用户的分配原则
四、学时分配
章 次 |
各教学环节学时分配 |
小计 |
讲授 |
实验 |
上机 |
习题 |
讨论 |
课外 |
备 注 |
第一章:软件性能测试概述 |
3 |
2 |
1 |
|
|
|
|
|
第二章:HP LoadRunner 基础 |
3 |
2 |
1 |
|
|
|
|
|
第三章:软件性能测试基础 |
3 |
2 |
1 |
|
|
|
|
|
第四章:软件性能测试的组织与管理 |
3 |
2 |
1 |
|
|
|
|
|
第五章:HPLoadRunner脚本的录制 |
5 |
2 |
3 |
|
|
|
|
|
第六章:HPLoadRunner测试场景管理 |
5 |
2 |
3 |
|
|
|
|
|
第七章:性能分析与性能优化 |
3 |
2 |
1 |
|
|
|
|
|
第八章:HPLoadRunner测试结果分析 |
5 |
2 |
3 |
|
|
|
|
|
第九章:HPLoadrunner 的高级应用 |
4 |
2 |
2 |
|
|
|
|
|
合计 |
34 |
18 |
16 |
|
|
|
|
|
五、考核说明
考核方法:闭卷
成绩评定法法:平时成绩30%,考试成绩70%
六、主要教材及教学参考书目
(一)主要教材
于涌,《软件性能测试与LoadRunner实战教程》,人民邮电出版社2014年。
(二)主要参考书目
修佳鹏,杨正球,刘雪梅《软件性能测试及工具应用》,清华大学出版社2014年。
“移动嵌入式软件开发技术”教学大纲
制定人:吴珊 审核人:王玉田 批准人:倪建成
一、课程基本信息
开课单位:软件学院
课程名称:移动嵌入式软件开发技术
课程编号:303104
英文名称:Mobile and Embedded Software Development Technology
课程类型:专业拓展课
学 时:总 学 时 52 理论学时 36 实验学时 16
学 分:3
开设专业:软件开发
先修课程:Java程序设计基础
二、课程任务目标
(一)课程任务
本课程面向的是软件工程专业高年级学生开设的专业选修课。Android应用开发领域是一个综合技术要求较高的技术领域,实际的Android开发需要掌握Java程序设计基础、Android应用程序框架等知识体系。课程的目的是培养学生设计和实现基于Android的应用程序的能力。课程的任务是学习Android应用程序框架基础、搭建Android开发环境和Android的应用开发。
(二)课程目标
通过本课程学习,学生应掌握 Android 操作系统的应用程序开发,了解Android 框架组成及原理,掌握Android 资源的使用、组件和用户界面开发,熟悉Android 的数据存取、多媒体开发、网络通信,以及 Android 的特色开发,如传感器、地图及定位;同时,培养学生具有一定的项目开发能力、团队协作的精神以及适应信息化社会要求的自学能力和获取计算机新知识、新技术的能力。
三、教学内容和要求
第一章 Android 概述
1.内容概要
(1)移动设备开发平台
(2)Android 简介
(3)Android 应用程序构成:活动、意图、服务和内容提供器
2.重点与难点
重点:利用Android系统框架编写Android 应用程序。
难点:编写Android应用程序。
3.学习目的与要求
(1)了解移动信息设备分类
(2)了解Android的历史和优缺点
(3)熟悉Android平台的体系架构
(4)掌握Android应用程序结构
(5)掌握Android应用程序的编写
第二章 活动Activity
1.内容概要
(1)Activity生命周期:
(2)Android 中的资源使用:
2.重点与难点
重点:Activity的生命周期,使用 Android 中的常用的资源。
难点:Activity 生命周期中各个阶段对应的方法。
3.学习目的与要求
(1)熟悉Android程序框架
(2)理解Activity的生命周期及方法
(3)掌握Activity的组织结构
(4)熟悉Android中各种资源的使用
第三章 用户界面
1.内容概要
(1)用户界面元素分类:视图组件、视图容器和布局管理
(2)事件处理机制 :事件、事件源和事件监听器
(3)布局管理(Layout):线性布局、相对布局、绝对布局、表格布局、框架布局
(4)常用Widget 组件 :文本框、按钮、编辑框、复选框、下拉列表
(5)选项菜单和上下文菜单
(6)对话框和提示信息(Toast)
2.重点与难点
重点:事件处理过程 常用的菜单、对话框、文本框、按钮、Toast 等组件的使用, 线性布局、表格布局、相对布局、绝对布局的用法。
难点:事件处理过程,常用的菜单、对话框、Toast 等组件的使用。
3.学习目的与要求
(1)熟悉基本的Android界面组件
(2)掌握UI的事件驱动机制
(3)掌握常用的Layout
(4)掌握对话框以及Toast组件的使用
(5)掌握常用的Widget组件
(6)掌握菜单组件的使用
(7)掌握ActionBar的使用
第四章 意图Intent
1.内容概要
(1)Intent概述: Intent组成属性、Intent 启动
(2)Intent 消息传递
(3)Intent Filter :<intent-filter>元素和IntentFilter 类
(4)广播接收Intent :广播和接收Intent 机制、广播Intent 示例
(5)设置Activity 许可
2.重点与难点
重点:Intent 常用的属性、Activity 之间的消息传递机制、广播接收 Intent 、Intent 策略许可。
难点:Activity 之间的消息传递机制、广播接收Intent。
3.学习目的与要求
(1)了解Intent的功能及作用
(2)掌握Intent常用的属性及方法
(3)熟悉Activity之间的消息传递机制
(4)了解广播接收Intent
(5)了解Intent的实现策略许可
第五章 Android 后台服务Service
1.内容概要
(1)Service 简介
(2)实现Service:创建Service 类、启动和绑定Service 、停止Service、Service示例
(3)Android 系统服务
2.重点与难点
重点:实现Service的过程、两种启动Service的方式。
难点:实现Service的过程不同阶段调用的方法,实现 Service NotificationManager 和Notification的使用。
3.学习目的与要求
(1)了解Android Service工作机制及特点
(2)了解Service和Activity的不同之处
(3)掌握如何创建、启动和停止Service
(4)熟悉Android常用的系统服务
(5)掌握NotificationManager和Notification
第六章 数据存储
1.内容概要
(1)数据存储简介
(2) Preference 存储数据:访问Preference 的API、 Preference 应用
(3)File 存储数据:文件操作和应用
(4)SQLite 存储数据:SQLite 简介、SQLite 数据库操作、SQLiteOpenHelper
(5)数据共享Content Provider:ContentProvider、ContentResolver
2.重点与难点
重点:数据存储的4种方式,以及它们具体的实现过程。
难点:使用Preference 存储数据和使用SQLite存储数据。
3.学习目的与要求
(1)了解Android系统中数据存储的方式
(2)熟悉Preferences工作原理并会使用Preferences存储数据
(3)熟悉文件存储工作原理并会使用文件存储数据
(4)熟悉SQLite工作原理并会使用SQLite存储数据
(5)熟悉ContentProvider存储数据
第七章 网络通信
1.内容概要
(1)网络通信简介
(2)Socket 通信:Socket 和ServerSocket
(3)HTTP 网络编程:HttpURLConnection和HttpClient
(4)WebKit:WebKit 介绍和 WebView 视图组件
2.重点与难点
重点:掌握三种网络通信的方式。
难点:Socket 通信的具体实现过程,HttpURLConnection和HttpClient通信的具体实现过程。
3.学习目的与要求
(1)了解Android中网络通信的方式
(2)理解Socket、ServerSocket原理及常用方法
(3)掌握使用Socket和ServerSocket进行网络通信
(4)掌握HttpURLConnection的使用
(5)掌握HttpClient的使用
(6)熟悉WebKit的组成及原理
(7)掌握使用WebView组件浏览网页
第八章 Android 特色开发
1.内容概要
(1)传感器的使用
(2)地图定位的使用:百度地图SDK
(3)Activity当作AlertDialog显示
(4)Fragment的使用
(5)为ActionBar 添加Tabs
2.重点与难点
重点:实现Android的五种特色开发应用。
难点:实现传感器的应用,使用第三方软件开发工具和Fragment的使用。
3.学习目的与要求
(1)了解传感器的使用
(2)了解地图定位的使用
(3)掌握Activity当作AlertDialog显示
(4)掌握Fragment的使用
(5)理解为ActionBar 添加Tabs
四、学时分配
章 次 |
各教学环节学时分配 |
小计 |
讲授 |
实验 |
上机 |
习题 |
讨论 |
课外 |
备 注 |
第一章:Android 概述 |
2 |
2 |
|
|
|
|
|
|
第二章:活动Activity |
6 |
4 |
|
2 |
|
|
|
|
第三章:用户界面 |
8 |
6 |
|
2 |
|
|
|
|
第四章:意图Intent |
6 |
4 |
|
2 |
|
|
|
|
第五章:Android 后台服务Service |
10 |
4 |
|
4 |
2 |
|
|
|
第六章:数据存储 |
8 |
6 |
|
2 |
|
|
|
|
第七章:网络通信 |
6 |
4 |
|
2 |
|
|
|
|
第八章:Android特色开发 |
6 |
4 |
|
2 |
|
|
|
|
总计 |
52 |
34 |
|
16 |
2 |
|
|
|
五、考核说明
考核方法:闭卷
成绩评定法法:平时成绩
考试成绩
六、主要教材及教学参考书目
(一)主要教材
1.青岛英谷教育科技股份技术有限公司 编《Android程序设计与实际》,西安电子科技大学出版社,2016年。
(二)主要参考书目
1.刘国柱、杜军威 编《Android程序设计与开发》第一版,清华大学出版社,2017年。
2.(英)Reto Meier 著,王超 译,《Android 2 高级编程》(第 2 版),清华大学出版社,2010 年12 月第1 版。
“.NET环境与程序设计”教学大纲制定人:鲁大营 审核人:王玉田 批准人:倪建成 |
一、课程基本信息 开课单位:软件学院 课程名称:.NET环境与程序设计 课程编号:304050 英文名称:.NET Environment and Pogramming 课程类型:专业拓展课 学 时:总 学 时 34 理论学时 18 实验学时16 学 分:2 开设专业:软件工程 软件工程(移动互联网) 先修课程:计算机导论、C语言、面向对象程序设计 |
|
二、课程任务目标 (一)课程任务 《.NET环境与程序设计》 是计算机各专业软件开发方向的重要基础课程。本课程主要内容包括:C#编程的原理和方法,类与对象、控制语句、方法、数组、继承、多态、异常处理、数据库编程、网络编程、异步多线程、XML、Web服务、泛型、集合等基本概念及应用方法。通过本课程的教学向学生介绍类与对象的基本概念,介绍面向对象的设计方法,介绍.NET框架2.0和Visual Studio的关键新特性。C#是各类主流程序设计语言中的一门重要的语言,是以MS的.NET框架为基础的主推语言,在各行各业均有广泛的应用,课后应就某些领域的应用做一些基本的了解,掌握相关的最新技术和理论,该课程是一门实践性课程,所以要多练习、多实践,实践操作中学习和理解知识。 (二)课程目标 在学完本课程之后,学生能够: 基本了解和掌握类与对象的基本概念、面向对象的设计方法、.NET框架2.0和Visual Studio的关键新特性。使学生能够理解和掌握C#的基本特性和程序设计方法,编写简单的软件系统,了解最新的设计开发技术和最新发展动态。 三、教学内容和要求 第1章Visual Studio 2010和C#.NET概述 (一)基本教学内容 1.1 Visual Studio 2010、.NET框架和C#简介 1.2在Visual Studio 2010中创建C#控制台应用程序 1.3命名空间 1.4创建Windows窗体应用程序 1.5面向对象C#程序主要结构简介 1.6程序调试 1.7编写简单面向对象Windows应用程序 (二)基本要求 教学目的:了解Visual Studio 2010、.NET框架和C#命名空间;了解创建Windows窗体应用程序;了解面向对象C#程序主要结构;了解程序调试;能够编写简单面向对象Windows应用程序 教学重点:重点讲解;C#程序主要结构;程序调试 教学难点:程序调试 第2章数据类型、变量和表达式 (一)基本教学内容 2.1数据类型的值类型 2.2引用类型 2.3类型转换 2.4装箱和拆箱 2.5变量和常量 2.6表达式 2.7 String、StringBuilder和DateTime数据类型 (二)基本要求 教学目的:掌握数据类型的值类型;掌握引用类型;掌握类型转换方法;掌握装箱和拆箱;熟悉变量和常量;熟悉表达式;熟悉String、StringBuilder和DateTime数据类型 教学重点:重点讲解类型转换方法;装箱和拆箱 教学难点:装箱和拆箱 第3章流程控制 (一)基本教学内容 3.1选择语句 3.2循环语句 3.3跳转语句 3.4异常处理 (二)基本要求 教学目的:熟悉选择语句;熟悉循环语句;熟悉跳转语句;熟悉异常处理 教学重点:重点讲解选择语句;循环语句;异常处理 教学难点:循环语句;异常处理 第4章数组和集合 (一)基本教学内容 4.1集合类型与集合类型的接口 4.2数组Array、ArrayList和List泛型类 4.3 Hashtable、Dictionary和SortedList集合类 4.4 Queue类和Queue泛型类,Stack类和Stack泛型类 4.5选择集合类 (二)基本要求 教学目的:熟悉集合类型与集合类型的接口;熟悉数组Array、ArrayList和List泛型类;熟悉Hashtable、Dictionary和SortedList集合类;了解Queue类和Queue泛型类,Stack类和Stack泛型类;了解选择集合类 教学重点:重点讲解集合类型与集合类型的接口;数组Array、ArrayList和List泛型类;Hashtable、Dictionary和SortedList集合类 教学难点:集合类型与集合类型的接口;Hashtable、Dictionary和SortedList集合类 第5章创建Windows窗体应用程序 (一)基本教学内容 5.1 Windows窗体 5.2调整控件 5.3控件介绍 5.4通用对话框 (二)基本要求 教学目的:了解Windows窗体;了解调整控制;了解控件的使用;了解通用对话框;了解状态栏的使用 教学重点:重点讲解控件的使用;通用对话框 教学难点:通用对话框 第6章面向对象程序设计 (一)基本教学内容 6.1对象、类和结构 6.2方法 6.3静态成员与静态类 6.4继承 6.5属性与索引器 6.6使用Visual Studio类关系图可视化创建对象 (二)基本要求 教学目的:熟悉对象、类和结构的概念;熟悉方法的定义;熟悉静态成员与静态类;熟悉继承的概念与实现;理解属性与索引器;掌握使用Visual Studio类关系图可视化创建对象 教学重点:重点讲解对象、类和结构的概念;静态成员与静态类;继承的概念与实现 教学难点:静态成员与静态类;继承的概念与实现;属性与索引器 第7章委托与事件、泛型和反射 (一)基本教学内容 7.1委托与事件 7.2泛型 7.3可空类型 7.4反射 (二)基本要求 教学目的:理解委托与事件;掌握泛型成员;了解类型;掌握的概念与实现 教学重点:重点讲解委托与事件;泛型成员;反射的概念与实现 教学难点:委托与事件;反射的概念与实现 第8章流、文件、XML和配置文件 (一)基本教学内容 8.1流和文件 8.2 .NET框架的XML编程 8.3应用程序配置文件 (二)基本要求 教学目的:熟悉文件;掌握ET框架的XML编程;熟悉程序配置文件 教学重点:重点讲解流和文件;应用程序配置文件 教学难点:流和文件;应用程序配置文件 第9章数据库编程 (一)基本教学内容 9.1 ADO.NET概述 9.2使用.NET框架数据提供程序 9.3 DataSet数据集 9.4数据适配器 9.5类型化数据集与TableAdapter 9.6 Windows窗体数据控件及可视化编程 (二)基本要求 教学目的:熟悉ADO.NET的概念;掌握使用.NET框架数据提供程序;熟悉DataSet数据集;熟悉数据适配;熟悉类型化数据集与TableAdapter;了解Windows窗体数据控件及可视化编程 教学重点:重点讲解DataSet数据集;数据适配 教学难点:使用.NET框架数据提供程序;DataSet数据集;数据适配 第10章进程与线程 (一)基本教学内容 10.1进程 10.2线程 10.3线程同步 10.4 BackgroundWorker与窗体控件线程安全调用 (二)基本要求 教学目的:了解进程的概念;掌握线程的概念与实现;熟悉线程同步;了解BackgroundWorker与窗体控件线程安全调用 教学重点:重点讲解线程的概念与实现;线程同步 教学难点:线程的概念与实现;线程同步 第11章网络编程与Web服务 (一)基本教学内容 11.1网络编程 11.2 Web服务 (二)基本要求 教学目的:了解网络编程;了解Web服务的实现 教学重点:重点讲解Web服务的实现 教学难点:Web服务的实现 四、学时分配
章 次 |
各教学环节学时分配 |
小计 |
讲授 |
实验 |
上机 |
习题 |
讨论 |
课外 |
备 注 |
第一章:Visual Studio 2010和C#.NET概述 |
1 |
1 |
|
|
|
|
|
|
第二章:数据类型、变量和表达式 |
1 |
1 |
|
|
|
|
|
|
第三章:流程控制 |
2 |
2 |
|
|
|
|
|
|
第四章:数组和集合 |
2 |
2 |
|
|
|
|
|
|
第五章:创建Windows窗体应用程序 |
2 |
2 |
|
|
|
|
|
|
第六章:面向对象程序设计 |
2 |
2 |
|
|
|
|
|
|
第七章:委托与事件、泛型和反射 |
2 |
2 |
|
|
|
|
|
|
第八章:流、文件、XML和配置文件 |
2 |
2 |
|
|
|
|
|
|
第九章:数据库编程 |
2 |
2 |
|
|
|
|
|
|
第十章:进程与线程 |
1 |
1 |
|
|
|
|
|
|
第十一章:网络编程与Web服务 |
1 |
1 |
|
|
|
|
|
|
五、考核说明 考核方法:闭卷 成绩评定法法:平时成绩 考试成绩 六、主要教材及教学参考书目 (一)主要教材 1.李旗,C#.NET程序设计.北京:机械工业出版社,2015 (二)主要参考书目 1.梁爽. .NET框架程序设计.北京:清华大学出版社2016 2.唐耀. C#程序设计实用教程.北京:水利水电出版社2016 3.杨晓光.面向对象程序设计(C#实现).北京:清华大学出版社2015 4.杜少杰. C#程序设计案例教材.北京:北京理工大学出版社2016 5.张宏鸣等《.NET框架程序设计》,清华大学出版社,2016年; 6.崔永红《Visual C#.NET程序设计》,清华大学出版社,2011年
|
“设计模式”教学大纲
制定人:嵇存美 审核人:王玉田 批准人:倪建成
一、课程基本信息
开课单位:软件学院
课程名称:设计模式
课程编号:304073
英文名称:Design Patterns
课程类型:专业拓展课
学 时:总 学 时 34 理论学18 实验学时 16
学 分:2
开设专业:软件工程
先修课程:面向对象程序设计,Java语言程序设计
二、课程任务目标
本课程是软件工程专业的一门专业拓展课,在软件工程专业人才培养方案中占有十分重要的地位。本课程主要介绍软件工程中,利用面向对象思想解决实际问题的设计原则和模式。内容主要包括创建型、结构型、行为型这三大类共23种模式。本课程通过UML图形表述及详细的实例来讲解每个模式的使用场景和优缺点,使学生充分认识和掌握设计模式的基本知识,并使用在实际项目中。不仅可以提高学生的专业素养和实战能力,而且可以培养学生以面向对象思想解决问题的思维方式。
(二)课程目标
在学完本课程之后,学生能够:
1. 掌握6种面向对象程序设计原则;
2. 掌握23种设计模式,并能应用到实际问题中;
3. 掌握混合模式,并能应用到实际问题中;
4. 能够对各类设计模式进行对比。
三、教学内容和要求
(一)理论教学的内容及要求
第一章 统一建模语言基础知识
第一节 UML简介
理解UML的概念和特点。
第二节 类图
了解面向对象的类与类图。
第三节 顺序图
了解顺序图定义与使用。
第四节 状态图
了解状态图定义与使用。
第二章 面向对象设计原则
第一节 创建型模式简述
了解面向对象设计原则解
第二节单一原则
理解单一职责原则
第三节里氏替换原则
理解里氏替换原则
第四节依赖倒置原则
理解依赖倒置原则
第五节接口隔离原则
理解接口隔离原则
第六节开闭原则
理解开闭原则
第七节合成复用原则
理解合成复用原则
第八节迪米特法则
理解迪米特法则
第三章 设计模式概述
第一节 设计模式的诞生与发展
了解模式定义和发展
第二节 设计模式定义与分类
了解模式分类
第三节 GoF设计模式简介
了解GoF设计模式
第四章 简单工厂模式
了解简单工厂模式动机与定义
掌握模式的结构和分析
理解模式效果与应用
了解模式扩展
第五章工厂方法模式
了解工厂方法模式动机与定义
掌握模式的结构和分析
理解模式效果与应用
了解模式扩展
第六章抽象工厂方法模式
了解抽象工厂模式动机与定义
掌握模式的结构和分析
理解模式效果与应用
了解模式扩展
第七章建造者模式
了解建造者模式动机与定义
掌握模式的结构和分析
理解模式效果与应用
了解模式扩展
第八章原型模式
了解原型模式动机与定义
掌握模式的结构和分析
理解模式效果与应用
了解模式扩展
第九章单例模式
了解模式动机与定义
掌握模式的结构和分析
理解模式效果与应用
了解模式扩展
第十章适配器模式
了解模式动机与定义
掌握模式的结构和分析
理解模式效果与应用
了解模式扩展
第十一章桥接模式
了解模式动机与定义
掌握模式的结构和分析
理解模式效果与应用
了解模式扩展
第十二章组合模式
了解模式动机与定义
掌握模式的结构和分析
理解模式效果与应用
了解模式扩展
第十三章装饰模式
了解模式动机与定义
掌握模式的结构和分析
理解模式效果与应用
了解模式扩展
第十四章外观模式
了解模式动机与定义
掌握模式的结构和分析
理解模式效果与应用
了解模式扩展
第十五章单例模式
了解模式动机与定义
了解模式的结构和分析
了解模式效果与应用
了解模式扩展
第十六章代理模式
了解模式动机与定义
掌握模式的结构和分析
理解模式效果与应用
了解模式扩展
第十七章职责链模式
了解模式动机与定义
掌握模式的结构和分析
理解模式效果与应用
了解模式扩展
第十八章命令模式
了解模式动机与定义
掌握模式的结构和分析
理解模式效果与应用
了解模式扩展
第十九章解释器模式
了解模式动机与定义
掌握模式的结构和分析
理解模式效果与应用
了解模式扩展
第二十章迭代器模式
了解模式动机与定义
掌握模式的结构和分析
理解模式效果与应用
了解模式扩展
第二十一章中介者模式
了解模式动机与定义
掌握模式的结构和分析
理解模式效果与应用
了解模式扩展
第二十二章备忘录模式
了解模式动机与定义
掌握模式的结构和分析
理解模式效果与应用
了解模式扩展
第二十三章观察者模式
了解模式动机与定义
掌握模式的结构和分析
理解模式效果与应用
了解模式扩展
第二十四章状态模式
了解模式动机与定义
掌握模式的结构和分析
理解模式效果与应用
了解模式扩展
第二十五章策略模式
了解模式动机与定义
掌握模式的结构和分析
理解模式效果与应用
了解模式扩展
第二十六章模板方法模式
了解模式动机与定义
掌握模式的结构和分析
理解模式效果与应用
了解模式扩展
第二十七章访问者模式
了解模式动机与定义
了解模式的结构和分析
了解模式效果与应用
了解模式扩展
(二)实践教学的内容及要求
1. 采用设计原则解决实际问题;
2. 能够采用创建型模式解决实际问题;
3. 能够采用结构型模式解决实际问题;
4. 能够采用行为型模式解决实际问题;
5. 能够采用混合设计模式解决实际问题;
6. 能够根据实例对设计模式进行对比。
四、学时分配
章 次 |
各教学环节学时分配 |
小计 |
讲授 |
实验 |
上机 |
习题 |
讨论 |
课外 |
备 注 |
第1章 统一建模语言基础知识 |
1.5 |
0.5 |
1 |
|
|
|
|
|
第2章 面向对象设计原则 |
0.5 |
0.5 |
|
|
|
|
|
|
第3章 设计模式概述 |
1.5 |
0.5 |
1 |
|
|
|
|
|
第4章 简单工厂模式 |
0.5 |
0.5 |
|
|
|
|
|
|
第5章 工厂方法模式 |
2 |
1 |
1 |
|
|
|
|
|
第6章 抽象工厂模式 |
2 |
1 |
1 |
|
|
|
|
|
第7章 建造者模式 |
0.5 |
0.5 |
|
|
|
|
|
|
第8章 原型模式 |
1.5 |
0.5 |
1 |
|
|
|
|
|
第9章 单例模式 |
0.5 |
0.5 |
|
|
|
|
|
|
第10章 适配器模式 |
1.5 |
0.5 |
1 |
|
|
|
|
|
第11章 桥接模式 |
1 |
1 |
|
|
|
|
|
|
第12章 组合模式 |
1.5 |
0.5 |
1 |
|
|
|
|
|
第13章 装饰模式 |
1 |
1 |
|
|
|
|
|
|
第14章 外观模式 |
1.5 |
0.5 |
1 |
|
|
|
|
|
第15章 享元模式 |
0.5 |
0.5 |
|
|
|
|
|
|
第16章 代理模式 |
1.5 |
0.5 |
1 |
|
|
|
|
|
第17章 职责链模式 |
1.5 |
0.5 |
1 |
|
|
|
|
|
第18章 命令模式 |
2 |
1 |
1 |
|
|
|
|
|
第19章 解释器模式 |
1 |
1 |
|
|
|
|
|
|
第20章 迭代器模式 |
1.5 |
0.5 |
1 |
|
|
|
|
|
第21章 中介者模式 |
1.5 |
0.5 |
1 |
|
|
|
|
|
第22章 备忘录模式 |
0.5 |
0.5 |
|
|
|
|
|
|
第23章 观察者模式 |
2 |
1 |
1 |
|
|
|
|
|
第24章 状态模式 |
1 |
1 |
|
|
|
|
|
|
第25章 策略模式 |
2 |
1 |
1 |
|
|
|
|
|
第26章 模板方法模式 |
1.5 |
0.5 |
1 |
|
|
|
|
|
第27章 访问者模式 |
0.5 |
0.5 |
|
|
|
|
|
|
合 计 |
34 |
18 |
16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
五、考核说明
本课程采用闭卷、考试;
总评=期末成绩×70%+平时成绩×30%。
本课程采用平时考核、期末考试综合评定学生成绩。考核方法为考试,平时成绩占30%,其中实验占20%,作业占10%,期末考试卷面成绩占70%。
六、主要教材及教学参考书目
(一)主要教材
1.刘伟等《设计模式》清华大学出版社出版,2018年版;
(二)主要参考书目
弗里曼等《O'Reilly:Head First设计模式》,中国电力出版社,2007年
Erich Gamma等《设计模式:可复用面向对象软件的基础》,机械工业出版社,2004年。
史蒂芬.约翰.梅特斯克《Java设计模式(第2版)》,电子工业出版社,2012年。
“Matlab仿真”课程教学大纲
制定人:王来花 审核人:王玉田 批准人:倪建成
一、课程基本信息
开课单位:软件学院
课程名称:Matlab仿真
课程编号:304115
英文名称:Matlab simulation
课程类型:专业拓展课程
总 学 时: 68 理论学时:36 实验学时: 32
学 分:3
开设专业:物联网
先修课程:无
二、课程任务目标
(一)课程任务
本课程是物联网工程专业的一门重要的专业限选课。作为《信号处理》、《通信系统仿真》、《图像处理》等课程的基本教学工具,本课程主要引导学生学习 MATLAB的基本命令、算法及用法,在此基础上介绍图形用户界面的设计和simulink仿真。
(二)课程目标
通过Matlab的学习,学生可以掌握一门有效的解题、绘图和仿真工具,可以从繁杂的计算中解放出来,可以将计算数据可视化,可以将设计结果可视化、动态化,有利于计算机与专业基础课及专业课的结合,增加学习兴趣,提高学习效率,改善学习效果。
三、教学内容和要求
(一)理论教学的内容及要求
第1章 MATLAB系统环境 2学时
【教学目的及要求】
一、熟练掌握
MATLAB操作界面和功能
二、掌握
MATLAB帮助系统
三、了解
MATLAB的发展
【教学重点与难点】
一、教学重点:
MATLAB的功能
二、教学难点:
MATLAB软件安装
【教学手段及方式方法】
多媒体教学 理论讲解 程序实例演示
【教学内容】
1 MATLAB概貌
2 MATLAB环境的准备
3 MATLAB操作界面
4 MATLAB帮助系统
第2章 MATLAB数据及其运算 6学时
【教学目的及要求】
一、熟练掌握
MATLAB变量命名规则、矩阵表示。
二、掌握
MATLAB数据的运算规则、字符串的表示。
三、了解
MATLAB数据的特点、结构数据和单元数据
【教学重点与难点】
一、教学重点:
MATLAB数据的运算规则
二、教学难点:
变量矩阵元素和字数串数据的引用和运算
【教学手段及方式方法】
多媒体教学 理论讲解 程序实例演示
【教学内容】
1 MATLAB数据的特点
2 变量及其操作
3 MATLAB矩阵的表示
4 MATLAB数据的运算
5 字符串
6 结构数据和单元数据
第3章 MATLAB矩阵分析与处理 4学时
【教学目的及要求】
一、熟练掌握
矩阵的变换和求值、特殊矩阵的生成函数
二、掌握
求矩阵的特征值特征向量、矩阵求逆、求解线性方程组。
三、了解
超越矩阵的函数
【教学重点与难点】
一、教学重点:
特殊矩阵的生成、矩阵变换、求逆、特征值求解函数。
二、教学难点:
矩阵的结构变换和求值。
【教学手段及方式方法】
多媒体教学 理论讲解 程序实例演示
【教学内容】
1 特殊矩阵
2 矩阵结构变换
3 矩阵求逆与线性方程组求解
4 矩阵求值
5 矩阵的特征值与特征向量
6 矩阵的超越函数
第4章 MATLAB程序设计 6学时
【教学目的及要求】
一、熟练掌握
MATLAB程序的结构函数、函数的调用
二、掌握
命令文件的生成、函数文件的建立。
三、了解
常用的排查错误的方法。
【教学重点与难点】
一、教学重点:
灵活采用程序控制结构求解数学问题。
二、教学难点:
函数的递归调用、利用MATLAB解决信号信息处理问题。
【教学手段及方式方法】
多媒体教学 理论讲解 程序实例演示
【教学内容】
1 M文件
2 程序控制结构
3 函数文件
4 程序调试
第5章 MATLAB系统环境 6学时
【教学目的及要求】
一、熟练掌握
Matlab 二维和三维绘图的函数
二、掌握
对于图形处理的基本命令、隐函数绘图
三、了解
低层绘图操作
【教学重点与难点】
一、教学重点:
Plot函数、surf 、mesh函数
二、教学难点:
常见的信号与信息处理及通信系统仿真中用到的绘图函数。
【教学手段及方式方法】
多媒体教学 理论讲解 程序实例演示
【教学内容】
1 二维图形
2 三维图形
3 三维图形的精细处理
4 隐函数绘图
5 低层绘图操作
第6章 MATLAB数值计算 4 学时
【教学目的及要求】
一、熟练掌握
多项式、离散傅里叶变换、常见微积分的数值求解函数及其应用
二、掌握
数据处理 和线性方程组的求解函数和方法。
三、了解
稀疏矩阵的处理函数和高阶微分方程的数值求解函数。
【教学重点与难点】
一、教学重点:
多项式和微积分函数。
二、教学难点:
傅里叶变换函数及其在信号信息处理中的应用,对应理论并使用Matlab绘图验证。
【教学手段及方式方法】
多媒体教学 理论讲解 程序实例演示
【教学内容】
1 数据处理与多项式计算
2 数值微积分
3 离散傅里叶变换
4 线性方程组求解
5 非线性方程与最优化问题求解
6 常微分方程的数值求解
7 稀疏矩阵
第7章 MATLAB符号计算 4学时
【教学目的及要求】
一、熟练掌握
符号的命名和赋值函数、 符号积分及微分函数
二、掌握
符号的级数求解、符号方程的优化求解
三、了解
高阶微分符号方程的求解思路。
【教学重点与难点】
一、教学重点:
符号变量的定义 引用和符号方程的优化求解。
二、教学难点:
符号微积分方程的求解思路和函数验证。
【教学手段及方式方法】
多媒体教学 理论讲解 程序实例演示
【教学内容】
1 符号计算基础
2 符号函数及其应用
3 符号积分
4 级数
5 符号方程求解
第8章 MATLAB图形用户界面 2学时
【教学目的及要求】
一、熟练掌握
图形用户界面的常见属性
二、掌握
属性函数的操作
三、了解
可视化图形用户界面设计的思路和过程
【教学重点与难点】
一、教学重点:
图形用户界面的属性修改
二、教学难点:
图形用户界面菜单和对话框设计
【教学手段及方式方法】
多媒体教学 理论讲解 程序实例演示
【教学内容】
1 菜单设计
2 对话框设计
3 可视化图形用户界面设计
第9章 MATLAB Simulink仿真软件 2学时
【教学目的及要求】
一、熟练掌握
Simulink的基本操作
二、掌握
系统仿真模型的建立过程。
三、了解
子系统及其封装过程
【教学重点与难点】
一、教学重点:
Simulink的操作基础
二、教学难点:
动态系统仿真,即可视化建模
【教学手段及方式方法】
多媒体教学 理论讲解 程序实例演示
【教学内容】
1 Simulink操作基础
2 系统仿真模型
3 系统的仿真
四、学时分配
章节 |
主要内容 |
各教学环节学时分配 |
小计 |
讲授 |
实验 |
讨论 |
习题 |
课外 |
其他 |
第1章 |
MATLAB系统环境 |
2 |
|
|
|
|
|
|
第2章 |
MATLAB数据及其运算 |
6 |
|
|
|
|
|
|
第3章 |
MATLAB矩阵分析与处理 |
4 |
|
|
|
|
|
|
第4章 |
MATLAB程序设计 |
6 |
|
|
|
|
|
|
第5章 |
MATLAB绘图 |
6 |
|
|
|
|
|
|
第6章 |
MATLAB数值计算 |
4 |
|
|
|
|
|
|
第7章 |
MATLAB符号计算 |
4 |
|
|
|
|
|
|
第8章 |
MATLAB图形用户界面 |
2 |
|
|
|
|
|
|
第9章 |
MATLAB Simulink仿真软件 |
2 |
|
|
|
|
|
|
合计 |
36 |
五、考核说明
本课程采用闭卷考试与平时成绩相结合的考核方法,其考核方法如下:
1.成绩评定总则:以百分制计算总成绩,其中平时成绩占总成绩的10%,实验成绩章总成绩的20%,期末考试成绩占70%。总成绩满分100分,60分即获得该课程学分;
2.平时成绩评定:分作业、出勤、课堂表现,共占10分(其中旷课率超过该课程教学时数1/4的,取消考试资格等实行一票否决制);
3. 实验上机需要提交实验报告,且要参加实验上机考核,共占20分;
4. 期末考核方式:试卷,占70分。
六、主要教材及教学参考书目
(一)主要教材
MATLAB程序设计与应用,刘卫国, 高等教育出版社,2006。
(二)主要参考书目
MATLAB实用教程,(美)穆尔,电子工业出版社, 2010
MATLAB7.6从入门到精通 王琨等,电子工业出版社, 2009
MATLAB7.x程序设计语言 楼顺天等 2版 西安电子科技大学出版社,2007
MATLAB7.0应用集锦,林雪松等,机械工业出版社,2006
(三)推荐网站(包括课程网站、专业网站等)
//www.ilovematlab.cn/forum.php, Matlab中文论坛
//www.matlabsky.com/ Matlab技术论坛
//www.labfans.com/bbs/ Matlab中国论坛
//www.pudn.com/ 程序员联合开发网
“网络信息安全”课程教学大纲
制定人:姜蓝蓝 审核人:王玉田 批准人:倪建成
一、课程基本信息
开课单位:软件学院
课程名称:网络信息安全
课程编号:304025
英文名称:Network Security Technology
课程类型:专业方向任选课
总 学 时:48 理论学时:32 实验学时: 16
学 分:2.5
开设专业:软件工程
先修课程:高级语言程序设计、操作系统、计算机网络原理、数据库原理、数据结构
二、课程任务目标
(一)课程任务
本课程的任务是使学生通过理论和实践两方面的学习,使学生能够掌握网络与信息安全理论基础,灵活运用信息安全知识与技能。掌握和理解各位加密算法及各种安全应用技术和工具,学会使用安全技术产品实现网络应用的安全保护,达到初步具有独立研究网络与信息安全的能力。
(二)课程目标
在学完本课程之后,学生能够:
1.掌握信息安全的基本理论和方法。
2.学习网络安全的相关概念,密码学的基础知识,网络安全的基础知识。
3.学习密码学的各种加密方式和密钥管理,学会如何使用常见的对应加密手段进行加密。
4.了解网络攻击常用的手段和工具,攻击的思想,网络防御的基本思想和要点及手段。
5.了解各种安全防护产品的设计原理及应用。
6.学习掌握各种网络安全协议。
三、教学内容和要求
(一)理论教学的内容及要求
第1章信息安全概述
1、了解:信息安全的发展历史,信息安全的目标,信息安全的研究内容。
2、掌握:信息安全的概念,安全性攻击。
第2章密码学基础
1、了解:密码学的发展历史。
2、掌握:密码学的基本概念,密码系统的分类,密码分析学及穷举攻击。
3、熟练掌握:经典密码学中的各种代换密码和置换技术。
第3章对称密码体制
1、了解:分组密码的概念原理,序列密码原理、RC4及其他对称加密算法。
2、掌握:数据加密标准DES,AES的加解密原理,及利用多重DES进行加解密。
第4章公钥密码体制
1、了解:公钥密码体制的产生,其他公钥密码算法ElGamal密码和椭圆曲线密码体制。
2、掌握:和公钥密码体制相关的数论基础,公钥密码体制的基本原理。
3、熟练掌握:RSA公钥密码体制的算法,可行性分析其安全性分析。
第5章消息认证
1、了解:消息认证的基本概念,基于DES的消息认证码。
2、掌握:消息加密认证,消息认证码MAC,及 Hash函数。
3、熟练掌握:常用的Hash算法,及对Hash函数的攻击。
第6章身份认证与数字签名
1、了解:身份认证的基本概念,身份认证的物理基础,零知识证明。
2、掌握:身份认证方式,kerberos协议。
3、熟练掌握:数字签名的原理及典型数字签名算法。
第7章密钥管理
1、了解:对称密码体制下整个密钥生命周期的管理
2、掌握:公钥密码体制下的密钥管理,数字证书,公钥基础设施PKI。
第8章访问控制
1、了解:访问控制的概念,发展历程,网络访问控制的应用,MAC地址过滤,VLAN访问控制列表,ACL访问控制列表,防火墙访问控制等。
2、掌握:访问控制策略:自主访问控制,强制访问控制,基于角色,基于任务,基于对象的访问控制等。
3、熟练掌握:自主,强制及基于角色的访问控制。
第9章网络攻击技术
1、了解:常用的扫描器原理及其应用。
2、掌握:实施一次网络攻击的完整步骤。侦查,扫描,访问权限的获取,保持访问权限,消除入侵痕迹。
3、熟练掌握:拒绝服务攻击及分布式拒绝服务供给。
第10章恶意代码分析
1、了解:病毒的感染,传播机制,如何对病毒进行防御。RootKit等。
2、掌握:病毒的概念,分类,原理。恶意移动代码,后门等。
3、熟练掌握:蠕虫病毒,特洛伊木马病毒的工作原理,感染传播机制,危害及清除方法。
第11章网络安全防御系统
1、了解:防火墙系统的定义分类。入侵检测系统的概述,分类,网络入侵检测系统Snort。
2、掌握:包过滤防火墙,状态防火墙,应用网关防火墙。防火墙的体系结构。
入侵检测,入侵防御系统的原理。
3、熟练掌握:防火墙的技术原理及入侵检测的常用方法。
(二)实践教学的内容及要求
实验一 密码实验系统
1、掌握传统密码算法的加解密原理;
2、理解对称,非对称密码算法的工作原理;
3、利用上述密码算法对文件进行加解密;
4、理解hash算法工作原理及公钥密码体制下的数字签名。
实验二PGP实验系统
熟悉公开密钥密码体制;
了解证书的基本原理;
熟悉数字签名;
熟练使用PGP的基本操作。
实验三防火墙实验系统实验
1、理解防火墙的功能和工作原理;
2、了解NAT的基本概念、原理及其三种类型,即静态NAT、动态地址NAT。同时,掌握在防火墙实验系统上配置NAT的方法,学会判断规则是否生效;
3、了解普通包过滤的基本概念和原理,掌握常用服务所对应的协议和端口。同时,掌握在防火墙实验系统上配置普通包过滤型防火墙的方法,学会判断规则是否生效;
4、掌握防火墙动态包过滤(状态检测)机制的原理;
5、理解防火墙的状态表。
实验四入侵检测实验系统实验
1、理解入侵检测系统的原理与工作方式;
2、理解NIDS的异常检测原理,了解入侵检测系统对各种协议“攻击”事件的检测原理;
3、了解网络异常事件,及常见的对主机的入侵;
4、了解入侵规则的配置方法,了解常见的HIDS系统检测方法;
5、了解入侵检测系统对网络大流量事件的检测原理。
实验五 Windows访问控制与安全配置
1、加固系统账户;
2、批派本地用户权利;
3、活用IP策略;
4、加强密码安全;
实验六 攻防实验系统
1、了解种植木马的方法;
2、理解和掌握木马传播和运行的机制;
3、掌握检查木马和手动删除木马的技巧;
4、学会防御木马的相关知识,加深对木马的安全防范意识。
实验七 Wireshaark网络监听软件应用实验
1、熟悉Wireshark网络监听软件的操作;
2、熟悉使用Wireshark网络监听软件对局域网的数据包进行捕获、分析。
四、学时分配
(本项编写要求:按章节简要编写各教学环节的学时分配)
章 次 |
各教学环节学时分配 |
小计 |
讲授 |
实验 |
上机 |
习题 |
讨论 |
课外 |
备 注 |
第一章:信息安全概述 |
2 |
2 |
|
|
|
|
|
|
第二章:密码学基础 |
2 |
2 |
|
|
|
|
|
|
第三章:对称密码体制 |
4 |
2 |
|
2 |
|
|
|
|
第四章:公钥密码体制 |
6 |
4 |
|
2 |
|
|
|
|
第五章:消息认证 |
2 |
2 |
|
|
|
|
|
|
第六章:身份认证与数字签名 |
4 |
4 |
|
2 |
|
|
|
|
第七章:密钥管理 |
2 |
2 |
|
|
|
|
|
|
第八章:访问控制 |
4 |
2 |
|
2 |
|
|
|
|
第九章:网络攻击技术 |
6 |
4 |
|
2 |
|
|
|
|
第十章:恶意代码分析 |
6 |
4 |
|
2 |
|
|
|
|
第十一章:网络安全防御系统 |
6 |
2 |
|
4 |
|
|
|
|
第十二章:安全协议 |
2 |
2 |
|
|
|
|
|
|
合 计 |
48 |
32 |
|
16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
五、考核说明
本课程考试类型为考查课程。可采用闭卷或课程设计的方式考查;课程成绩最终评定,书面考试+平时成绩,其中期末考试占百分之七十,平时成绩占百分之三十。
六、主要教材及教学参考书目
(一)主要教材
1.熊平著《信息安全原理及应用(第2版)》,清华大学出版社,2012年。
(二)主要参考书目
石志国 计算机网络安全教程(第2版),清华大学出版社,2011年4月。
William Stallings著《密码编码学与网络安全:原理与实践(第六版)》,电子工业出版社,2015年版;
冯登国著《网络安全原理与技术》(第2版),科学出版社,2010年版。
“无线传感器网络”教学大纲
制定人:宋辉 审核人:王玉田 批准人:倪建成 |
一、课程基本信息 开课单位:软件学院 课程名称:无线传感器网络 课程编号:304023 英文名称:Wireless Sensor Networks 课程类型:专业课 学 时:总 学 时 48 理论学时 32 实验学时 16 学 分:2.5 开设专业:物联网工程 先修课程:计算机组成原理、计算机网络、高级语言程序设计、操作系统 |
|
二、课程任务目标 (一)课程任务 《无线传感器网络》 是物联网工程的专业必修课程。本课程主要介绍无线传感器网络体系结构、通信协议和关键技术,以及无线传感器网络部署和数据处理方法。通过该课程的学习,使学生了解无线传感器网络的体系结构、通讯协议、命名与寻址、拓扑控制、时间同步、能好控制、数据处理等技术及应用模式;掌握常见无线传感器网络的应用及部署。 本课程旨在全面系统地阐述当前各种主流的无线传感网络的基本原理,结合多种无线传感网络开发平台,深入浅出地讲解无线传感网络的基本技术。在讲授内容上,力求反映国内外该方向技术的最新进展,在讲述方法上,注重理论与实际、原理与应用相结合,无线传感网络是现代通信产业中发展最为活跃的行业之一。 本课程是通信工程、信息工程或相关专业的专业课程。无线传感器网络是集传感器技术、微电机技术、现代网络和无线通信技术于一体的综合信息处理平台,具有广泛的应用前景,是计算机信息领域最活跃的研究热点之一。通过本课程的学习,要求学生掌握无线传感器网络的体系结构和网络管理技术,着重掌握无线传感器网络的通信协议,了解无线传感器网络的节点定位、目标跟踪和时间同步等几大支撑技术,为在基于无线传感器网络的系统开发和应用中,深入利用关键技术,设计优质的应用系统打下基础。 (二)课程目标 本课程介绍无线传感网络的系统构成、网络技术、协议、开发平台和应用,学生通过学习本课程应该达到以下目标: 熟练掌握有关无线传感网络的基本概念、基本理论以及基本的分析设计方法; 较好掌握有关各种无线传感网络的支撑技术,操作系统及仿真软件; 了解无线通信系统的关键技术和实现方法,包括路由协议、网络协议的技术标准; 进一步了解无线传感网络的应用和发展前景。 本课程要求学习了解无线传感器网络的体系结构和网络管理技术,掌握无线传感器网络中的物理层协议、MAC协议、路由协议、拓扑控制协议以及无线网络协议IEEE802.15.4等通信协议,了解无线传感器网络的节点定位、目标跟踪和时间同步等几大支撑技术,掌握基于无线传感器网络的智能应用的基本设计方法,掌握其软硬件开发平台和仿真环境的使用。 希望通过本课程的学习,加深对无线传感器网络的理解,为进一步研究和从事无线传感器网络应用开发和工程实践提供良好的基础和参考。 三、教学内容和要求 (一) 无线传感器网络概述(2学时) 主要内容: 无线传感器网络的发展历程、无线传感器网络的基本结构、无线传感器网络的关键性能指标、无线传感器网络的关键技术、无线传感器网络的应用范围。 教学要求: 1.了解无线传感器网络发展历程; 2.了解无线传感器网络基本结构; 3.了解无线传感器网络的关键性能指标和关键技术。 重点和难点: 重点:传感器网络的关键性能指标; 难点:传感器网络的特征。 (二)无线网络传感器的体系结构(4学时) 主要内容: 无线传感网络节点(WSNode)架构,含WSNode的硬件组件、WSNode的能量消耗、WSNode的操作系统和执行环境、WSNode的一些实例; 无线传感器网络构架,含传感器网络方案、网络架构优化的目标和关键参数、WSN的设计原则、WSN的服务接口和WSN中的网关的概念。 教学要求: 1.掌握WSNode的硬件组件、能耗及其操作系统和执行环境; 2.掌握WSN网络架构,包括传感器网络方案、网络架构优化的目标和关键参数、WSN的设计原则; 3.了解WSNode的一些实例;WSN的服务接口和WSN中的网关的概念。 重点和难点: 重点:无线传感器网络节点构架; 难点:无线传感器网络构架。 (三)物理层、MAC协议及链路层协议(6学时) 主要内容: 物理层协议简介:无线信道和通信基础知识,WSN中物理层和收发器的设计考虑; 无线MAC协议基础知识:低占空比协议和唤醒概念,基于竞争的协议,基于时刻表的协议,IEEE 802.15.4 MAC协议; 链路层的基础知识:误码控制,封装,链路管理。 教学要求: 掌握物理层协议的基本概念:无线信道和通信的基础知识; 掌握无线MAC协议基础知识:低占空比协议和唤醒概念,基于竞争的CSMA协议,基于时刻表的协议的基本概念;掌握IEEE 802.15.4 MAC协议; 掌握链路层的基础知识:误码控制中的主要技术,如ARQ技术,FEC技术,混合技术和能量控制等;链路层的封装中的自适应方案、中级校验方案等;链路管理中的链路质量特点和质量估计。 了解WSN中物理层和收发器的设计考虑;了解LEACH、SMACS和TRAMA协议, 重点和难点: 重点:无线传感器网络MAC协议 难点:无线传感器网络MAC协议 (三)寻址、同步和定位协议(6学时) 主要内容: 命名和寻址的基本概念,WSN中的地址和名称管理,MAC地址的分配,局部唯一地址的分布式分配,基于内容的和基于地理的寻址; 时间同步的基本概念,基于收发同步的协议,基于收收同步的协议。 定位和定点的概念,可能的途径,最小二乘法的数学知识单跳和多跳环境下的定位。 教学要求: 掌握命名和寻址的基本概念; 掌握定位和定点的概念; 了解WSN中的地址和名称管理,MAC地址的分配,局部唯一地址的分布式分配,基于内容的和基于地理的寻址;了解时间同步的基本概念,基于收发同步的协议,基于收收同步的协议;了解定位的可能途径,以及最小二乘法的数学知识单跳和多跳环境下的定位。 重点和难点: 重点:寻址和定位。 难点:寻址方法和定位技术的可能途径。 (四)网络层和路由协议(4学时) 主要内容: WSN的拓扑控制的概念,实现方式,请求分页方式,内存分配策略; WSN的路由协议分类:Flooding协议和Gossiping协议;基于代理的单播转发:SPIN协议,Directed Diffusion协议和Rumor协议;节能型单播:能量感知路由协议,LEACH协议和PEGASIS协议;广播和多播协议:基于源的树协议,共享的基于核的树协议;基于网格的协议;地理路由协议:GPSR协议和TBF协议;路由协议中的移动节点。 教学要求: 掌握操作系统中虚拟存储的实现,以及所涉及的主要算法; 掌握Flooding协议,Gossiping协议,基于代理的单播转发,节能型单播; 理解广播和多播协议:基于源的树协议,共享的基于核的树协议,基于网格的协议;地理路由协议; 掌握路由协议中的移动节点的基本概念。 重点和难点: 重点:基于查询的路由协议、基于地理信息的路由协议和支持QoS路由协议。 难点:基于查询的路由协议、基于地理信息的路由协议和支持QoS路由协议。 (五)WSN的构建和应用实现(10学时) 主要内容: 以数据为中心的和基于内容的WSN互联:基本概念,数据为中心的路由,数据汇聚,以数据为中心的存储。 WSN传输层和QoS:基本概念,覆盖和部署,可靠的数据传输,单个数据包的分发,基于块的分发,拥塞控制和码率控制。 高级的应用支持:高级的内网处理,WSN中的安全问题,针对特定应用的支持。 ZigBee技术:技术概述,技术特点,ZigBee协议栈,ZigBee协议的网络拓扑结构。 WSN仿真平台和开发平台:WSN仿真平台NS,JavaSim,OPNET,MATLAB等;WSN开发平台nesC语言和TinyOS操作系统。 教学要求: 掌握单个数据包的分发中的单径、多径和多收三种方式;掌握基于块的分发中的RSPQ和RMST,掌握WSN中拥塞控制的机制和码率控制的协议以及CODA拥塞控制框架。 掌握ZigBee协议栈及其网络拓扑结构; 了解以数据为中心的路由,数据汇聚,以数据为中心的存储;了解WSN的覆盖和部署及WSN中可靠的数据传输; 了解高级的内网处理,WSN中的安全问题,针对特定应用的支持; 了解WSN仿真平台NS,JavaSim,OPNET,MATLAB等的使用;了解WSN开发平台nesC语言和TinyOS操作系统的使用。 重点和难点: 重点:ZigBee技术的基本概念和技术特点。 难点: ZigBee协议栈及网络拓扑结构。 四、学时分配
章 次 |
各教学环节学时分配 |
小计 |
讲授 |
实验 |
上机 |
习题 |
讨论 |
课外 |
备 注 |
无线传感器网络概述 |
2 |
2 |
|
|
|
|
|
|
无线传感器网络节点架构 |
2 |
2 |
|
|
|
|
|
|
无线传感器网络架构 |
2 |
2 |
|
|
|
|
|
|
无线传感器网络物理层 |
6 |
2 |
4 |
|
|
|
|
|
无线传感器网络的MAC协议 |
2 |
2 |
|
|
|
|
|
|
无线传感器网络链路层协议 |
6 |
2 |
4 |
|
|
|
|
|
命名与寻址 |
2 |
2 |
|
|
|
|
|
|
时间同步 |
2 |
2 |
|
|
|
|
|
|
定位与定点 |
2 |
2 |
|
|
|
|
|
|
无线传感器网络拓扑控制 |
2 |
2 |
|
|
|
|
|
|
无线传感器网络路由协议 |
6 |
2 |
4 |
|
|
|
|
|
数据为中心和基于内容的互联 |
2 |
2 |
|
|
|
|
|
|
无线传感器网络传输层与QoS |
2 |
2 |
|
|
|
|
|
|
高级应用支持 |
2 |
2 |
|
|
|
|
|
|
ZigBee协议 |
6 |
2 |
4 |
|
|
|
|
|
WSN仿真平台与开发平台 |
2 |
2 |
|
|
|
|
|
|
五、考核说明 考核方法:闭卷 成绩评定法法:平时成绩30%考试成绩70% 六、主要教材及教学参考书目 (一)主要教材 1.李善仓等主编,无线传感器网络原理与应用.北京:机械工业出版社,2008 (二)主要参考书目 1. 孙利民,无线传感器网络,清华大学出版社,2005年 2.许毅,无线传感器网络原理与方法,清华大学出版社,2012年 3.彭力:无线传感器网络技术,冶金工业出版社,2010年 4.崔逊学、左从菊,无线传感器网络简明教程,清华大学出版社,2009年 5. 杨玺,面向实时监测的无线传感器网络, 人民邮电出版社,2010年 软件学院教学大纲.pdf |