第1章 计算符号化思维 1
1.1 信息与符号 1
1.1.1 信息 1
1.1.2 符号 1
1.1.3 八卦符号 3
1.2 数值的0.1编码 6
1.2.1 十进制数与二进制数 6
1.2.2 基于二进制的运算规则 6
1.2.3 二进制与十进制之间的转换 8
1.2.4 原码、反码、补码和移码 10
1.2.5 机器数的浮点形式与定点形式 13
1.3 非数值的0.1编码 14
1.3.1 声音的0.1编码 14
1.3.2 图形/图像的0、1编码 16
1.3.3 文字的0、1编码 19
1.3.4 指令的0、1编码与计算机程序设计语言 22
1.4 抗干扰编码 24
1.4.1 数据传输中的错误 24
1.4.2 奇偶校验 25
1.5 条形码 26
1.5.1 一维条形码 26
1.5.2 二维条形码 33
1.5.3 其他条形码 36
1.6 数字逻辑 37
1.6.1 布尔代数基本法则 37
1.6.2 逻辑代数的基本定律 39
1.6.3 组合逻辑电路 39
1.7 数字系统中的信息单位与量级 40
1.7.1 数字系统中的信息单位 40
1.7.2 数字系统中的量级 41
习题1 41
参考文献1 43
第2章 计算自动化与智能化思维 44
2.1 计算工具的进步 44
2.1.1 程序控制工具的原型——算盘 44
2.1.2 提花机与Babbage计算模型 45
2.1.3 计算机进入内动力时代 48
2.2 Neumann计算机组成 54
2.2.1 Neumann计算模型 54
2.2.2 计算机存储器 55
2.2.3 计算机控制器 60
2.2.4 总线 62
2.2.5 主板 67
2.3 Neumann体系改进 72
2.3.1 从以运算器为中心到以存储器为中心 72
2.3.2 从串行结构到并行结构 73
2.3.3 哈佛模型与拟态计算机 75
2.4 计算机系统 76
2.4.1 计算机的自我管理 76
2.4.2 操作系统的功能结构 77
2.4.3 现代计算机系统结构 79
2.4.4 自动计算理论的再讨论 80
2.5 计算性能及其评测 80
2.5.1 计算机的主要性能指标 80
2.5.2 天梯图 85
2.6 计算智能化 86
2.6.1 人工智能 86
2.6.2 智能计算机 92
2.6.3 人工神经元网络 94
习题2 97
参考文献2 99
第3章 工程化问题求解思维 100
3.1 面向过程的程序开发 100
3.1.1 数据类型 100
3.1.2 标识符及其声明 102
3.1.3 表达式 103
3.1.4 操作符与表达式的求值规则 106
3.1.5 语句及其流程控制 109
3.1.6 组织过程 112
3.1.7 库函数与头文件 116
3.1.8 派生数据类型 116
3.2 面向对象程序开发 122
3.2.1 对象模型的建立和对象的生成 122
3.2.2 对象的生成 123
3.2.3 继承与聚合 124
3.3 程序错误和异常 126
3.3.1 程序错误和异常 126
3.3.2 程序测试及其形式 127
3.3.3 程序的结构测试 128
3.3.4 程序的功能测试 130
3.4 软件工程 134
3.4.1 软件开发过程及其模型 134
3.4.2 程序设计风格和规范 136
3.4.3 软件开发工具与环境 138
3.4.4 软件再工程 141
3.4.5 复用技术对OO方法的支持 143
3.5 知识链接 145
3.5.1 领域工程 145
3.5.2 软件能力成熟度模型 145
习题3 147
参考文献3 148
第4章 算法思维 149
4.1 算法基础 149
4.1.1 穷举 149
4.1.2 迭代与递推 150
4.1.3 递归 152
4.2 模拟算法 154
4.2.1 产品随机抽样 154
4.2.2 用蒙特卡洛方法求π的近似值 157
4.2.3 事件步长法——中子扩散问题 158
4.2.4 时间步长法——盐水池问题 161
4.3 数组元素的排序与查找 164
4.3.1 直接选择排序 165
4.3.2 冒泡排序 167
4.3.3 二分查找 168
4.4 常用算法设计策略 170
4.4.1 分治 170
4.4.2 回溯 173
4.4.3 贪心策略 177
4.4.4 动态规划 180
4.5 算法综述 182
4.5.1 算法及其要素 182
4.5.2 算法的中间描述工具 183
4.5.3 算法的特征 188
4.5.4 算法评价 189
4.6 知识链接 190
4.6.1 数据结构 190
4.6.2 文本压缩算法 195
4.6.3 搜索引擎网页排序算法 198
4.6.4 数据挖掘算法 201
习题4 206
参考文献4 215
第5章 协同计算 216
5.1 层次型协同 216
5.1.1 计算机系统的层次协同 216
5.1.2 计算机网络的层次模型 217
5.1.3 数据库的三级模式 223
5.2 协议型协同 225
5.2.1 地址类协议 225
5.2.2 认证类协议 232
5.2.3 可靠传输协议 235
5.3 时序控制型协同 239
5.3.1 计算机微操作的时序控制 240
5.3.2 通信中的时序控制 242
5.3.3 TCP连接与释放 245
5.4 中间代理型协同 248
5.4.1 代理服务器 248
5.4.2 I/O接口 249
5.4.3 中间件技术 252
5.4.4 网络协同攻击 254
5.5 资源共享型协同 261
5.5.1 竞争型资源共享 261
5.5.2 基于优先权的资源共享 264
5.5.3 封锁性资源共享 268
5.6 并行计算 271
5.6.1 并行性及其等级 271
5.6.2 基于并行性的处理器体系Flynn分类 272
5.6.3 并行性开发的基本思想 274
5.7 计算机支持的协同工作 275
5.7.1 计算机支持的协同工作概述 275
5.7.2 CSCW的类型 276
5.8 物联网 276
5.8.1 物联网的技术架构 276
5.8.2 物联网公共技术 277
习题5 278
参考文献5 280
第6章 计算虚拟化 281
6.1 计算虚拟化概述 281
6.1.1 虚拟化:模式与优势 281
6.1.2 计算虚拟化:特点与部署 282
6.1.3 计算虚拟化的解决方案与实现技术 283
6.2 CPU虚拟化 285
6.2.1 指令重叠与流水 285
6.2.2 VMM技术 286
6.2.3 迁移技术 287
6.3 I/O虚拟化 288
6.3.1 I/O虚拟化思路 288
6.3.2 基于VMM的I/O虚拟化 289
6.3.3 虚拟现实、增强现实与现实虚拟 290
6.4 桌面虚拟化 297
6.4.1 桌面虚拟化及其发展 297
6.4.2 桌面虚拟化技术构架 298
6.4.3 桌面虚拟化应用模式 299
6.5 网络虚拟化 301
6.5.1 分组交换、虚电路与数据报 301
6.5.2 信道的多路复用 306
6.5.3 虚拟局域网VLAN 310
6.5.4 虚拟专用网VPN 312
6.5.5 交换机虚拟化 313
6.5.6 服务器虚拟化 315
6.6 存储虚拟化 317
6.6.1 概述 317
6.6.2 虚拟存储器 318
6.6.3 Cache-主存机制 321
6.6.4 基于VMM的内存虚拟化 324
6.6.5 网络存储模式与云存储 325
6.7 云计算、雾计算与霾计算 329
6.7.1 云计算 329
6.7.2 雾计算、边缘计算与霾计算 333
6.8 软件定义计算 334
6.8.1 软件定义网络 335
6.8.2 软件定义存储 338
6.8.3 云计算、大数据——软件定义的主领域 340
习题6 341
参考文献6 343