第一部分 基础理论 2
第1章 计算的历史与未来 2
1.1 计算机的史前时代 2
1.1.1 石头计算到算盘 2
1.1.2 计算尺和计算器 3
1.2 机械式计算机 4
1.2.1 施卡德计算机 5
1.2.2 帕斯卡加法机 5
1.2.3 莱布尼兹乘法机 6
1.3 卡片时代 7
1.3.1 “编织”的程序:自动编织机 7
1.3.2 穿孔制表机 8
1.4 程式化计算机的萌芽:差分机和分析机 9
1.4.1 差分机 9
1.4.2 分析机 11
1.5 模拟计算机 12
1.6 早期的数字计算机 13
1.6.1 Z系列计算机 13
1.6.2 ABC计算机 14
1.6.3 巨人计算机 16
1.6.4 Mark系列计算机 17
1.7 现代电子计算机 18
1.7.1 电子管时代 18
1.7.2 晶体管时代 21
1.7.3 集成电路时代 23
1.7.4 大规模集成电路时代:微处理器时代 24
1.7.5 后PC时代 27
1.7.6 下一代计算机 30
1.8 奠定现代计算机理论基础的重要人物和思想 33
1.8.1 布尔及逻辑代数 34
1.8.2 香农及计算机开关电路 34
1.8.3 图灵及图灵机、图灵测试 35
1.8.4 维纳及计算机设计五原则 37
1.8.5 冯·诺依曼及冯·诺依曼结构 37
1.9 计算机的发展趋势 39
1.9.1 高性能计算 40
1.9.2 普适计算 43
1.9.3 中国信息技术未来增长点 44
小结 47
习题 47
本章参考文献 49
第2章 计算机组成与工作原理 51
2.1 计算机系统的组成 51
2.1.1 计算机硬件系统 52
2.1.2 计算机软件系统 61
2.2 计算机的工作原理 63
2.2.1 冯·诺依曼结构的硬件组成 63
2.2.2 总线访问 68
2.2.3 指令执行过程 69
2.2.4 计算机工作过程 70
2.3 计算机常用的数制及机内信息表示 71
2.3.1 数制及其转换 71
2.3.2 计算机内信息的表示 73
小结 77
习题 78
本章参考文献 79
第3章 操作系统 81
3.1 操作系统概述 81
3.1.1 操作系统概念 81
3.1.2 操作系统历史 83
3.1.3 操作系统结构 84
3.2 操作系统的功能模块 85
3.2.1 用户界面 85
3.2.2 进程管理 86
3.2.3 存储管理 93
3.2.4 文件管理 98
3.2.5 I/O管理 98
3.3 常见操作系统 98
小结 100
习题 101
本章参考文献 103
第4章 计算机网络 104
4.1 计算机网络概述 104
4.1.1 计算机网络起源 104
4.1.2 计算机网络定义 106
4.1.3 数据传输 107
4.2 网络分类 107
4.2.1 按距离分 107
4.2.2 按网络交换功能分 109
4.2.3 常见局域网 110
4.3 网络服务模型 116
4.3.1 终端网络模型 116
4.3.2 C/S模型 117
4.3.3 P2P网络模型 117
4.4 计算机网络体系结构 118
4.4.1 ISO/OSI 118
4.4.2 TCP/IP 120
4.5 网络互连和Internet 122
4.5.1 Internet概述 124
4.5.2 IP地址 124
4.5.3 Internet提供的服务 127
小结 129
习题 130
本章参考文献 131
第5章 算法 132
5.1 算法的概念 132
5.1.1 概述 132
5.1.2 算法的定义 133
5.1.3 算法的基本性质 135
5.1.4 算法的基本结构 135
5.2 算法的表示 138
5.2.1 自然语言 138
5.2.2 流程图 139
5.2.3 伪码 141
5.3 基本算法 145
5.3.1 求和 145
5.3.2 求积 146
5.3.3 求最大值和最小值 146
5.3.4 排序 147
5.3.5 查找 148
5.4 算法效率 149
5.4.1 算法的规模 149
5.4.2 时间复杂度 150
5.4.3 空间复杂度 151
小结 151
习题 152
本章参考文献 152
第6章 程序设计语言 153
6.1 程序设计语言概述 153
6.1.1 什么是程序语言 153
6.1.2 程序语言的发展历史 154
6.1.3 程序语言的分类 155
6.1.4 机器语言 156
6.1.5 汇编语言 157
6.1.6 高级语言 158
6.2 高级程序语言的类型 160
6.2.1 常用高级程序语言 160
6.2.2 过程化语言 162
6.2.3 函数式语言 162
6.2.4 逻辑式语言 163
6.2.5 面向对象语言 164
6.2.6 专用语言 165
6.3 程序设计的基本概念 166
6.3.1 标识符 167
6.3.2 变量与数据类型 167
6.3.3 常量和文字 168
6.3.4 表达式和赋值语句 169
6.3.5 控制语句 170
6.3.6 注释 172
6.4 程序单元 173
6.4.1 过程 173
6.4.2 参数 173
6.4.3 函数 174
6.4.4 输入与输出 175
6.5 程序设计语言的执行 175
6.5.1 程序翻译 176
6.5.2 链接程序 177
6.5.3 集成开发环境 178
6.6 高级话题 178
6.6.1 面向对象程序设计 178
6.6.2 程序语言的发展趋势 181
小结 181
习题 182
本章参考文献 184
第7章 数据结构 185
7.1 概述 185
7.1.1 数据结构与算法 185
7.1.2 数据的逻辑结构 186
7.1.3 数据的存储结构 187
7.1.4 数据的运算 188
7.2 线性表 188
7.2.1 基于数组的实现 188
7.2.2 基于链表的实现 189
7.3 堆栈 190
7.3.1 堆栈的基本概念 190
7.3.2 栈的实现 191
7.3.3 栈的基本操作 191
7.3.4 栈的应用 192
7.4 队列 192
7.4.1 队列的基本概念 192
7.4.2 队列的实现 193
7.4.3 队列的基本操作 194
7.4.4 队列的应用 194
7.5 树 195
7.5.1 二叉树的基本概念 195
7.5.2 二叉树的实现 197
7.5.3 二叉树的遍历 197
7.5.4 二叉检索树 198
7.6 图 199
7.6.1 图的定义和术语 199
7.6.2 图的实现 201
7.6.3 图的遍历 201
7.6.4 图的最短路径问题 203
7.7 基本算法 204
7.7.1 查找 204
7.7.2 排序 206
小结 208
习题 209
本章参考文献 211
第8章 文件系统 212
8.1 文件系统的基本概念 212
8.1.1 文件命名 212
8.1.2 文件访问 213
8.2 文件结构 214
8.2.1 顺序文件 214
8.2.2 索引文件 215
8.2.3 散列文件 215
8.3 Windows文件系统 216
8.3.1 Windows文件系统概述 217
8.3.2 FAT32文件系统 217
8.3.3 NTFS文件系统 217
8.4 Linux文件系统 218
8.4.1 Linux文件系统概述 219
8.4.2 虚拟文件系统VFS 220
8.4.3 EXT2文件系统 221
8.5 Google文件系统 221
8.5.1 Google文件系统概述 222
8.5.2 Google文件系统的结构 222
8.5.3 主服务器Master的操作 223
小结 224
习题 225
本章参考文献 225
第9章 数据库系统 227
9.1 数据库系统的基本概念 227
9.1.1 数据库管理系统概述 228
9.1.2 数据库模式 228
9.1.3 数据模型 229
9.2 关系数据库系统 233
9.2.1 关系数据库的设计 234
9.2.2 关系的操作 236
9.2.3 结构化查询语言 237
9.3 面向对象数据库 240
9.3.1 面向对象数据库简介 240
9.3.2 面向对象数据库语言 241
9.3.3 面向对象数据库基本技术 241
9.3.4 面向对象数据库软件 243
9.3.5 面向对象数据库系统的优势 243
9.4 非关系型数据库NoSQL 244
9.4.1 NoSQL介绍 244
9.4.2 NoSQL数据库的产品 245
9.4.3 NoSQL数据库的特点 246
小结 247
习题 247
本章参考文献 248
第二部分 高级专题 250
第10章 嵌入式计算专题 250
10.1 嵌入式系统的概念 251
10.2 嵌入式系统的构成 254
10.2.1 嵌入式硬件 254
10.2.2 嵌入式软件 257
10.3 嵌入式计算的特点 260
10.4 嵌入式计算发展趋势与新挑战 262
10.4.1 嵌入式计算发展趋势 262
10.4.2 嵌入式计算所面临的挑战 262
习题 263
本章参考文献 264
第11章 信息安全与网络安全专题 265
11.1 信息安全与网络安全简介 265
11.1.1 信息安全与网络安全的基本概念 265
11.1.2 信息安全与网络安全的基本特征 266
11.1.3 信息安全与网络安全保护技术 267
11.2 信息安全技术 267
11.2.1 信息安全技术概述 267
11.2.2 密码技术 268
11.2.3 信息隐藏技术 270
11.3 网络安全技术 273
11.3.1 网络安全技术概述 273
11.3.2 防火墙技术 274
11.3.3 恶意程序及其防治 276
11.3.4 入侵检测技术 280
习题 284
本章参考文献 285
第12章 物联网专题 286
12.1 物联网概述 286
12.1.1 物联网的概念 286
12.1.2 物联网发展状况 288
12.1.3 物联网核心技术与特点 291
12.2 物联网关键技术 293
12.2.1 自动识别技术与RFID 293
12.2.2 传感器技术 295
12.2.3 网络构建 296
12.2.4 物联网中间件 298
12.2.5 物联网中的智能决策 299
12.2.6 物联网信息安全 300
12.3 物联网综合应用 301
12.3.1 应用、预测和市场 301
12.3.2 行业应用 302
习题 308
本章参考文献 309
第13章 智能信息处理专题 310
13.1 智能信息处理的产生及发展 310
13.2 模糊信息处理 311
13.3 神经网络信息处理 312
13.4 粗集信息处理 313
13.5 计算智能 314
13.5.1 遗传算法 314
13.5.2 模拟退火 315
13.5.3 蚁群算法 316
13.5.4 人工免疫算法 317
13.6 展望 318
习题 318
本章参考文献 319
第14章 大数据专题 320
14.1 大数据的相关概念 321
14.1.1 大数据的定义 321
14.1.2 大数据的4个特性 321
14.1.3 大数据与数据库的差异 322
14.1.4 大数据的产生方式 322
14.2 大数据的处理与存储 323
14.2.1 处理模式 323
14.2.2 处理流程 323
14.2.3 大数据相关技术 325
14.2.4 大数据工具 326
14.2.5 大数据的存储管理 327
14.3 大数据与机器学习 328
14.3.1 大数据时代下机器学习的特点 329
14.3.2 评价指标 330
14.3.3 机器学习模型 330
14.3.4 面向数据流的机器学习 334
14.4 隐私保护与数据安全 335
14.4.1 大数据隐私问题 335
14.4.2 大数据安全挑战 336
14.4.3 大数据安全应对策略 337
14.5 大数据的应用及发展趋势 337
14.5.1 大数据的应用 337
14.5.2 大数据的发展趋势 339
习题 339
本章参考文献 340
第15章 云计算专题 341
15.1 云计算概述 341
15.1.1 云计算的演进 341
15.1.2 云计算的定义 341
15.1.3 云计算的特点 342
15.1.4 云计算的类型和服务层次 343
15.2 云计算主要技术 344
15.2.1 云计算技术框架 344
15.2.2 云计算的核心 345
15.2.3 云计算关键技术 346
15.3 云计算产业及应用情况 347
15.3.1 云计算带来的变革 347
15.3.2 云计算的应用 349
15.3.3 云计算的发展现状 350
15.4 私有云搭建技术 351
15.4.1 OpenStack简介 352
15.4.2 CloudStack简介 352
习题 353
本章参考文献 354