计算机科学导论(第7版 微课版)
作者:瞿中,高新波,熊安萍
出版社:清华大学出版社
出版时间:2023-08-01
ISBN:9787302636779
定价:¥59.60
目 录
第1章 概述 1
1.1 计算的起源 1
1.2 计算机的产生和发展阶段 2
1.2.1 计算机产生之前的计算历史 3
1.2.2 计算机的产生 7
1.2.3 计算机的发展阶段 9
1.2.4 我国计算机的发展历程 11
1.3 计算机科学与技术学科的知识体系 14
1.3.1 计算学科 14
1.3.2 计算机科学与技术学科 15
1.3.3 计算机科学与技术知识体系的
核心内容 16
1.4 计算机的应用领域和发展趋势 19
1.4.1 计算机的应用领域 19
1.4.2 计算机的发展趋势 21
1.5 计算机科学与技术学科的教育 22
1.6 计算机产业 23
本章小结 24
习题 24
第2章 体系结构与组织 26
2.1 计算机体系结构的发展 26
2.2 数据的机器级表示 27
2.2.1 数的表示及数制转换 27
2.2.2 数的原码、反码和补码 31
2.2.3 定点数和浮点数 34
2.2.4 数据的机器级编码和汇编
编码 36
2.3 非数值数据 37
2.3.1 文字信息的编码 38
2.3.2 声音的编码 39
2.3.3 图形数据的编码 40
2.4 数字逻辑与数字系统 40
2.4.1 基本逻辑关系及逻辑门 40
2.4.2 逻辑代数与逻辑函数 42
2.5 汇编级计算机组成 44
2.5.1 图灵模型 44
2.5.2 冯·诺依曼机的基本组成 45
2.5.3 指令集和类型 46
2.5.4 计算机系统的组成 46
2.5.5 计算机的硬件系统 47
2.5.6 计算机的软件系统 51
2.5.7 计算机的分类 51
2.5.8 计算机的特点 52
2.5.9 计算机系统主要的技术指标 53
2.5.10 计算机的基本工作方式 54
2.6 存储系统的结构与组织 54
2.6.1 存储器的分类 54
2.6.2 结构与组织 55
2.6.3 缓存 56
2.6.4 虚拟存储 56
2.7 接口与通信 56
本章小结 58
习题 58
第3章 程序设计语言 61
3.1 程序设计语言概述 61
3.1.1 程序的概念 61
3.1.2 程序设计语言的种类 61
3.2 程序设计方法 64
3.2.1 结构化程序设计 64
3.2.2 面向对象程序设计 65
3.2.3 面向切面程序设计 66
3.2.4 函数式程序设计 67
3.2.5 事件驱动程序设计和反应性
程序设计 67
3.3 类型系统 68
3.4 编译技术 69
3.4.1 编译技术概述 69
3.4.2 词法分析 71
3.4.3 语法分析 71
3.4.4 语义处理 72
3.4.5 中间代码生成 73
3.4.6 中间代码优化 73
3.4.7 目标代码生成 74
3.4.8 编译技术的发展 74
3.5 运行时系统 75
3.6 静态分析 76
3.7 高级程序结构 77
3.8 逻辑式程序设计 78
本章小结 79
习题 79
第4章 软件开发基础 82
4.1 程序设计的基本概念 82
4.1.1 高级语言的基本语法和语义 82
4.1.2 变量和基本数据类型 83
4.1.3 简单输入输出 85
4.1.4 条件和循环控制结构 85
4.1.5 函数和参数传递 86
4.2 数据结构基础 87
4.2.1 基本概念 87
4.2.2 抽象数据类型 88
4.2.3 几种典型的数据结构 88
4.2.4 串类数据结构 89
4.2.5 高级数据结构 90
4.2.6 引用和别名 90
4.2.7 查找 90
4.2.8 排序 90
4.3 软件开发方法 91
4.3.1 程序理解 91
4.3.2 程序正确性 91
4.3.3 统一建模语言 93
4.3.4 简单重构 93
4.3.5 调试策略 94
4.3.6 编写文档和编程风格 94
4.3.7 现代编程环境 95
本章小结 96
习题 96
第5章 算法与复杂度 98
5.1 算法基础与设计 98
5.1.1 算法 98
5.1.2 算法的特性 98
5.1.3 算法描述工具 99
5.1.4 算法的评估 100
5.1.5 问题求解过程中算法的
角色 100
5.1.6 问题求解策略 100
5.1.7 设计的基本概念和原理 101
5.2 基础分析 102
5.3 算法策略 103
5.4 基础算法 106
5.5 基础自动机的可计算性及复杂度 108
5.6 高级计算复杂度 110
5.7 高级自动机理论及可计算性 111
5.8 高级算法及分析 113
本章小结 115
习题 115
第6章 信息管理 117
6.1 模型与信息系统 117
6.1.1 信息 117
6.1.2 信息模型 117
6.1.3 信息获取和表示 118
6.1.4 信息系统 118
6.2 数据库系统 118
6.2.1 数据库系统的演变 119
6.2.2 数据管理技术阶段 119
6.2.3 数据库系统的组成 120
6.2.4 数据库系统的结构 121
6.2.5 数据库管理系统 121
6.3 数据模型 122
6.4 索引 123
6.5 关系数据库 123
6.6 查询语言 124
6.7 事务处理 125
6.7.1 事务 125
6.7.2 故障和恢复 125
6.7.3 数据库管理系统的并发
控制 126
6.8 物理数据库设计 127
6.9 常用数据库管理系统 127
6.10 数据库的发展 128
6.11 信息存储和检索 131
6.12 多媒体系统 131
本章小结 133
习题 133
第7章 基于平台的开发 135
7.1 平台 135
7.1.1 平台概述 135
7.1.2 基于指定平台API的编程 135
7.1.3 平台语言 135
7.1.4 平台约束编程 136
7.2 Web平台 136
7.3 移动平台 138
7.4 工业平台 140
7.5 游戏平台 142
本章小结 143
习题 144
第8章 软件工程 145
8.1 软件工程概述 145
8.2 软件工程过程 147
8.2.1 软件过程 147
8.2.2 软件生命周期 148
8.3 软件项目管理 148
8.4 软件工具和环境 150
8.5 需求工程 152
8.5.1 需求工程概述 152
8.5.2 需求获取 152
8.5.3 需求分析 154
8.5.4 需求建模 155
8.5.5 需求的确认与验证 155
8.5.6 需求管理 156
8.6 软件设计 157
8.6.1 软件设计概述 157
8.6.2 软件设计的原理 157
8.6.3 软件设计范例和模式 158
8.6.4 软件体系结构设计 159
8.6.5 需求和设计的关系 159
8.7 软件构建 159
8.7.1 编码实现 159
8.7.2 编码标准 160
8.7.3 程序中潜在的安全问题 160
8.7.4 软件复杂性 161
8.8 软件验证与确认 161
8.8.1 基本概念 161
8.8.2 软件评审 162
8.8.3 软件测试 163
8.8.4 软件调试 163
8.8.5 软件质量评估 164
8.9 软件演化 165
8.9.1 软件演化的概念 165
8.9.2 软件重构 165
8.9.3 软件重用 165
8.9.4 变更管理 166
8.10 软件可靠性 167
8.10.1 软件可靠性的相关概念 167
8.10.2 软件可靠性的模型 167
8.10.3 容错软件技术 168
8.10.4 软件可靠性度量 168
8.11 形式化方法 168
本章小结 170
习题 171