哈工大计算机考研考纲834软件工程基础
834软件工程基础,哈工大大纲
考试大纲:2012年硕士研究生入学考试大纲考试科目名称:软件工程基础考试科目代码:[834] 本考试科目考试时间180分钟,满分150分。
包括软件工程与C程序设计两部分,每部分各75分。
软件工程(75分)一、考试要求要求考生全面系统地掌握软件工程的基本概念、原理、技术和方法,以及软件开发的全过程,并能灵活地运用这些基本知识,为软件开发建立分析模型、设计模型。
二、考试内容1、软件工程的基本概念:软件工程,软件开发生命周期,模型,方法,技术,工具,过程,软件工程环境,软件工程管理,软件开发风险,软件需求,软件设计,自顶向下,分解,抽象,细化,模块化,软件复审,软件测试等。
2、软件开发生命周期模型:各个模型的特点及用途。
3、软件需求a. 需求分析的任务b. 需求分析的五大活动c. 需求获取的常用方法d. 需求分析的步骤e. 结构化的分析方法,模型的组成,DFD的建模过程f. 需求分析验证g. 需求变更的管理4、软件设计a. 软件设计的任务b. 模块化设计c. 从结构化分析到结构化设计的过程d. 数据存储的设计e. 人机交互的设计f. 软件复杂性的度量5、软件质量与测试a. 软件的质量度量McCall模型及质量保证的活动内容b. 软件测试的目的和任务c. 软件测试的种类d. 黑盒测试与白盒测试方法及测试用例设计e. 软件测试的步骤f. 软件的纠错方法6、软件的维护:维护的种类三、试卷题型结构1、选择或填空(0-25分)2、问答题(0-30分)3、综合分析及设计(0-20分)四、参考书目史济民等,软件工程—原理、方法与应用,高等教育出版社,2003.3C程序设计(75分)一、考试要求了解高级语言程序设计的基本思想和方法,熟练运用结构化程序设计的三种基本结构编写程序,并要求对面向对象的技术和方法有初步的了解。
二、考试内容1、常量、变量、数据类型、表达式、算法与流程图等基本概念;2、输入/出等基本语句及简单程序设计;3、数组、结构体(或记录、数据域)与共用体、文件构造数据类型及其应用;4、顺序、选择、循环三种程序结构及其应用;5、函数(子程序、方法)与递归;6、指针与线性链表;7、面向对象的基本概念,面向对象分析方法,面向对象的设计,面向对象的实现,面向对象的测试。
834 计算机专业基础综合
834 计算机专业基础综合(数据结构、计算机网络)研究生入学考试大纲数据结构部分(占60%)【考试范围】线性表(包括队列、堆栈等特殊线性表)的基本逻辑结构特征理解与应用;线性表(包括队列、堆栈等特殊线性表)的物理存贮结构;特殊矩阵的存贮及应用;树、图等非线性结构的基本逻辑结构特征理解与应用;树、图等非线性结构的物理存贮结构.排序与查找算法;一些算法的设计与时间复杂度分析。
【具体内容】一绪论1引言2 什么是数据结构3 相关基本概念和术语4 算法的基本特征5 算法分析相关概念二线性表1 线性表的概念,线性表的抽象数据类型,基本操作2 线性表的顺序存储结构:静态分配,动态分配3 顺序表的插入删除算法,移动元素次数分析4 顺序存储结构的优缺点,引出单链表的结构类型定义5 单链表的算法:生成先进先出单链表,后进先出单链表6 单链表的算法:生成不带表头的递增有序单链表,生成带表头的递增有序单链表7 单链表的算法:在指定位置插入一个新结点;删除指定值的结点;在指定位置删除一个结点;8 单链表的合并:两个递增有序的单链表合并成一个递增有序的单链表9 循环链表的概念,双向循环链表的概念,插入和删除结点10 多项式的链表表示,算法思想三栈和队列1 栈的相关概念与特性2 顺序栈的基本操作3 链式栈的基本操作4 栈的应用5 队列的相关概念6 链式队列的基本操作7 顺序队列的基本操作四数组1 抽象数据类型数组的说明2 数组的物理结构3 特殊矩阵的压缩存储:对称矩阵与三对角矩阵的压缩存储4 稀疏矩阵的压缩存储:三元组顺序表与十字链表5 稀疏矩阵的运算(转置算法)6 广义表的概念:概念、物理结构、递归算法五树与二叉树1 树的有关概念2 二叉树的定义与性质3 二叉树的存储结构4 二叉树的遍历5二叉树遍历的应用6 树的存储结构7 树与二叉树的相互转换8 树与森林的遍历9 哈夫曼树10、哈夫曼算法六图1 图的定义及术语2 图的物理存贮结构:邻接矩阵、邻接表、十字链表和邻接多重表3 图的遍历:深度优先搜索遍历与广度优先搜索遍历4 图的连通性问题:DFS与BFS生成树、强连通分量的求解,最小生成树5 有向无环图及应用:拓扑排序、关键路径6 最短路径:迪杰斯特拉算法、弗洛伊德算法七查找1 查找问题概述2 顺序查找法3 折半查找法4 分块查找法5 二叉排序树查找法6 平衡二叉排序树查找法7 B-树查找法和B+树查找法8 键树查找法9 哈希查找法八排序1 查找问题概述、插入排序法2 交换排序法3 选择排序法4 归并排序法5 基数排序法计算机网络部分(占40%)【考试范围】重点考查计算机网络的构成和计算机网络核心的两种数据交换方法、计算机网络的层次化体系结构、计算机网络的性能度量指标、四种主流的因特网应用的工作原理(万维网/电子邮件/域名解析/P2P)、数据可靠传输的基本原理和方法、数据传输中流量控制和拥塞控制的基本原理和方法、计算机网络中的三种设备标识方式(域名/IP地址/MAC地址)及其映射关系、端口的概念和TCP/UDP 的工作原理、IP协议和路由协议、共享信道的协调方法和以太网的工作原理、无线局域网的构成和基本工作原理等内容。
834计算机专业基础综合
834计算机专业基础综合计算机专业基础是计算机专业学习的重要组成部分,其中包括数据结构和计算机网络两个重要的课程。
数据结构是计算机存储和组织数据的方式和方法的学科,它是计算机科学的核心内容之一、计算机网络是互联网和局域网等网络系统的基础,是支撑信息通信和互联网应用的基础设施。
数据结构是计算机专业的基础课程之一,它主要讲述了一系列数据的存储、组织、管理和处理的方法和技术。
数据结构研究了数据的表示和操作的方式,以及各种数据操作的性能和效率。
数据结构包括了线性数据结构(如数组、链表、队列、栈等)、非线性数据结构(如树、图等)、文件结构等。
掌握数据结构的基本概念、基本操作和算法设计能力,是计算机专业学习的基础。
在实际应用中,数据结构在算法设计、程序开发和系统优化等方面都起着重要的作用。
计算机网络是计算机专业的另一门基础课程,它主要研究计算机之间的互联和通信原理、协议和技术。
计算机网络的发展,使得信息通信和互联网应用成为现代社会不可或缺的基础设施。
计算机网络包括了局域网、广域网和互联网等各种网络系统,同时还涉及到网络协议、网络安全、网络管理和网络性能优化等方面的内容。
学习计算机网络,需要掌握网络基本原理和网络协议的基本概念、基本操作和技术要求,同时还需要具备网络设计和网络管理的能力。
综合考虑数据结构和计算机网络两门课程,可以发现它们都是计算机专业学习的基础课程,是计算机科学和技术学习的重要门槛。
数据结构和计算机网络的学习需要具备一定的数学基础和编程基础,同时还需要具备一定的分析和问题解决能力。
数据结构和计算机网络既有理论探讨,又有实际应用,并且它们在计算机科学和技术的各个领域中都具有广泛的应用。
数据结构和计算机网络的学习,可以提高学生的计算机科学素养和解决实际问题的能力。
掌握了数据结构和计算机网络的基本理论和技术,学生可以更好地理解计算机科学和技术的原理和实践,从而更好地设计和开发计算机系统和应用。
数据结构和计算机网络的学习还可以培养学生的分析、抽象和创新能力,提高解决实际问题和开展科学研究的能力。
计算机834考研科目
计算机834考研科目
1.计算机组成原理:涵盖计算机的结构、功能及其实现原理;
2.操作系统:介绍操作系统的设计与实现,涉及操作系统的基本概念、实现机制和设计思想;
3.编译原理:介绍编译器的研究与设计原理,涉及编译器的结构、分
析原理、翻译原理、中间代码生成和目标代码生成等;
4.计算机网络:介绍计算机网络的研究与设计原理,涉及网络的总体
框架、网络体系结构和各种网络技术;
5.数据库技术:介绍数据库的设计和实现,涉及数据库模型、数据库
管理系统、数据库技术、数据库安全等;
6.计算机图形学:涵盖程序技术、硬件方法、算法模拟与模型等,实
现计算机上的两维和三维图形效果;
7.计算机视觉:重点介绍计算机视觉技术,涉及计算机视觉基础和应用,以及计算机图像处理和分析;
8.虚拟现实:介绍虚拟现实技术的理论依据、技术和实施;
9.人工智能:介绍人工智能的理论基础、结构和算法,重点介绍智能、智能机器、机器学习等;
10.软件工程:介绍软件工程的研究方法和实践。
2014哈尔滨工业大学软件工程834考研真题
2014哈尔滨工业大学软件工程834考研真题今年考的835软件工程,总体考的不理想,也不知道能不能过线!废话不多说,先说真题吧!14年的真题挺恶心,考试大纲给的范围是这样的,考C语言和JAVA基础,面向对象基本思想,面向对象的基本概念:面向对象的分析方法,面向对象的设计,面向对象的实现,面向对象的测试。
考试的题呢,C语言很简单的,JAVA考了很多,还考了UML,当然还有面向对象基本概念。
大纲给的题型是1,填空(20分)2,简答题(30分)3,程序设计(100分)结果题型完全跟大纲的题型不搭边,题型有选择,有填空,有写程序运行结果,有程序改错,有程序设计,有这些也就算了,还有简答,还有尼玛名词解释,还有UML画图,还有测试用例设计!总之吧,我悲剧了,基本没怎么复习软件工程这本书,C语言75分基本能打满分吧。
面向对象75能得25就不错了,后面35分没复习,基本上就是胡写一通了!发了这么多牢骚,言归正传,记住的真题如下:选择最后说,记住的最少C语言1.流程图:有计算机产生一个随机数magic,由用户输入一个数guess,如果guess 大于magic,输出“Wrong!Too big!”,如果guess小于magic,输出“Wrong!Too small!”,如果guess等于magic,输出“Right!”,程序结束!C程序设计(苏小红版)118页流程图2.程序改错:是C程序设计(苏小红版)310页 10.9 答案书的第三种方法的那个程序,一共有5个错误,8分,估计找到四个就能满分,五个错误是1 没有加 #include<string.h>2 #define N=40;改成 #define N403 for(...); 改成for(...) 后边加了一个;4 if()之中的两个字符串要用strcmp()函数5 字符串不能直接赋值,要用stringcpy()函数3.读程序结果是很简单的,一个大概是这样的#include <stdio.h>int main() {int i;for(i =2 ; i < 6 ; i ++) {if(i%2 == 0)continue;printf("**%d\n",i);}return 0;}结果是**3**5第二个是一个字符串指针,答题时这样#include <stdio.h>#include <string.h>int main() {char a[20] = "ABCDE";char b[20] ="abc";char *p = a;char *q = b;p+=3;strcat(q,p);printf("%s",q);}结果是abcDE4.程序设计前两个特别简单,特别基础,(1) 输出1到键盘输入n之间的所有数的平方和立方(2)计算1!+ 2!+ ... + 10!(3)某班级有40个人,用键盘输入学生的学号和某门课成绩,然后由用户输入一个学号,查找该学号学生的成绩,找到返回成绩,如果没找到打印 NOT FOUND!以上就是C语言的75分部分,很简单,以下是面向对象的75分记的不是很清楚了,选择有一个考模块异步通信对程序的可移植性效率提高明显的,有一个考螺旋模型应对风险能力强,还有一个考哪个不是字符型数据的,还有一个考耦合类型的,还有俩白给的,一个七个,每个两分1 名词解释抽象类用例2. 简答MVC架构每层的含义作用和他们的关系那俩一下子蒙住了,想不起来了,什么时候想起来再说吧,不难3.设计(UML)一个是类图题,考的是微博,微博分原创和转发,用户可以有多个微博,有一个微博列表,用户可以评论微博,要求把对应关系和关联标示清楚另一个是部署图,完全没复习,唉!考的也是微博,用户可以通过web或者手机app访问典型B/S的微博系统,为了提高效率,控制层用分布式,记不清楚了3用例题用等价类划分法完成测试用例,写出测试用例包括期望数据,是否合法并且写出覆盖的路径,用户输入一个数,这个数包括两部分,月和日,月有1和2,如果月为1,日范围是(25-30),如果月为2,日范围是(1-18),输入测试用例,。
2019 哈尔滨工业大学 834《软件工程》 考试大纲
2019年哈尔滨工业大学834《软件工程》考试大纲本考试科目考试时间180分钟,满分150分。
包括:C语言程序设计课程(占75分)和软件工程课程(占75分)。
C语言程序设计部分(75分)一、考试要求要求考生掌握用计算机处理问题的思维方法,掌握C语言的基本语法、基本控制结构、常用的算法、问题求解方法和程序设计方法,具备综合运用所学知识独立解决与计算相关的工程技术问题的程序设计、实现和调试能力。
二、考试内容1)问题的抽象、建模和算法描述a:算法的基本概念b:算法的流程图描述方法2)基本控制结构a: 选择结构的三种控制方式(单分支、双分支、多分支)b: 循环结构的三种控制方式(计数控制、条件控制和标记控制)c: 流程转移控制的基本方法d: 基本控制结构的嵌套3)函数和常用的问题求解方法a: 函数定义,函数调用,函数原型,函数的参数传递,防御式编程b: 分治与递归,函数的递归调用,递归函数的设计方法c: 枚举(即穷举)d: 递推(正向递推、反向逆推)4)数组和常用的算法a: 一维数组和二维数组的定义、初始化和引用b: 一维数组、二维数组做函数参数向函数传递一维数组和二维数组c: 字符数组或字符指针做函数参数向函数传递字符串d: 常用的字符串处理操作(字符串的复制、连接、比较、计算长度、插入字符、删除字符、精确匹配等)e: 常用的排序算法(选择排序、冒泡排序、插入排序)f: 常用的查找算法(顺序查找、折半查找)5)指针a: 指针变量的定义、初始化和解引用b: 指针变量做函数参数c: 指针数组d: 函数指针6) 结构体和共用体a:结构体变量、结构体数组和结构体指针b: 结构体变量、结构体数组或结构体指针做函数参数向函数传递结构体c: 共用体类型d: 结构体和共用体占内存的字节数,内存对齐e: 动态内存分配函数和动态数据结构,链表的基本操作7)文件操作a:文件的打开和关闭b:二进制文件和文本文件c:文件的顺序读写三、试卷题型结构a:程序理解题(5分)b:程序改错题(5分)c:程序补全题(30分)d:程序设计题(35分)四、参考书目1.苏小红,王宇颖,孙志岗等,C语言程序设计(第3版),高等教育出版社,2015.082.苏小红,王甜甜,车万翔,C语言程序设计学习指导(第3版),高等教育出版社,2015.09软件工程部分(75分)一、考试要求要求考生全面系统地掌握软件工程的基本概念、软件工程的常用过程模型、软件的生命周期、结构化与面向对象的软件分析、设计、开发和测试方法,并能灵活运用;能够利用软件工程的基本知识,为应用系统构造有效的需求、设计和测试方案;能够初步分析软件方案的合理性。
2019哈工大软件工程考研初试科目及参考书目
其中,建于 1986 年的计算机应用技术博士点为国家首批重点学科; 建于 1981 年的计算机系统结构博士点是我国首批博士点,也是国家 级重点学科;计算机软件与理论博士点建于 1998 年;人工智能与信 息处理博士点建于 2003 年;信息安全博士点建于 2004 年;数字媒 体技术与艺术博士点建于 2006 年。2010 年教育部批准软件工程博 士点。
程)
与实践》
高等教育出版 社,2006.05
《 Software Engineering: Rogers
S. 机 械 工 业 出 版
A Practitioner’s Approach Pressman.(郑人杰等 社,2011.08
(Seventh Edition)》(《软件 译)
工程:实践者的研究方法
834 软件工程 《C 语言程序设计(第 3 苏小红,王宇颖,孙 高 等 教 育 出 版 社 ,
基础(含 版)》
志岗
2015.08
C 语言程 《C 语言程序设计学习 苏小红,车万翔,王 高 等 教 育 出 版
序设计、 指导(第 3 版)》
甜甜
社,2015.09
软 件 工 《软件工程-理论、方法 刘强,孙家广
2019 哈工大软件工程考研初试科目及参考 书目
一、学院介绍 哈尔滨工业大学计算机专业创建于 1956 年,是中国最早的计算机专 业之一。在 1985 年,发展成为计算机科学与工程系,并建立了计算 机科学技术研究所。2000 年,计算机科学与技术学院成立;同年, 建立了软件学院,后经国家教育部、国家计委批准为国家示范性软件 学院。
834 计算机专业基础
834 计算机专业基础
计算机专业基础是计算机科学与技术专业学生必须掌握的基本知识和技能,它包括以下几个方面:
1. 计算机组成原理:掌握计算机硬件系统的组成、运行原理、各种模块的功能和相互关系,包括中央处理器、存储器、输入输出设备等。
2. 数据结构与算法:熟悉各种数据结构的特点、应用场景和操作方法,了解各种算法的适用范围、时间复杂度和空间复杂度,以及优化算法的方法。
3. 编程基础:掌握至少一种编程语言的语法、数据类型、变量、运算符、流程控制、函数、数组、指针等基本概念和操作,以及代码的调试和测试方法。
4. 计算机网络:了解计算机网络的基本原理、协议、拓扑结构、传输介质、路由与交换、网络安全等基本概念和技术。
5. 数据库基础:掌握关系型数据库的基本概念、SQL语言、
数据表的设计与创建、数据的增删查改、事务处理等基本操作,在此基础上了解非关系型数据库和Big Data技术。
综上所述,掌握计算机专业基础知识对于计算机科学与技术专业学生是非常重要的,是进一步学习计算机各个领域知识的基础。
834计算机专业基础综合
834计算机专业基础综合计算机专业基础是计算机科学与技术专业的核心课程之一、它包含了计算机科学与技术领域的基础理论、基本方法和基本技能。
该课程通常包括计算机硬件结构、计算机网络、操作系统、数据结构和算法、编程语言等内容。
通过学习这些基础知识,学生将能够理解计算机的工作原理,掌握计算机系统的组成部分和各个层次的功能,具备编写高效、可靠的程序的能力。
下面将对计算机专业基础的各个方面进行详细阐述。
计算机硬件结构是计算机专业基础中的一个重要内容。
它研究计算机硬件的组成和功能,包括中央处理器、内存、硬盘、显示器等各个部件。
学生通过学习计算机硬件结构,了解计算机的基本工作原理,掌握计算机硬件部件的功能和相互之间的连接方式,能够根据具体的硬件需求选择合适的硬件配置。
计算机网络是计算机专业基础中的另一个重要内容。
它研究计算机之间的连接和通信方式,包括局域网、广域网和互联网等。
学生通过学习计算机网络,了解网络的基本结构和协议,掌握网络的配置和管理技术,能够搭建和维护计算机网络的硬件和软件环境。
操作系统是计算机专业基础中的核心内容,它是计算机系统的核心软件。
操作系统负责管理计算机系统的资源,提供用户与硬件之间的接口,实现各种系统功能,如进程管理、文件管理、内存管理和设备管理等。
学生通过学习操作系统,了解操作系统的基本原理和功能,掌握操作系统的安装、配置和使用技术,能够解决计算机系统中的各种问题。
数据结构和算法是计算机专业基础中的重要内容。
它们是计算机程序设计的基础,涉及程序中数据的组织和操作方式以及解决问题的方法。
学生通过学习数据结构和算法,了解常见数据结构的特点和应用场景,掌握常用算法的设计和实现技巧,能够编写高效、可靠的程序。
编程语言是计算机专业基础中的另一个重要内容。
它是计算机程序的载体,是计算机程序员表达思想和解决问题的工具。
学生通过学习编程语言,了解编程语言的基本语法和特点,掌握常用编程语言的编写和调试技术,能够编写简单的程序解决实际问题。
834计算机科学专业基础综合
834计算机科学专业基础综合1.引言计算机科学专业作为一门专注于研究计算机系统及其应用的学科,其基础知识是学生在该领域取得成功的关键。
本文将综合介绍计算机科学专业的基础知识,包括计算机系统、数据结构、算法分析等。
2.计算机系统计算机系统是指由硬件和软件组成的计算机实体。
理解计算机系统的原理和工作机制对于理解计算机科学专业的其他方面非常重要。
计算机系统可以分为五个方面:计算机组成、操作系统、编译原理、网络和数据库。
计算机组成包括处理器结构、存储器层次结构、输入输出系统等。
操作系统涉及进程管理、内存管理、文件系统等。
编译原理涉及编译器的设计与实现、解释器的设计与实现等。
网络方面涉及计算机网络的原理、协议、网络安全等。
数据库涉及关系数据库的设计与实现、数据库管理系统的原理与实践等。
3.数据结构数据结构是计算机存储、组织和操作数据的方法和原则。
在计算机科学专业中,数据结构是一门基础课程。
数据结构有很多种类,包括数组、链表、栈、队列、树、图等。
学习数据结构可以帮助学生理解数据的组织和访问方式,以及如何选择和应用适当的数据结构。
此外,学习数据结构还可以提高学生的编程能力,帮助他们设计和实现高效的算法。
4.算法分析算法是解决问题的一系列指令或步骤。
算法分析是计算机科学中的重要概念,用于评估算法的效率和性能。
在计算机科学专业中,学习算法分析可以帮助学生了解算法的时间复杂度和空间复杂度,以及如何选择和设计高效的算法。
算法分析还可以训练学生的问题解决能力和抽象思维能力。
5.数据库管理系统数据库管理系统(DBMS)是用于管理和访问数据库的软件系统。
在计算机科学专业中,数据库管理系统是一个重要的课题。
学习数据库管理系统可以帮助学生了解数据库的设计和管理原则,以及如何使用数据库进行高效的数据存储和访问。
此外,学习数据库管理系统还可以提高学生的数据库设计和查询优化能力。
6.编程语言和软件工程编程语言是用于编写计算机程序的语言。
823软件工程考研大纲
823软件工程考研大纲
软件工程考研的大纲主要包括以下几个方面:
1. 软件工程基础知识,包括软件工程的概念、软件工程的发展
历程、软件生命周期、软件工程的原理与方法等。
此部分主要考察
考生对软件工程基本概念和理论的掌握程度。
2. 软件需求与规格,包括软件需求分析、需求建模、需求规格
化等。
此部分主要考察考生对软件需求工程的理解和应用能力。
3. 软件设计与架构,包括软件设计原则、面向对象设计、软件
架构设计等。
此部分主要考察考生对软件设计和架构的理解和实践
能力。
4. 软件测试与质量保证,包括软件测试的基本概念、测试方法、测试策略、软件质量保证等。
此部分主要考察考生对软件测试和质
量保证的理解和实践能力。
5. 软件项目管理,包括软件项目计划与组织、项目进度与成本
管理、软件配置管理等。
此部分主要考察考生对软件项目管理知识
和技能的掌握程度。
6. 软件工程实践与工具,包括软件开发方法、软件工程实践、软件工程工具等。
此部分主要考察考生对软件工程实践和工具的应用能力。
7. 软件工程伦理与法律,包括软件工程伦理、软件知识产权、软件法律等。
此部分主要考察考生对软件工程伦理和法律知识的了解和应用能力。
总体来说,软件工程考研的大纲涵盖了软件工程的基本理论、方法和实践,旨在培养学生的软件工程思维和能力。
考生需要通过学习和掌握这些知识,提高软件开发和管理的能力,为软件行业的发展做出贡献。
834计算机科学专业基础综合
考试科目:834 计算机科学专业基础综合三、复习内容:A. 数据结构部分1.复习要求:1)掌握数据结构的基本概念、基本原理和基本方法。
2)掌握数据的逻辑结构、存储结构及基本操作的实现,能够对算法进行基本的时间复杂度与空间复杂度的分析。
3)能够数据结构基本原理和方法进行问题的分析与求解,具备采用 C 或C++ 或实现算法的能力。
2.主要复习内容:1)线性表(1)线性表的定义和基本操作(2)线性表的实现a. 顺序存储b. 链式存储c. 线性表的应用2)栈、队列和数组(1 )栈和队列的基本概念(2)栈和队列的顺序存储结构(3)栈和队列的链式存储结构(4 )栈和队列的应用(五)特殊矩阵的压缩存储3)树与二叉树(1 )树的概念(2)二叉树a. 二叉树的定义及其主要特征b. 二叉树的顺序存储结构和链式存储结构c. 二叉树的遍历d. 线索二叉树的基本概念和构造(3)树、森林a. 树的存储结构b. 森林与二叉树的转换c. 树和森林的遍历(4 )树与二叉树的应用a. 二叉排序树b. 平衡二叉树c. 哈夫曼(Huffman )树和哈夫曼编码4)图(1 )图的基本概念(2)图的存储及基本操作a. 邻接矩阵法b. 邻接表法(3)图的遍历a. 深度优先搜索b. 广度优先搜索(4)图的基本应用a. 最小(代价)生成树b. 最短路径c. 拓扑排序d. 关键路径5)查找(1)查找的基本概念(2)顺序查找法(三)折半查找法(四) B 树及其基本操作、B+ 树的基本概念(五)散列(Hash )表(六)查找算法的分析及应用6)排序(1 )排序的基本概念(2)插入排序a. 直接插入排序b. 折半插入排序(3 )气泡排序(bubble sort )(4 )简单选择排序(5 )希尔排序(shell sort )(6)快速排序B. 计算机组成原理部分(1)计算机发展历程(2)计算机系统层次结构a. 计算机硬件的基本组成b. 计算机软件的分类c. 计算机的工作过程(3)计算机性能指标吞吐量、响应时间;CPU 时钟周期、主频、CPI、CPU 执行时间;MIPS 、MFLOPS 。
哈工大计算机考研考纲834软件工程基础
2016年硕士研究生入学考试大纲考试科目名称:软件工程考试科目代码:[834] 本考试科目考试时间180分钟,满分150分。
包括:C语言程序设计课程(占75分)和软件工程课程(占75分)。
C语言程序设计部分(75分)一、考试要求1. 要求考生全面系统地掌握C语言程序设计的基本方法,常用算法的流程图描述方法。
2. 针对具体的实际应用问题,能够用流程图描述算法,并灵活运用C程序设计语言编写程序。
二、考试内容1)算法的描述方法a:算法的基本概念b:算法的流程图表示方法2)基本控制结构a:数据的键盘输入和屏幕输出b: 顺序、分支和循环三种基本控制结构c: 循环的三种控制方法(计数控制的循环,条件控制的循环,标记控制的循环),嵌套循环d: 流程的转移控制3)函数a:函数的定义、调用和参数传递b: 函数原型c: 基本类型的变量做函数参数向函数传递变量的值d: 从函数返回一个值e: 函数的递归调用,递归函数4)数组a:一维数组和二维数组的定义、初始化和引用b: 一维数组、二维数组做函数参数向函数传递一维数组和二维数组c:字符数组或字符指针做函数参数向函数传递字符串d: 常用的字符串处理操作(字符串的输入、输出、复制、连接、比较、计算长度、插入字符、删除字符等)e: 常用的排序算法(选择排序、交换排序、冒泡排序)和查找算法(顺序查找、折半查找)5)指针a:指针变量的定义、初始化和解引用b:指针变量做函数参数c: 指针数组d: 函数指针6) 结构体和共用体a:结构体变量、结构体数组和结构体指针的定义和初始化b: 结构体变量、结构体数组或结构体指针做函数参数向函数传递结构体c: 结构体成员和嵌套的结构体成员的访问d: 共用体类型e: 结构体和共用体占内存的字节数7)文件操作a:文件的打开和关闭b:二进制文件和文本文件c:文件的顺序读写三、试卷题型结构a: 单项选择题(8分)b: 写出程序运行结果题(8分)c: 程序填空题(8分)d: 画出算法的流程图(8分)e: 程序改错题(8分)f: 编程题(35分)四、参考书目1.苏小红,王宇颖,孙志岗等,C语言程序设计(第3版),高等教育出版社,2015.082.苏小红,车万翔,王甜甜,C语言程序设计学习指导(第3版),高等教育出版社,2015.09软件工程部分(75分)一、考试要求要求考生全面系统地掌握软件工程的基本概念、软件工程的常用过程模型、软件的生命周期、结构化与面向对象的软件分析、设计、开发和测试方法,并能灵活运用;能够利用软件工程的基本知识,为应用系统构造有效的需求、设计和测试方案;能够初步分析软件方案的合理性。
2024年计算机833大纲
2024年计算机833大纲主要包括计算机网络、数据库系统、操作系统、软件工程和计算机应用基础等几个方面。
一、计算机网络
1.计算机网络的基本概念和发展历程
2.OSI参考模型和TCP/IP协议族
3.传输层协议TCP和UDP
4.网络层协议IP和ICMP
5.数据链路层和物理层
二、数据库系统
1.数据库系统的基本概念和发展历程
2.关系数据库模型和SQL语言
3.数据库设计和ER模型
4.数据库查询优化和索引技术
5.数据库事务和并发控制
三、操作系统
1.操作系统的基本概念和发展历程
2.进程管理和线程管理
3.内存管理和虚拟内存
4.文件系统和输入输出系统
5.分布式系统和操作系统安全
四、软件工程
1.软件工程的基本概念和发展历程
2.软件开发生命周期和敏捷开发方法
3.软件需求分析和规格说明
4.软件设计和测试方法
5.软件项目管理和质量管理
五、计算机应用基础
1.计算机硬件和操作系统基础知识
2. Office办公软件的使用和应用
3.编程语言及应用开发
4.网络安全和信息安全的基本概念
5.大数据和云计算的基本概念
以上是2024年计算机833大纲的主要内容,总结起来就是计算机网络、数据库系统、操作系统、软件工程和计算机应用基础五个方面。
深入学习这些内容可以使学生全面理解计算机相关知识,为以后的学习和工作打下坚实的基础。
834计算机专业基础(数据结构、操作系统)
834计算机专业基础(数据结构、操作系统)计算机专业基础中的数据结构和操作系统是非常重要的两个主题。
数据结构是计算机科学中的基础,它涉及了存储和组织数据的方式。
操作系统则是计算机系统中的核心组成部分,其功能包括管理计算机资源,协调各种计算机程序的执行等。
在学习和理解这两个主题之前,我们需要了解它们的历史和背景。
数据结构数据结构在计算机科学中占据着重要的位置。
早期计算机编程使用的是简单的算法和数据存储方式,但是随着计算机技术的进步,数据结构的概念越来越被广泛使用。
人们需要寻找一种可靠的方法来存储和组织数据,从而实现更优秀的性能表现。
数据结构的主要目的是提供一个框架,以便于高效的处理和分析数据。
数据结构的选择对于计算机程序的性能表现有着深远的影响。
与数据结构相关的算法也非常重要,它们能够帮助我们解决更加复杂的问题。
在计算机科学中,常见的数据结构包括数组、链表、树和图等。
这些数据结构各自有着不同的复杂度和适用场景。
例如,数组适用于存储连续的数据,链表适用于存储不连续的数据,树适用于存储层级结构,图则适用于存储连接关系。
操作系统操作系统是计算机系统中的一个关键组成部分,其主要作用是管理计算机资源以及协调各种计算机程序的执行。
操作系统负责各种任务,如进程管理、内存管理、设备驱动程序管理以及文件系统管理等。
在计算机系统中,操作系统实现了一些核心功能。
例如,他们允许用户访问计算机的硬件资源,如磁盘驱动器或网络连接;还可以保护计算机程序免受可能的损坏或破坏。
操作系统的演变经历了多年的历史,从早期的批处理操作系统和命令行操作系统到图形用户界面操作系统,再到现代的基于云计算的操作系统。
尽管操作系统的演变和发展非常迅速,但其主要目标始终是提供更好的性能和效率。
总结在计算机科学中,数据结构和操作系统是两个非常重要的主题。
尽管正在不断的演变和发展,但是它们仍然是计算机学科中最实用和最基本的两个部分。
了解数据结构和操作系统,可以帮助我们更好的理解计算机系统的工作原理,为我们设计有效的计算机程序奠定重要基础。
834计算机专业基础(数据结构、操作系统)
834计算机专业基础(数据结构、操作系统) 1 数据结构1.1 什么是数据结构数据结构是计算机科学的基础知识之一,是指组织和存储数据的方式。
数据结构的目的是为了使程序能够高效地处理和检索数据。
数据结构包括数组、链表、栈、队列、树、图等多种类型,不同的数据结构适合不同的场景和应用。
例如,数组适合存储线性数据,链表适合用于频繁的插入和删除操作,栈和队列适合用于处理数据结构中的先进先出和后进先出的规则,树和图适合表示复杂的关系型数据。
1.2 常用数据结构1.2.1 数组数组是一种线性数据结构,它可以存储同类型的数据。
数组中每个元素都有一个唯一的下标,通过下标可以访问数组中的元素。
数组的优点是可以快速的访问任意位置上的元素,但是插入和删除操作比较麻烦。
1.2.2 链表链表也是一种线性数据结构,不同于数组,链表中的元素不一定是连续的。
每个节点都包含一块内存和一个指向下一个节点的指针。
链表的优点是可以快速的插入和删除节点,但访问数据需要遍历整个链表。
1.2.3 栈栈也是一种线性数据结构,它采用后进先出的原则。
栈顶是最后一个入栈的元素,栈底是最先入栈的元素。
栈的优点是操作简单,但是只能访问栈顶元素。
1.2.4 队列队列也是一种线性数据结构,它采用先进先出的原则。
队列的队首是最先入队的元素,队尾是最后一个入队的元素。
队列的优点是可以快速地处理队首和队尾元素,但是不能在任意位置插入和删除元素。
1.2.5 树树结构是一种非线性数据结构。
它由若干个节点组成,并且每个节点最多有一个父节点和若干个子节点。
树的优点是可以快速地查找对应节点和插入删除节点。
1.2.6 图图是一种非线性的数据结构,它由若干个节点和若干条连接节点的边构成。
图的优点是可以快速地处理节点之间复杂的关系。
2 操作系统2.1 什么是操作系统操作系统是计算机必不可少的软件之一,它负责管理计算机的软硬件资源,并提供一个用户和应用程序可以使用的环境。
操作系统的核心部分包括内核和文件系统。
哈工程初试—软件工程大纲
综合题
论述题
主要参考书:
软件工程概论郑人杰、马素霞、殷人昆编著,机械工业出版社,2010
2.熟练掌握软件过程与软件过程改进的基本原理,了解软件过程成熟度,软件ቤተ መጻሕፍቲ ባይዱ力成熟度模型。
3.熟练掌握软件项目管理基本概念,项目估算基本方法,风险管理评估与控制,进度控制与表示方法,需求与配置管理等。
4.了解软件工程标准及相关软件文档。
考试总分:50分考试时间:1小时考试方式:笔试
考试题型:填空题
判断题
2.深刻理解面向对象分析技术,面向对象分析的3个模型及5个层次,建立用例模型、对象模型及动态模型。
3.熟练掌握软件体系结构基本概念及设计模式。
4.掌握面向对象设计过程与准则,体系结构模块及依赖性,系统分解与问题域设计,人机交互、任务管理、数据管理、对象设计等基本概念与方法。
四、软件维护与软件管理
1.了解软件维护的基本概念。
2.深刻理解结构化设计方法基本概念及原则,结构化设计体系结构、接口、数据、过程设计等内容。
3.了解程序设计语言相关概念及编码规范。
4.熟练掌握软件测试基本概念,软件测试策略与过程,黑盒测试(等价类划分、边界值分析、因果图、决策表)、白盒测试等测试用例设计方法。
三、面向对象软件开发方法
1.了解统一建模语言UML的基本模型,UML事物,UML的关系及UML图。
考试科目名称:软件工程
考查要点:
一、软件工程概述
1.熟练掌握软件工程的基本概念,要求准确地将给出软件生存期模型的过程及优缺点。
2.深刻理解软件工程知识体系及知识域。
3.熟练掌握软件工程面向对象的概念与开发方法,掌握统一建模语言UML及常用建模工具。
二、传统软件开发方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2016年硕士研究生入学考试大纲
考试科目名称:软件工程考试科目代码:[834] 本考试科目考试时间180分钟,满分150分。
包括:C语言程序设计课程(占75分)和软件工程课程(占75分)。
C语言程序设计部分(75分)
一、考试要求
1. 要求考生全面系统地掌握C语言程序设计的基本方法,常用算法的流程
图描述方法。
2. 针对具体的实际应用问题,能够用流程图描述算法,并灵活运用C程序
设计语言编写程序。
二、考试内容
1)算法的描述方法
a:算法的基本概念
b:算法的流程图表示方法
2)基本控制结构
a:数据的键盘输入和屏幕输出
b: 顺序、分支和循环三种基本控制结构
c: 循环的三种控制方法(计数控制的循环,条件控制的循环,标记控制的循环),嵌套循环
d: 流程的转移控制
3)函数
a:函数的定义、调用和参数传递
b: 函数原型
c: 基本类型的变量做函数参数向函数传递变量的值
d: 从函数返回一个值
e: 函数的递归调用,递归函数
4)数组
a:一维数组和二维数组的定义、初始化和引用
b: 一维数组、二维数组做函数参数向函数传递一维数组和二维数组
c:字符数组或字符指针做函数参数向函数传递字符串
d: 常用的字符串处理操作(字符串的输入、输出、复制、连接、比较、计算长度、插入字符、删除字符等)
e: 常用的排序算法(选择排序、交换排序、冒泡排序)和查找算法(顺序查找、折半查找)
5)指针
a:指针变量的定义、初始化和解引用
b:指针变量做函数参数
c: 指针数组
d: 函数指针
6) 结构体和共用体
a:结构体变量、结构体数组和结构体指针的定义和初始化
b: 结构体变量、结构体数组或结构体指针做函数参数向函数传递结构体c: 结构体成员和嵌套的结构体成员的访问
d: 共用体类型
e: 结构体和共用体占内存的字节数
7)文件操作
a:文件的打开和关闭
b:二进制文件和文本文件
c:文件的顺序读写
三、试卷题型结构
a: 单项选择题(8分)
b: 写出程序运行结果题(8分)
c: 程序填空题(8分)
d: 画出算法的流程图(8分)
e: 程序改错题(8分)
f: 编程题(35分)
四、参考书目
1.苏小红,王宇颖,孙志岗等,C语言程序设计(第3版),高等教育出版社,2015.08
2.苏小红,车万翔,王甜甜,C语言程序设计学习指导(第3版),高等教育出版社,2015.09
软件工程部分(75分)
一、考试要求
要求考生全面系统地掌握软件工程的基本概念、软件工程的常用过程模型、软件的生命周期、结构化与面向对象的软件分析、设计、开发和测试方法,并能灵活运用;能够利用软件工程的基本知识,为应用系统构造有效的需求、设计和测试方案;能够初步分析软件方案的合理性。
二、考试内容
1)软件工程的基本概念
a:软件工程概念、组成部分
b: 软件的生命周期、各阶段的作用、各阶段输入输出之间的关系
c: 软件开发团队的基本角色构成及各自的职责
2)软件生命周期模型与软件项目管理
a:瀑布模型、增量模型、演化模型、敏捷模型、开源软件过程模型,各自的特征、过程和应用场景
b: 针对特定软件产品/项目的特征,选择恰当的过程模型
c: 软件项目管理的基本过程;软件项目规划(规模估算、成本估算、进度计划等)
d: 软件风险管理的基本概念与方法
3)软件需求工程
a:需求工程的阶段划分及各自之间的关系
b: 需求的分类、需求好坏的评判标准
c: 面向对象的需求分析模型与方法(用例模型、领域模型、时序模型,三种分析类及其关系)
d: 结构化需求分析模型与方法(数据流图、数据字典、结构化语言)
e: 需求规格说明的基本构成
4)软件设计
a:软件设计的阶段划分、各自的作用、彼此之间的关系
b: 软件架构的基本概念、常见的软件架构样式(数据流、主程序-子过程、层次化架构、以数据为中心的架构、基于事件的架构、MVC)
c: 面向对象的设计方法(架构设计、类的属性/方法/状态设计、由类模型向关系数据模式的映射;部署模型)
d: 结构化设计方法(模块化设计原则、模块的聚合度与耦合度、结构图)e: 用户界面设计、数据设计、算法设计的基本方法
f: 统一建模语言(UML)的常用模型视图(用例图、活动图、类图、时序图、状态图、部署图、包图等)
g: 面向典型非功能需求的软件设计方法(效率、并发度、可靠性、可用性、安全性等)
5)软件测试与质量保证
a:软件测试的阶段划分、软件测试的类型、测试用例的构成
b:常见的黑盒测试方法及应用(等价类划分、边界值方法等)
c: 常见的白合测试方法及应用(基本路径法、循环测试等)
d: 根据需求规约和程序源代码设计软件测试用例
e: 代码评审与代码优化的基本方法
6) 软件配置管理
a:软件演化的基本思想
b:软件维护的基本类型、基本过程
c: 软件配置管理,版本控制系统(VCS)的基本构成与流程
d: Git的工作原理、数据存储结构、常用指令
三、试卷结构
a)题型结构
a:选择题(10-15分)
b:简答题(15-25分)
c:应用题(25-35分)
b)注意事项
选择题和简答题主要考核基本概念和基本思想;应用题考核根据给定的应用场景和指定的软件工程方法进行需求分析、设计、测试的能力。
四、参考书目
1.刘强,孙家广。
《软件工程-理论、方法与实践》,高等教育出版社,2006年5月
2.Rogers S. Pressman. Software Engineering: A Practitioner’s Approach (Seventh Edition). (郑人杰等译,《软件工程:实践者的研究方法》,机械工业出版社,2011年8月)。