近日吉首大学张家界学院公布了2023年考试课程及参考书目,我们知晓了该校的招生专业和考试科目,但很多同学想知道《软件工程专业综合课程》课程考试大纲和参考书目是什么,备考湖南专升本的同学赶快一起来看看吧~
一、课程编号
二、课程类别:软件工程专业“专升本”课程。
三、编写说明
1.本考核大纲参考谭浩强《C程序设计(第五版)》、覃遵跃《利用案例轻松学习Java语言》、严蔚敏《数据结构》(C语言版第二版)、王珊《数据库系统概论》进行编写。
2.学生可参考本考核大纲要求,从《C程序设计》与《Java程序设计》中选择一种编程语言工具进行复习,并从《数据结构》与《数据库原理》部分任选一种软件工程核心知识技术进行复习。
3.本考核大纲适用于软件工程专业“专升本”考试。
四、课程考核的要求与知识点
《C程序设计》部分
(一)程序设计和C语言
1. 识记:(1)计算机语言的几个发展阶段;(2)C语言的发展及其特点。
2. 理解:(1)C语言程序的结构;(2)结构化程序设计方法的思想。
3. 运用:(1)运行一个C程序的步骤及文件扩展名的变化;(2)通过编译器上机运行C程序的具体方法。
(二)算法——程序的灵魂
1. 识记:(1)算法的概念;(2)算法的特性。
2. 理解:结构化程序设计的方法。
3. 运用:(1)利用传统流程图和N-S流程图描述算法;(2)用计算机语言表示算法。
(三)最简单的C程序设计——顺序程序设计
1. 识记:(1)常量和符号常量;(2)变量;(3)关键字与标识符;(4)整型、浮点型、字符型数据。
2. 理解:(1)整型常量的表示方法;(2)字符数据在内存中存储形式及其使用方法;(3)变量的初始化;(4)算术运算符和算术表达式(自增、自减运算); (5)强制类型转换运算符;(6)赋值运算符和复合赋值运算符;(7)逗号运算符和逗号表达式。
3. 运用:(1)赋值语句;(2)数据的输入输出(printf函数、scanf函数、putchar函数、getchar函数);(3)顺序结构程序设计的方法。
(四)选择结构程序设计
1. 识记:(1)关系运算符及其优先次序;(2)逻辑运算符及其优先次序。
2. 理解:(1)if语句的三种形式;(2)关系运算符与关系表达式;(3)条件运算符与条件表达式。
3. 运用:(1)if语句的嵌套;(2)用switch语句实现多分支结构及switch中 break 语句的使用。
(五)循环结构程序设计
1. 识记:(1)while语句的语法结构;(2)do-while语句的语法结构;(3)for语句的语法结构。
2. 理解:(1)循环的嵌套;(2)几种循环的比较使用;(3)改变循环执行状态的break语句和continue语句。
3. 运用:(1)用while语句实现循环;(2)用do…while语句实现循环;(3)用for语句实现循环。
(六)利用数组处理批量数据
1. 识记:(1)数组的概念;(2)一维数组的定义;(3) 二维数组的定义;(4) 字符数组的定义。
2. 理解:(1)一维数组初始化及元素引用;(2)二维数组的初始化及元素引用;(3)字符数组的引用;(4)字符串和字符串结束标志。
3. 运用:(1)字符数组的输入输出;(2)字符串处理函数;(3)利用数组进行程序设计。
(七)用函数实现模块化程序设计
1. 识记:(1)无参函数的定义形式;(2)有参函数的定义形式;(3)空函数的定义形式。
2. 理解:(1)对被调用函数的声明和函数原型;(2)局部变量和全局变量;(3)动态存储方式与静态存储方式。
3. 运用:(1)函数的形式参数和实际参数;(2)函数的返回值;(3)函数调用的方式;(4)函数的嵌套调用;(5)函数的递归调用。
(八)善于利用指针
1. 识记:(1)地址和指针的概念;(2)字符串的表示形式。
2. 理解:(1)指向变量的指针变量;(2)指向数组元素的指针;(3)指针数组的指针变量;(4)指向字符串的指针变量;(5)动态内存分配(malloc, free函数)。
3. 运用:(1)指针变量的定义和引用;(2)两个与指针有关的运算符( & 和 * );(3)指针变量做函数参数;(4)数组名作函数参数;(5)字符串指针作函数参数;(6)运用指针变量进行C程序设计。
(九)用户自己建立数据类型
1. 识记:(1)结构体的概念及其定义;(2)共用体类型数据;(3)枚举类型数据。
2. 理解:(1)结构体变量的初始化和引用;(2)指向结构体变量的指针。
3. 运用:(1)结构体数组的定义、初始化、引用;(2)结构体变量作为函数参数;(3)用指向结构体变量的指针作为函数参数;(4)用typedef声明新类型名。
(十)对文件的输入和输出
1. 识记:(1) C文件的概念;(2)文件类型指针的概念。
2. 理解:(1)文件的字符读写( fgetc 函数和 fputc 函数);(2)文件的字符串读写(fgets 函数和 fputs 函数);(3)文本文件的格式化读写( fscanf 函数和 fprintf 函数);(4)二进制文件的数据块读写( fread 函数和 fwrite 数)。
3. 运用:(1)文件的打开与关闭(fopen 函数与 fclose 函数);(2)顺序读写数据文件。
《Java程序设计》部分
(一)Java概述
1. 识记:(1)Java语言的发展历史及特点;(2)JDK开发环境配置;(3)Java的基本命名规范。
2. 理解: Java程序的运行机制。
3. 运用:(1)Eclipse的安装与使用;(2)使用JDK编译、运行Java程序。
(二)Java语言基础
1. 识记:(1)Java语言的数据类型;(2)Java变量和常量的定义;(3)Java语言各种运算符。
2. 理解:(1)各种Java表达式;(2)Java语句;(3)变量与常量在程序设计中的作用。
3. 运用:(1)变量和常量的程序设计中的使用;(2)表达式在程序设计中的使用。
(三)Java程序流程控制
1. 识记:(1)if结构;(2)switch结构;(3)while循环;(4)do循环;(5)for循环;(6)break语句;(7)continue语句。
2. 理解:(1)if语句与switch语句的运行机制;(2)while、do/while、for 语句的运行机制;(3)if结构的嵌套;(4)循环结构的嵌套。
3. 运用:(1)条件语句在程序设计中的使用;(2)循环语句在程序设计中的使用。
(四)数组与方法
1. 识记:(1)一维数组的定义;(2)二维数组的定义;(3)数组的初始化;(4)方法的定义与调用;(5)方法的重载。
2. 理解:(1)数组的遍历;(2)数组的排序;(3)不规则数组;(4)方法重载形式。
3. 运用:(1)数组在程序设计中的使用;(2)方法在程序设计中的使用。
(五)面向对象设计(基础篇)
1. 识记:(1)类的定义与实例化;(2)对象的定义与使用;(3)数据成员与成员方法的定义与使用;(4)构造方法的定义形式。
2. 理解:(1)对象的封装、继承和多态三大特性;(2)构造方法的作用;
(3)封装的实现方法;(4)this 关键字、static 关键字的作用。
3. 运用:类在程序设计中的使用。
(六)面向对象设计(高级篇)
1. 识记:(1)继承、多态概念;(2)抽象类、接口概念;(3)类、接口和抽象类之间的关系。
2. 理解:(1)继承特点与机制;(2)方法覆盖与属性覆盖;(3)instanceof 运算符的作用;(4)多态运行机制,多态编程方法;(5)抽象类;(6)实现接口。
3. 运用:(1)封装、继承与多态在程序设计中的使用;(2)抽象类与接口在程序设计中的使用。
(七)异常处理
1. 识记:(1)异常概念;(2)异常类型;(3)常见异常。
2. 理解:(1)异常处理框架;(2)编译异常和运行异常的区别;(3)try/catch/finally运行机制;(4)throws 关键字的作用;(5)自定义异常类的方法;(6)throw 关键字的作用。
3. 运用:异常在程序设计中的使用。
(八)包及访问控制权限
1. 识记:(1)包的概念和作用;(2)4种访问控制权限关系矩阵;(3)4种访问控制权限的约束能力;(4)4种访问控制权限的使用位置。
2. 理解:(1)成员访问权限的限制因素;(2)4种访问控制权限与其它关键字的结合性。
3. 运用:包及访问控制权限在程序设计中的使用。
(九)常用实用类
1. 识记:(1)包装类的概念和作用;(2)日期处理类中的主要方法;(3)数值格式化类的常用方法;(4)String类的主要方法。
2. 理解:(1)自动装箱和拆箱操作;(2)日期格式化模板字符的含义;(3)数值格式化模板字符的含义;(4)字符串的查找与比较;(5)获取字符串长度。
3. 运用:常用实用类在程序设计中的使用。
(十)Java的输入/输出
1. 识记:(1)System类;(2)控制台输入/输出。
2. 理解:(1)数据流;(2)缓冲区;(3)小应用程序控制台。
3. 运用: Java的输入/输出在程序设计中的使用。
(十一)Java集合
1. 识记: Java集合的概念。
2. 理解:(1)Set;(2)List;(3)Map。
3. 运用: Java集合在程序设计中的使用。
(十二)多线程
1. 识记:进程和线程的概念。
2. 理解:(1)线程的建立;(2)线程的生命周期;(3)多线程与同步。
3. 运用:多线程在程序设计中的使用。
《数据结构》部分
(一)绪论
1. 识记:(1)数据结构的基本概念:数据、数据元素、数据项、数据对象、数据结构;(2)根据数据元素之间关系的不同特性通常有哪四种基本结构;(3)抽象数据类型的概念;(4)算法、算法的时间复杂度和空间复杂度的定义;
2. 理解:(1)算法的时间复杂度的分析;(2)选择合适的数据结构是解决应用问题的关键步骤;
3. 运用:对于一般算法能分析出其时间复杂度。
(二)线性表
1. 识记:(1)线性结构的特点;(2)线性表的抽象数据类型;(3)链表中的相关概念:头指针、头结点、首结点、尾结点、尾指针;
2. 理解:(1)线性表的顺序表示和实现,特别是插入、删除算法的实现,并分析其时间复杂度;(2)线性表的链式表示和实现,特别是建表、插入、删除和查找算法的实现,并分析其时间复杂度;(3)链表如何表示线性表中元素之间的逻辑关系;(4)单链表、双向链表、循环链表的区别;(5)顺序表和链表的优缺点;
3. 运用:(1)利用顺序表的结构特征设计算法解决简单的应用问题;(2)利用链表的结构特征设计算法解决简单的应用问题。
(三)栈和队列
1. 识记:(1)栈的相关概念:栈、栈顶、栈底、空栈等;(2)队列的相关概念:队、队头、队尾等;(3)循环队列的定义。
2. 理解:(1)栈和队列与线性表的异同;(2)栈的逻辑结构特征;(3)顺序栈的实现,特别是进栈和出栈算法的实现;(4)队列的逻辑结构特征;(5)链队列的出队、入队算法的实现;(6)顺序队列(主要是循环队列)的出队、入队算法的实现,溢出的概念及其队空、队满的判定条件;(7)栈和队列的特点,什么样的情况下能够使用栈或队列。
3. 运用:(1)利用栈的结构特征设计算法解决简单的应用问题;(2)利用队列的结构特征设计算法解决简单的应用问题。
(四)串
1. 识记:(1)串的定义;(2)串的相关概念:长度、子串、空串、位置等。
2. 理解:(1)串与线性表的区别;(2)串的抽象数据类型;(3)串的定长顺序存储方式的算法实现;(4)串的模式匹配算法,特别是KMP算法。
3. 运用:改进的KMP算法。
(五)树和二叉树
1. 识记:(1)树的定义和相关术语;(2)树的逻辑结构特征;(3)二叉树的定义;(4)最优二叉树(赫夫曼树)的相关概念。
2. 理解:(1)树的三种表示法;(2)二叉树的性质;(3)二叉树的顺序存储结构和链式存储结构;(4)二叉树的三种遍历算法及其实现:先序遍历、中序遍历、后序遍历,并确定三种遍历所得到的相应的结点访问序列;(5)二叉树线索化的目的及实质;(6)树和森林与二叉树之间的转换;(7)赫夫曼树算法的思想。
3. 运用:(1)根据给定的叶子结点及其权值构造出相应的赫夫曼树;(2)根据赫夫曼树构造对应的赫夫曼编码。
(六)图
1. 识记:(1)图的定义与术语;(2)图的逻辑结构特征;(3)生成树和最小生成树的相关概念;(4)最短路径的含义;(5)关键路径的含义。
2. 理解:(1)图的邻接矩阵和邻接表两种存储结构算法的实现;(2)根据应用问题的特点和要求选择合适的存储结构;(3)连通图及非连通图的深度优先搜索和广度优先搜索算法的实现及时间分析;(4)最小生成树的两种算法:Prim算法和Dijkstra算法的基本思想、时间性能及其各自的特点;(5)拓扑排序的基本思想和步骤;(6)关键路径算法的实现;(7)求单源最短路径的Dijkstra算法的基本思想和时间性能。
3. 运用:(1)对给定的连通图,根据Prim和Kruskal算法构造出最小生成树;(2)对给定的有向图,若拓扑序列存在,则写出一个或多个拓扑序列;(3)在AOE网中,求出活动的最早开始时间和最晚开始时间,得到关键活动,求出关键路径;(4)对于给定的有向图,根据Dijkstra算法构造出单源最短路径。
(七)查找
1. 识记:(1)查找表以及相关概念;(2)二叉排序树的相关概念;(3)哈希表的相关概念。
2. 理解:(1)顺序查找、二分查找的算法实现和查找效率分析;(2)二叉排序树的插入、删除、建立和查找算法的实现及效率分析;(3)哈希表的构造方法和处理冲突的方法。
3. 运用:哈希表查找方法的应用。
《数据库原理》部分
(一)绪论
1. 识记:(1)数据库的四个概念:数据、数据库、数据库管理系统、数据库系统;(2)数据库系统的特点;(3)概念模型的基本概念:实体、属性、码、实体型、实体集、联系;(4)关系模型的基本概念:关系、元组、属性、码、域、分量、关系模式。
2. 理解:(1)数据模型的组成要素;(2)三层模式结构的构造及作用;(3)数据库系统组成。
(二)关系数据库
1. 识记:(1)关系的的形式化定义中涉及的概念:域、笛卡儿积、关系、候选码、主码、主属性、非主属性;(2)基本关系的性质。
2. 理解:(1)关系的完整性:实体完整性规则、参照完整性规则、用户自定义完整性;(2)关系代数的运算:传统的集合运算、专门的关系运算。
3. 运用:参照完整性规则中对插入和删除操作的限制。
(三)关系数据库标准语言SQL
1. 识记:(1)SQL的特点;(2)SQL数据语言的分类。
2. 理解:(1)SQL命令的主要语法;(2) CREATE、ALTER、DROP、SELECT、DELETE、UPDATE、INSERT的语法;(3)索引的概念、创建、删除和修改;(4)视图的概念、创建、删除和修改。
3. 运用:利用SQL语言解决常见的关系数据库系统的数据查询、更新、删除、创建等应用。
(四)数据库安全性和完整性
1. 识记:(1)数据库的安全性和完整性的概念;(2)用户权限的概念及组成
2. 理解:(1)权限的授予和收回:GRANT、REVOKE;(2)完整性约束命名子句:constrint。
3. 运用:实体完整性和参照完整性的检查和违规处理。
(五)关系数据理论
1. 识记:(1)不好的关系模式存在的问题;(2)函数依赖的相关概念:函数依赖、部分与完全函数依赖、传递函数依赖、码。
2. 理解:范式的概念,每一种范式应满足的条件。
(六)数据库设计
1. 识记:(1)数据库设计的步骤;(2)E-R图。
2. 理解:(1)数据库设计内容、设计描述、设计方法等;(2)E-R图向关系模型的转换。
3. 运用:针对简单的问题进行数据库的设计。
(七)数据库恢复技术
1. 识记:(1)事务的概念;(2)事务故障的种类;(3)日志文件的概念。
2. 理解:(1)事务的ACID特性;(2)数据库的恢复机制。
(八)并发控制
1. 识记:(1)并发控制的概念;(2)封锁的概念;(3)死锁和活锁的概念。
2. 理解:(1)并发操作带来的问题;(2)锁的类型及特征;(3)封锁协议;(4)避免死锁和活锁产生的策略;(5)封锁的粒度。
五、课程考核实施要求
1.考核方式
闭卷考试。考试时间为120分钟,满分为100分。
专业综合课程考试科目 | 分 值 分 布 |
《C程序设计》或《Java程序设计》(任选一门) | 50分 |
《数据结构》或《数据库原理》(任选一门) | 50分 |
合计 | 100分 |
2.考试命题
(1)本大纲命题内容涵盖了教材的主要内容;
(2)不同能力层次试题的比例为:识记约占25%,理解约占35%,运用约占40%;
(3)不同难易度试题的比例为:较易占30%,中等占55%,较难占15%;
(4)本课程考试试题类型如下:
试 题 一 | 题号 | 题型 | 任选一门 | |
C程序设计 (分值) | Java程序设计 (分值) | |||
1 | 选择题 | 14 | 10 | |
2 | 填空 | 6 | 10 | |
3 | 读程序写结果 | 8 | 10 | |
4 | 程序填空 | 10 | ||
5 | 应用题(编程题) | 12 | 20 | |
合计 | 50 |
试 题 二 | 题号 | 题型 | 任选一门 | |
数据结构 (分值) | 数据库原理 (分值) | |||
1 | 选择题 | 20 | 20 | |
2 | 填空 | 10 | 10 | |
3 | 判断题 | 10 | ||
4 | 简答题 | 10 | ||
5 | 应用题(编程题) | 10 | 10 | |
合计 | 50 |
3.课程考核成绩评定
考试卷面成绩即为本课程成绩。
六、教材和参考书
1.教材
①谭浩强著.C程序设计(第五版)[M].北京:清华大学出版社,2017. (选择《C程序设计》考试者使用)
②覃遵跃, 周清平, 蔡国民,张彬连.利用案例轻松学习Java语言[M]. 北京:清华大学出版社,2013. (选择《Java程序设计》考试者使用)
③严蔚敏,李冬梅,吴伟民.数据结构(C语言版)(第2版)[M].北京:人民邮电出版社,2015. (选择《数据结构》考试者使用)
④王珊, 萨师煊.数据库系统概论(第5版) [M].北京:高等教育出版社,2014. (选择《数据库原理》考试者使用)
2.参考书目
①谭浩强著.C程序设计(第五版)学习辅导 [M].北京:清华大学出版社, 2017.(选择《C程序设计》考试者使用)
②李峰、谢中科.C语言程序设计(第2版)[M]. 上海:复旦大学出版社,2015. (选择《C程序设计》考试者选用)
③覃遵跃. 利用案例轻松学习Java语言习题大全与实验指导 [M]. 北京:清华大学出版社,2015. (选择《Java程序设计》考试者选用)
④李刚.疯狂Java讲义(第3版) [M]. 北京:电子工业出版社,2014. (选择《Java程序设计》考试者选用)
⑤维斯著, 冯舜玺译.数据结构与算法分析:C语言描述(第2版) [M]. 北京:机械工业出版社,2004. (选择《数据结构》考试者选用)
⑥程杰.大话数据结构[M]. 北京:清华大学出版社,2011. (选择《数据结构》考试者选用)
⑦戴维·M.克伦克等著, 张孝译.数据库原理(第6版) [M]. 北京:中国人民大学出版社,2017. (选择《数据库原理》考试者选用)
⑧罗佳, 杨菊英, 杨铸.数据库原理及应用[M]. 北京:人民邮电出版社,2016. (选择《数据库原理》考试者选用)
以上就是2023年吉首大学张家界学院专升本《软件工程专业综合课程》考试大纲的全部内容,正在备考专升本的同学,关注湖南好老师升学帮网站可以了解更多专升本的考试信息。如果在学习上有困难,自制力差,可以在下方留下你的联系方式,我们的老师会针对你的学习情况给出建议。