本考试为闭卷考试,满分为150分,考试时间为180分钟。
数据结构80分,其中基础知识约30%(考核对数据结构基本概念、基础知识掌握情况);数据结构基本能力约40%(用所学的数据结构的知识和方法求解某些问题,给出正确的答案和问题);算法分析与设计约30%(对于给定的问题,能够运用所学的知识进行综合分析,设计出求解问题的算法,并能对此算法进行简单的时间和空间分析)。
软件工程55分:判断题、填空题或选择题(比例约占30%),简答题(比例约占30%),综合分析题(比例约占40%)。
计算机组成原理15分,综合应用题。
四、考试内容
1. 数据结构基础:掌握数据、数据类型、数据结构、算法等基本概念,初步掌握算法分析的方法,理解有关描述算法所使用的语言的说明等。
2. 线性表:线性表的定义及基本运算,掌握线性表的逻辑结构和两种存储表示方法,以及定义在逻辑结构上的各种基本运算在存储结构上如何实现,不同的链表(是否加头结点、设尾指针、循环、单向、双向等)适用的场合。
3. 栈和队列:掌握栈和队列的定义、栈和队列的顺序表示与实现,栈和队列的应用,能够熟练进行递归算法的设计。
4. 数组和广义表:掌握数组的定义,数组的顺序表示和实现,稀疏矩阵的压缩存储及运算的实现,广义表的定义,广义表的存储结构,熟悉广义表的递归算法。
5. 树和二叉树:掌握树的定义和基本术语,二叉树的定义、性质、存储结构,遍历二叉树和线索二叉树,树的存储结构,森林与二叉树的转换,树和森林的遍历,最优二叉树(赫夫曼树),赫夫曼编码。理解树的递归定义及各种操作的递归算法。
6. 图:掌握图的定义和术语,图的数组表示法、邻接表等存储结构,掌握深度优先遍历和广度优先遍历,无向图的连通分量和生成树,最小生成树,拓扑排序,关键路径,最短路径等的求解过程。
7. 查找:掌握顺序表、有序表的查找算法,二叉排序树的查找、插入及删除算法,平衡二叉树的建立过程,B-树的查找、插入及删除过程,哈希表的构造
16
方法,处理冲突的方法,哈希表的查找及其分析。各种查找算法时间性能分析与对比。
8. 内部排序:掌握直接插入排序,其他插入排序,希尔排序,快速排序,简单选择排序,树形选择排序,堆排序,归并排序,多关键字排序,链式基数等各种排序方法的基本思想、排序过程,掌握各种排序方法的算法和空间性能分析及各种排序方法的比较和选择。
9. 软件工程基本概念:软件危机的概念、原因以及消除途径;软件工程的概念、基本原理、方法学;软件生命周期,主要软件过程的特点。
10.可行性研究:可行性研究的任务、过程;用符号等表示系统的流程图与数据流图;数据字典的内容、方法、用途以及实现过程;成本/效益分析方法。
11. 需求分析:需求分析的任务、要求以及获得需求的主要方法;实体-联系图;状态转换图;层次方框图;IPO图;验证软件需求的方法。
12. 总体设计:总体设计的过程、原理、模块化、抽象、逐步求精等过程;层次图和HIPO图、结构图;面向数据流的设计方法的概念、变换分析、事务分析和设计优化,内聚和耦合。
13. 详细设计:结构化程序设计;程序流程图、盒图、PAD图、判定树、判定表;面向数据结构的设计方法,Jackson图及方法;程序复杂程度的定量度量。
14. 实现:编码风格;测试的定义和目标;单元测试;集成测试过程及方法;白盒、黑盒测试技术;BRO测试;条件测试,测试用例设计。
15. 维护:软件维护的定义、特点;主要的维护活动;软件再工程过程。 16. 面向对象方法学:面向对象方法学的要点、优点;面向对象的基本概念;面向对象建模;对象模型;动态模型;功能模型以及三种模型之间的关系。
17. 面向对象分析设计:面向对象分析的概念与基本过程;确定类、对象、关联、属性等建立对象模型;UML的基本概念,顺序图、用例图等图形的作法;面向对象的设计。
18. 软件项目管理:估算软件规模;开发工作量估算;开发时间、进度估算;关键路径、机动时间;软件配置及管理过程;能力成熟度模型。
19. 中央处理器:CPU概述,单周期处理器设计,多周期处理器设计,微程序控制器设计,异常和中断处理。
17
20. 指令流水线:流水线概述,流水线处理器的实现,流水线冒险及其处理,高级流水线技术。
五、是否需使用计算器
否。
977高级程序设计与软件工程
一、考试性质
高级程序设计与软件工程是电子信息专业学位硕士(计算机技术与软件工程方向)招生考试初试的专业基础课程。
二、考查目标
要求考生掌握顺序、选择与循环程序设计、数组、函数、指针、结构体、文件操作等知识掌握的程度和运用能力;掌握软件工程的基本概念、原理和方法的理解程度,能够综合运用专业知识进行软件分析、设计、实现、维护的能力。
三、考试形式
本考试为闭卷、笔试考试,满分150分,考试时间180分钟。
试卷结构:填空题约20分,判断题约10分,选择题约20分,程序分析约30分,程序填空约30分,综合应用题约40分(程序设计部分约120分,软件工程部分约30分)。
四、考试内容
1. 顺序、选择及循环程序设计:内容包括数据的表现形式及其运算、语句、数据的输入输出、选择结构和条件判断、关系运算符和关系表达式、逻辑运算符和逻辑表达、条件运算符和条件表达式、多分支选择结构、循环的实现等。
2. 数组:内容包括一维和二维数组的定义和引用、字符数组的定义、输入输出及处理函数等。
3. 基于函数的模块化程序设计:主要包括函数的定义、调用、对被调用函数的声明和函数原型、嵌套调用、递归调用、数组作为函数参数的使用、局部变量和全局变量、变量的存储方式和生存期、变量的声明和定义、内部函数和外部函数等。
18
4. 指针:内容包括指针变量的定义、引用、作为函数参数的使用、通过指针引用数组、数组元素的指针、指针的运算、用数组名作函数参数、通过指针引用多维数组、通过指针引用字符串、字符指针作函数参数、指向函数的指针、返回指针值的函数、指针数组和多重指针等。
5. 自定义数据类型:包括定义和使用结构体变量、使用结构体数组、结构体指针、用指针处理链表、使用枚举类型、用typedef声明新类型名等。
6. 文件的输入输出:内容包括打开与关闭文件、顺序读写数据文件、随机读写数据文件、文件读写的出错检测等。
7. 软件详细设计:结构化程序设计;程序流程图、盒图、PAD图、判定树、判定表;面向数据结构的设计方法,Jackson图及方法;程序复杂程度的定量度量。
8. 软件实现与管理:编码风格;测试的定义和目标;单元测试;集成测试过程及方法;白盒、黑盒测试技术;BRO测试;条件测试,测试用例设计;软件项目管理。
五、是否需使用计算器
否。
978软件工程综合
一、考试性质
软件工程综合是软件工程学术学位硕士研究生招生考试的专业基础课程。
二、考查目标
要求考生能够理解数据结构的基本概念和基本原理,掌握与运用算法分析与设计的综合能力;掌握软件工程的基本概念、原理和方法的理解程度,能够综合运用专业知识进行软件分析、设计、实现、维护的能力。
三、考试形式
本考试为闭卷、笔试考试,满分150分,考试时间180分钟。
数据结构90分,其中基础知识约30%(考核对数据结构基本概念、基础知识掌握情况);数据结构基本能力约40%(用所学的数据结构的知识和方法求解某些问题,给出正确的答案和问题);算法分析与设计约30%(对于给定的问题,
19
能够运用所学的知识进行综合分析,设计出求解问题的算法,并能对此算法进行简单的时间和空间分析)。
软件工程60分:判断题、填空题或选择题(比例约占30%),简答题(比例约占30%),综合分析题(比例约占40%)。
四、考试内容
1. 数据结构基础:掌握数据、数据类型、数据结构、算法等基本概念,初步掌握算法分析的方法,理解有关描述算法所使用的语言的说明等。
2. 线性表:线性表的定义及基本运算,掌握线性表的逻辑结构和两种存储表示方法,以及定义在逻辑结构上的各种基本运算在存储结构上如何实现,不同的链表(是否加头结点、设尾指针、循环、单向、双向等)适用的场合。
3. 栈和队列:掌握栈和队列的定义、栈和队列的顺序表示与实现,栈和队列的应用,能够熟练进行递归算法的设计。
4. 数组和广义表:掌握数组的定义,数组的顺序表示和实现,稀疏矩阵的压缩存储及运算的实现,广义表的定义,广义表的存储结构,熟悉广义表的递归算法。
5. 树和二叉树:掌握树的定义和基本术语,二叉树的定义、性质、存储结构,遍历二叉树和线索二叉树,树的存储结构,森林与二叉树的转换,树和森林的遍历,最优二叉树(赫夫曼树),赫夫曼编码。理解树的递归定义及各种操作的递归算法。
6. 图:掌握图的定义和术语,图的数组表示法、邻接表等存储结构,掌握深度优先遍历和广度优先遍历,无向图的连通分量和生成树,最小生成树,拓扑排序,关键路径,最短路径等的求解过程。
7. 查找:掌握顺序表、有序表的查找算法,二叉排序树的查找、插入及删除算法,平衡二叉树的建立过程,B-树的查找、插入及删除过程,哈希表的构造方法,处理冲突的方法,哈希表的查找及其分析。各种查找算法时间性能分析与对比。
8. 内部排序:掌握直接插入排序,其他插入排序,希尔排序,快速排序,简单选择排序,树形选择排序,堆排序,归并排序,多关键字排序,链式基数等各种排序方法的基本思想、排序过程,掌握各种排序方法的算法和空间性能分析
20