吉首大学2017年专升本软件工程专业综合课程考核大纲_第1页
吉首大学2017年专升本软件工程专业综合课程考核大纲_第2页
吉首大学2017年专升本软件工程专业综合课程考核大纲_第3页
吉首大学2017年专升本软件工程专业综合课程考核大纲_第4页
吉首大学2017年专升本软件工程专业综合课程考核大纲_第5页
免费预览已结束,剩余6页可下载查看

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件工程专业综合课程考核大纲一、课程编号二、课程类别:软件工程专业专升本课程三、编写说明1、本考核大纲参考谭浩强C程序设计、草遵跃利用案例轻松学习Java语言、严蔚敏数据结构(C语言版第二版卜王珊数据库系统概论进行编写02、学生可参考考核大纲要求,从C程序设计与Java程序设计中选择一种编程语言工具进行复习,并从数据结构与数据库原理部分任选一种软件工程核心知识技术进行复习。3、本大纲适用于软件工程专业专升本考试。四、课程考核的要求与知识点C程序设计部分(一)C语言概论1、理解:(1)C语言的特点2、运用:(1)运行C程序的步骤(2)上机运行C程序的方法(二)算法1、识记:(1)算法的概念(2)

2、算法的特性2、理解:(1)结构化程序设计3、运用:(1)用流程图表不算法(2)用机器语言表不算法(三)数据类型、运算符与表达式1、识记:(1)常量和符号常量(2)变量(3)整型数据(4)浮点型数据(5)字符型数据2、运用:(1)整型常量的表示方法(2)字符数据在内存中存储形式及其使用方法(3)变量赋处值(4)算术运算符和算术表达式(5)赋值运算符和赋值表达式(6)逗号运算符和逗号表达式(四)最简单的C程序设计一顺序程序设计1、运用:(1)赋值语句(2)putchar函数(3)getchar函数(4)printf函数(5)scanf函数(五)选择结构程序设计1、识记:(1)关系运算符及其优先次序

3、(2)逻辑运算符及其优先次序2、运用:(1)if语句的嵌套(2)关系表达式(3)if语句的嵌套(4)条件运算符(5)switch语句(六)循环控制1、理解:(1)几种嵌套的比较2、运用:(1)goto语句以及用goto语句构成循环(2)用while语句实现循环(3)用do,while语句实现循环(4)用for语句实现循环(5)break语句和continue语句(七)数组1、理解:(1)一维数组的定义(2)二维数组的定义(3)字符数组的定义2、运用:(1)一维数组引用(2)二维数组引用(3)字符数组的引用(4)字符数组的输入输出(5)字符串处理函数(6)字符串和字符串结束标志(八)函数1、识记

4、:(1)无参函数定义的一般形式(2)有参函数定义的一般形式(3)空函数2、理解:(1)函数参数和函数的值(2)函数的返回值(3)局部变量(4)全局变量(5)动态存储方式与静态存储方式(6)内部函数(7)外部函数3、运用:(1)函数调用的方式(2)函数的嵌套调用(3)函数的嵌套调用(九)预处理命令1、理解:(1)不带参数的宏定义(2)带参数的宏定义2、运用:(1)“文件包含”处理(十)指针1、识记:(1)字符串的表示形式2、理解:(1)地址和指针的概念(2)指向数组元素的指针(3)指针数组的概念(4)指向指针的指针3、运用:(1)指针变量的引用(2)用数组名作函数参数(3)用指向函数的指针作函数

5、参数(4)用函数指针变量调用函数(5)定义一个指针变量(十一)结构体、共用体和枚举1、识记:(1)结构体的概念及其定义(2)共用体类型数据与枚举类型数据2、理解:(1)指向结构体变量的指针(2)结构体的输入和输出(3)动态存储分配和链表的概念3、运用:(1)结构体类型变量的定义、初始化、引用(2)结构体数组的定义、初始化、引用(3)结构体变量作为函数参数,返回结构体类型值的函数(4)指向结构体数组的指针,用指向结构体变量的指针作为函数参数,用包含指针项的结构体变量构成结点(5)用于动态分配的函数(6)用typedef定义类型。Java程序设计部分(一)Java概述1、识记:Java语言的特性。

6、2、理解:(1)Java语言与互联网的关系;(2)Java应用程序的编译与运行;(3)Java应用程序的使用环境。(二)Java的开发工具1、识记:(1)安装和设置JDK2、理解:(1)Java开发工具的分类;(2)Java虚拟机;(3)Java开发工具包(JDK)。3、运用:使用JDK编译、运行Java程序。(三)基本元素1、识记:(1)Java语言的数据类型;(2)Java变量和常量的定义;(3)Java语言各种运算符。2、理解:(1)各种Java表达式;(2)Java语句。(3)变量与常量在程序设计中的作用。3、运用:(1)变量和常量的程序设计中的使用;(2)表达式在程序设计中的使用。(

7、四)结构控制1、识记:(1)if结构;(2)for循环;(3)while循环;(4)do循环;(5)switch结构;(6)break语句;(7)continue语句;(8)return语句;(9)try结构。2、理解:(1)确定循环与不确定循环的区别;(2)if结构的嵌套;(3)循环结构的嵌套;(4)if语句与switch语句的区别。3、运用:(1)条件语句在程序设计中的使用;(2)循环语句在程序设计中的使用。(五)数组1、识记:(1)一维数组的定义;(2)多维数组的定义;(3)数组的初始化。2、理解:(1)数组的拷贝;(2)数组的排序;(3)不规则数组。3、运用:数组在程序设计中的使用。(

8、六)字符串1、识记:(1)字符串的定义;(2)字符串数组的定义;(3)StringBuffer类;(4)字符串的基本构造。2、理解:(1)字符串的查找与比较;(2)字符串与基本数据类型的转换。3、运用:字符串在程序设计中的使用。(七)类1、识记:(1)类的声明与实例化;(2)包的定义。(3)方法的定义与调用;(4)构造器;(5)标准java包。2、理解:(1)类的访问和访问控制;(2)自定义类;(3)方法的参数。3、运用:类在程序设计中的使用。(八)面向对象的程序设计1、识记:(1)对象的定义;(2)封装、继承与多态的定义;(3)接口的定义(4)抽象类。2、理解:(1)与面向过程的程序语言的区

9、别;(2)方法重载。(3)抽象类。3、运用:(1)封装、继承与多态在程序设计中的使用;(2)接口在程序设计中的使用。(九)图形编程1、识记:Swing类概述。2、理解:(1)Java图形坐标系;(2)绘制基本图形;(3)字体。3、运用:创建自己的绘图程序。(十)事件1、识记:(1)Swing类概述;(2)事件的概念;(3)事件模型与结构。2、理解:(1)窗口事件和适配器;(2)焦点事件;(3)键盘事件;(4)鼠标事件。3、运用:创建自己的事件程序。(十一)异常处理1、识记:(1)异常处理的概念;(2)异常类。2、理解:(1)异常的捕获与处理;(2)throws和throw的区别;(3)定义自己

10、的异常类。3、运用:异常在程序设计中的使用。(十二)多线程1、识记:(1)什么是进程和线程。2、理解:(1)线程的建立;(2)线程的状态及其转换;(3)多线程与同步。3、运用:(1)线程应用计时器;(2)在Applet中使用线程。(十三)Java的输入/输出1、识记:(1)System类;(2)控制台输入/输出;(3)输入字符;(4)输出字符。2、理解:(1)数据流;(2)对象流;(3)缓冲区;(4)小应用程序控制台。3、运用:Java的输入/输出在程序设计中的使用。数据结构部分(一)概论1、识记:(1)数据、数据元素、数据项、数据结构等基本概念;(2)数据结构的逻辑结构、存储结构及数据运算的

11、含义及其相互关系;(3)数据结构在各种软件系统中所起的作用;(4)算法、算法的时间复杂度和空间复杂度、最坏的和平均的时间复杂度等概念。2、理解:(1)数据结构的两大类逻辑结构和四种常用的存储表示方法;(2)选择合适的数据结构是解决应用问题的关键步骤;(3)算法的时间复杂度不仅仅依赖于问题的规模,也取决于输入实例的初始状态。3、运用:(1)算法描述和算法分析的方法,对于一般算法能分析出时间复杂度。(二)线性表1、识记:(1)线性表的逻辑结构特征;(2)线性表上定义的基本运算,并能利用基本运算构造出较复杂的运算;(3)双向链表的定义及其相关的算法。2、理解:(1)顺序表的含义及特点,即顺序表如何反

12、映线性表中元素之间的逻辑关系;(2)顺序表上的插入、删除操作及其平均时间性能分析;(3)链表如何表示线性表中元素之间的逻辑关系;(4)链表中头指针和头结点的使用;(5)单链表、双链表、循环链表链接方式上的区别;(6)单链表上实现的建表、查找、插入和删除等基本算法,并分析其时间复杂度;(7)循环链表上尾指针取代头指针的作用,以及单循环链表上的算法与单链表上相应算法的异同点;(8)顺序表和链表的主要优缺点;(9)针对线性表上所需要执行的主要操作,知道选择顺序表还是链表作为其存储结构才能取得较优的时空性能。3、运用:(1)利用顺序表设计算法解决简单的应用问题;(2)利用链表设计算法解决简单的应用问题

13、。(三)栈和队列1、识记:(1)栈的定义;(2)队列的定义;(3)双向队列和循环队列的定义。2、理解:(1)栈的逻辑结构特点,栈与线性表的异同;(2)顺序栈和链栈上实现的进栈、退栈等基本算法;(3)栈的“上溢”和“下溢”的概念及其判别条件;(4)队列的逻辑结构特点,队列与线性表的异同;(5)顺序队列(主要是循环队列)和链队列上实现的入队、出队等基本算法;(6)队列的“上溢”和“下溢”的概念及其判别条件;(7)使用数组实现的循环队列取代普通的顺序队列的原因;(8)栈和队列的特点,什么样的情况下能够使用栈或队列。3、运用:(1)利用栈设计算法解决简单的应用问题;(2)循环队列中对边界条件的处理方法

14、;(3)利用队列设计算法解决简单的应用问题。(四)串1、识记:(1)用的定义和相关概念。2、理解:(1)用的基本运算;(2)用与线性表的关系;(3)用的三种存储表示。3、运用:(1)使用C语言提供的用操作函数构造与用相关的算法解决简单的应用问题。(五)数组和广义表1、识记:(1)数组的定义;(2)广义表的定义;(3)特殊矩阵和稀疏矩阵的概念;(4)广义表的相关概念。2、理解:(1)数组的逻辑结构特征;(2)数组的顺序存储结构及地址计算方式;(3)数组是一种随机存取结构的原因;(4)特殊矩阵和压缩存储时的下标变换方法;(5)稀疏矩阵的三元组表表示方法及有关算法;(6)广义表的括号表小和图形表小之

15、间的转换。3、运用:(1)求给定的非空广义表的表头和表尾运算。(六)树和二叉树1、识记:(1)树的定义和相关概念;(2)树的逻辑结构特征;(3)树的不同表示方法;(4)二叉树的定义和相关概念;(5)最优二叉树相关的概念。2、理解:(1)二叉树的性质;(2)二叉树的存储表示;(3)二叉树的三种遍历算法,理解其执行过程;(4)确定三种遍历所得到的相应的结点访问序列;(5)二叉树遍历的递归和非递归算法;(6)二叉树线索化的目的及实质;(7)在中序线索树中查找给定结点的中序前趋和中序后继的方法;(8)树的各种存储结构及其特点;(9)树和森林与二叉树之间的转换方法;(10)树的两种遍历方法;(11)哈夫

16、曼算法的思想。3、运用:(1)以遍历算法为基础,设计有关算法解决简单的应用问题;(2)根据给定的叶结点及其权值构造出相应的最优二叉树;(3)根据最优二叉树构造对应的哈夫曼编码。(七)图1、识记:(1)图的常用术语及含义;(2)图的逻辑结构特征;(3)生成树和最小生成树的概念;(4)最短路径的含义。2、理解:(1)邻接矩阵和邻接表这两种存储结构的特点及适用范围;(2)根据应用问题的特点和要求选择合适的存储结构;(3)连通图及非连通图的深度优先搜索和广度优先搜索两种遍历算法,其执行过程以及时间分析;(4)确定两种遍历所得到的顶点访问序列;(5)图的两种遍历与树的遍历之间的关系;(6)两种遍历所使用

17、的辅助数据结构(栈或队列)在遍历过程中所起的作用;(7)对遍历给定的图,画出深度优先和广度优先生成树或生成森林;(8)Prim和Kruskal算法的基本思想、时间性能及这两种算法各自的特点;(9)拓扑排序的基本思想和步骤;(10)拓扑排序不成功的原因;(11)求单源最短路径的Dijkstra算法的基本思想和时间性能;(12)多源最短路径Froyd算法的基本思想和时间性能。3、运用:(1)利用图的两种遍历设计算法解决简单的应用问题;(2)要求对给定的连通图,根据Prim和Kruskal算法构造出最小生成树;(3)对给定的有向图,若拓扑序列存在,则要求写出一个或多个拓扑序列;(4)对于给定的有向图

18、,根据Dijkstra算法画出求单源最短路径的过程示意图。(八)查找1、识记:(1)1查找在数据处理中的重要性;(2)查找表以及相关概念;(3)查找算法效率的评判标准;(4)二叉查找树和B一树的定义和特点以及用途;(5)哈希表的相关概念。2、理解:(1)顺序查找、二分查找、分块查找的基本思想、算法实现和查找效率分析;(2)顺序查找中哨兵的作用;(3)二分查找对存储结构及关键字的要求;(4)二叉查找树的插入、删除、建树和查找算法及时间性能;(5)建立一棵二叉查找树的过程实质上是对输入实例的排序过程,输入实例对所建立的二叉查找树形态的影响;(6)B树的插入、删除及查找方法的基本思想;(7)B-树的

19、查找效率;(8)哈希表的构造方法和处理冲突的方法。3、运用:(1)通过比较线性表上三种静态查找方法的优缺点,能根据实际问题的要求和特点,选择出合适的查找方法;(2)动态查找表的方法比较和应用;(3)哈希表查找方法的应用。(九)排序1、识记:(1)排序在数据处理中的重要性;(2)排序方法的“稳定”性含义;(3)排序方法的分类及算法好坏的评判标准;(4)堆、小根堆、大根堆、堆项等有关概念和定义。2、理解:(1)直接插入排序的基本思想和算法实现,以及在最好、最坏和平均情况下的时间性能分析;(2)直接插入排序中哨兵的作用;(3)冒泡排序的基本思想;(4)快速排序的基本思想和算法实现,以及在最坏和平均情

20、况下的时间性能分析,了解算法的稳定性;(5)基准元素(划分元)对划分是否平衡的影响;(6)堆性质及堆与完全二叉树的关系;(7)直接选择排序和堆排序的基本思想和算法实现,以及时间性能分析;(8)归并排序的基本思想和算法实现,以及时间性能分析;(9)基数排序的基本思想和算法实现,以及时间性能分析;(10)分配排序与其它几类排序的区别;(11)通过对被排序的记录数目、记录信息量的大小、关键字的结构及初始状态、稳定性要求、辅助空间的大小、各种时间性能等方面的比较掌握各种排序的优缺点。3、运用:(1)针对给定的输入实例,要能写出直接插入排序的排序过程;(2)针对给定的输入实例,能写出快速排序的排序过程;

21、(3)针对给定的输入实例,写出堆排序的排序过程;(4)针对给定的输入实例,能写出归并排序的排序过程;(5)针对给定的输入实例,能写出基数排序的排序过程;(6)根据实际问题的特点和要求选择合适的排序方法。数据库原理部分(一)基本概念和模型1、识记:(1)数据库系统的特点;(2)数据库技术的主要研究领域;(3)关系模型的基本概念。2、理解:(1)数据模型的基本概念;(2)数据库系统结构和组成;(3)关系代数的运算方法;(4)关系模型的结构;(5)三层模式结构的构造及作用。(二)数据库系统实践1、识记:(1)SQL勺数据定义;(2)SQL的特点。2、理解:(1)SQL勺主要语法;(2)SELECTC

22、REATEDELETEUPDATEDROP的语法3、运用:利用SQL语言解决常见的关系数据库系统的数据查询、更新、删除、创建等应用(三)关系数据理论1、理解:(1)函数依赖的概念;(2)、Armstrong公理系统2、运用:利用规范化理论对关系模式进行分解,避免关系的异常操作(四)高级应用1、识记:(1)数据库系统完整性的类型;(2)数据库系统安全性问题及解决主要措施;(3)事务与并发控制概念2、理解:(1)数据库设计的步骤;(2)数据库设计内容、设计描述、设计方法等;(3)E-R图向关系模型的转换3、运用:(1)关系数据库系统实现完整性控制、安全性控制、并发控制、恢复技术的语句;(2)针对简

23、单的问题进行数据库的设计五、课程考核实施要求1、考核方式本考核大纲为软件工程专业专升本学生所用,考核方式为闭卷考试。2、考试命题(1)本考核大纲命题内容覆盖了教材的主要内容专业综合课程考试科目分值分布C程序设计或Java程序设计(任击-门)50分数据结构或数据库原理(任1门)50分合计100分(2)试题对不同能力层次要求的比例为:识记的占25%,理解约占35%,运用约占40%(3)试卷中不同难易度试题的比例为:较易占25%,中等占55%,较难占20%。(4)本课程考试试题类型如下:试题题号题型任1门C程序设计(分值)Java程序设计(分值)1选择题10102填空10103读程序写结果444程序填空665应用题(编程题)2020合计50试题二题号题型任1门数据结构(分值)数据库原理(分值)1选择题20202填空10103判断题

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论