本书以计算机学科历史渊源、发展过程、学科知识体系来组织内容,包括计算机发展史、计算机科学基本理论的形成与发展、程序设计语言原理与发展、数据库技术原理与发展、计算机网络技术及其发展、数据存储技术原理与发展以及计算机产业的崛起与发展等内容。一方面,提供对计算机科学理论的概览,使读者能够对这一学科的基本理论、学科知识体系、方法以及与其它学科之间的关系有所了解;另一方面,介绍计算机科学技术发生、发展的历史背景知识,让学生了解半个世纪以来,计算机科学技术及其信息产业发展所经历的曲折和困难。激发和增强读者学习计算机科学的兴趣和积极性,为学习后续课程和献身计算机科学事业奠定方法论基础。
更多科学出版社服务,请扫码获取。
目录
第1章 计算机的产生与发展 1
1.1 计算的起源 1
1.1.1 数的概念及记数方式的诞生 1
1.1.2 古埃及算术及记数体系 2
1.1.3 古巴比伦算术及记数体系 3
1.1.4 中国古代算术及记数体系 3
1.1.5 古印度算术及计数体系 5
1.2 早期的计算工具 6
1.2.1 世界最早的计算工具—中国算筹 6
1.2.2 耐普尔算筹 7
1.2.3 计算尺 7
1.3 机械计算机的研制 8
1.4 电磁计算机 11
1.5 电子计算机的发明 13
1.6 电子计算机的发展与应用 16
1.6.1 电子计算机的发展阶段 16
1.6.2 巨型机的研究与发展 19
1.6.3 微型计算机的发展 22
参考文献 23
第2章 计算机科学 24
2.1 计算科学的基本内容 24
2.1.1 计算科学的基本问题 24
2.1.2 计算科学的基本内容 25
2.1.3 计算科学与其他相关学科的关系 26
2.2 计算理论 26
2.2.1 布尔代数 27
2.2.2 图灵机 28
2.3 计算科学中的典型问题 30
2.3.1 哥尼斯堡七桥问题 31
2.3.2 四色问题 32
2.3.3 36军官问题 32
2.3.4 哈密尔顿回路及旅行推销员问题 33
2.3.5 Hanoi塔问题 34
2.3.6 生产者-消费者问题与哲学家共餐问题 35
2.4 计算机学科的典型方法 36
2.4.1 抽象方法 37
2.4.2 构造性方法 37
2.4.3 公理化方法 37
2.4.4 形式化方法 38
2.4.5 原型方法与演化方法 38
科学人物 39
2.5 人工智能 41
2.5.1 人工智能的产生 42
2.5.2 人工智能主要研究内容 47
2.5.3 人工智能发展与应用展望 50
2.6 人工神经网络 52
2.6.1 多层感知网络 52
2.6.2 竞争型神经网络 53
2.6.3 Hopfield神经网络 53
科学人物 54
参考文献 59
第3章 计算机数字逻辑 60
3.1 数制 60
3.1.1 进位计数制 60
3.1.2 不同进位制数的转换 61
3.2 编码 67
3.2.1 BCD码 67
3.2.2 文本编码 69
3.2.3 图像编码 72
3.2.4 声音编码 73
3.2.5 可靠性编码 73
3.3 二进制运算 78
3.3.1 二进制逻辑运算 78
3.3.2 二进制算术运算 79
3.4 逻辑门电路 85
3.4.1 晶体管 86
3.4.2 非门 86
3.4.3 与非门 87
3.4.4 或非门 88
3.5 组合逻辑电路 88
3.5.1 逻辑函数 88
3.5.2 译码器 89
3.5.3 多路复用器 90
3.5.4 加法器 90
3.6 时序逻辑电路 92
3.6.1 存储单元 92
3.6.2 时序逻辑电路的结构 95
3.6.3 计数器 96
3.6.4 内存 97
阅读材料 98
参考文献 101
第4章 计算机组成与体系结构 102
4.1 概述 102
4.1.1 计算机系统的层次结构 102
4.1.2 计算机硬件 104
4.1.3 计算机硬件研究范畴 107
4.1.4 计算机的分类 108
4.2 中央处理器 109
4.2.1 计算机指令 109
4.2.2 CPU的功能与组成 110
4.2.3 CISC和RISC 112
4.2.4 指令流水线 114
4.2.5 处理器的分类 115
4.3 存储器 117
4.3.1 存储器的分类 117
4.3.2 存储器的层次结构 118
4.3.3 半导体存储器 119
4.3.4 主存储器 121
4.3.5 Cache 122
4.3.6 磁盘存储器 126
4.3.7 光盘存储器 128
4.3.8 固态存储器 129
4.3.9 虚拟存储器 130
4.3.10 NAS和SAN 134
4.4 总线 136
4.4.1 总线的基本概念 136
4.4.2 总线的分类 136
4.4.3 总线特性及性能指标 137
4.4.4 总线结构的演变 138
4.4.5 总线标准 141
4.5 输入输出系统 145
4.5.1 输入输出设备 145
4.5.2 输入输出接口 146
4.5.3 I/O编址 146
4.5.4 I/O控制方式 147
4.6 并行计算机 149
4.6.1 并行计算机的分类 149
4.6.2 片内并行 150
4.6.3 单片多处理器 151
4.6.4 协处理器 152
4.6.5 多处理器 152
4.6.6 多计算机 153
4.6.7 网格 154
4.7 嵌入式计算机系统 156
4.7.1 嵌入式系统的定义 156
4.7.2 嵌入式系统的特点 156
4.7.3 嵌入式计算机硬件的组成结构 158
4.7.4 嵌入式处理器的典型技术 162
参考文献 168
第5章 计算机操作系统 169
5.1 概述 169
5.1.1 操作系统的功能 169
5.1.2 操作系统的特征 170
5.2 操作系统的发展与分类 171
5.2.1 手工处理阶段 171
5.2.2 批处理系统 171
5.2.3 多道程序系统 172
5.2.4 分时系统 173
5.2.5 实时系统 174
5.2.6 微机操作系统 175
5.2.7 多处理机操作系统 175
5.2.8 网络操作系统 176
5.2.9 分布式操作系统 177
5.3 进程管理 178
5.3.1 进程的概念 178
5.3.2 进程的组成 179
5.3.3 进程的创建 180
5.3.4 进程的终止 180
5.3.5 进程的状态 181
5.3.6 处理器调度 181
5.3.7 线程 183
5.4 进程的并发控制 184
5.4.1 进程的互斥 184
5.4.2 进程的同步 187
5.4.3 信号量与PV操作 188
5.4.4 管程 189
5.4.5 死锁与饥饿 189
5.5 存储管理 191
5.5.1 存储管理的功能 191
5.5.2 存储管理基本技术 192
5.5.3 分页和分段存储管理 192
5.5.4 虚拟存储技术 193
5.6 文件系统 194
5.6.1 文件的概念 194
5.6.2 文件的实现 196
5.6.3 目录的概念 198
5.6.4 目录的实现 200
5.6.5 文件的共享和保护 201
5.7 设备管理 202
5.7.1 设备管理的目标与功能 202
5.7.2 设备的分类 203
5.7.3 输入输出控制方式 204
5.7.4 缓冲技术 204
5.7.5 设备驱动程序 205
5.7.6 设备分配 205
阅读材料 206
参考文献 212
第6章 程序设计语言与程序设计 213
6.1 程序设计语言的发展 213
6.1.1 机器语言 213
6.1.2 汇编语言 214
6.1.3 高级程序设计语言 215
6.2 程序的基本结构 216
6.3 数据类型与运算 218
6.3.1 基本字符、标识符和关键字 218
6.3.2 类型与数据表示 219
6.3.3 运算符、表达式 222
6.3.4 计算与类型 223
6.4 数组 224
6.4.1 数组的概念、定义和使用 225
6.4.2 数组实例 227
6.5 程序控制结构 229
6.5.1 条件语句 230
6.5.2 while循环语句 232
6.5.3 for循环语句 233
6.6 函数 235
6.6.1 一个简单的函数调用 235
6.6.2 函数定义的形式 237
6.6.3 形参与实参 238
6.6.4 函数与程序 240
6.7 程序设计方法 241
6.7.1 结构化程序设计 241
6.7.2 面向对象的程序设计 242
6.7.3 程序设计方法的发展 243
6.8 程序的书写规则 244
6.8.1 变量的命名 244
6.8.2 语句的层次和对齐 244
6.8.3 注释 245
阅读材料 246
参考文献 248
第7章 数据结构与算法 249
7.1 概述 249
7.1.1 数据结构 249
7.1.2 算法 250
7.2 线性结构 250
7.2.1 数组 250
7.2.2 链表 252
7.2.3 堆栈 255
7.2.4 队列 258
7.3 树 260
7.3.1 树的实现 261
7.3.2 二叉树包 263
7.4 图 266
7.4.1 图的存储 267
7.4.2 图的遍历 268
7.4.3 最小生成树 269
7.5 排序 271
7.5.1 直接插入排序 271
7.5.2 冒泡排序 272
7.5.3 快速排序 272
7.5.4 归并排序 274
7.6 递归与分治策略 274
7.6.1 递归 275
7.6.2 分治策略 275
科学人物 276
参考文献 278
第8章 数据库技术 279
8.1 数据管理的发展 279
8.2 数据模型与数据库系统 282
8.2.1 数据模型及其组成要素 282
8.2.2 概念模型 283
8.2.3 基于层次模型的数据库系统 284
8.2.4 基于网状模型的数据库系统 285
8.2.5 基于关系模型的数据库系统 286
8.2.6 常用的数据库管理系统 287
8.3 SQL语言 289
8.3.1 SQL的产生和发展 289
8.3.2 SQL的特点 289
8.3.3 SQL的功能 290
8.4 事务处理技术与并发控制 290
8.4.1 事务 290
8.4.2 数据库并发控制 291
8.5 新型数据库系统 291
8.5.1 分布式数据库 291
8.5.2 联邦式数据库 292
8.5.3 并行数据库 292
8.5.4 主动数据库 292
8.5.5 知识库 293
8.5.6 面向对象数据库 293
8.5.7 多媒体数据库 294
8.5.8 模糊数据库 294
8.5.9 数据仓库 294
8.6 数据库系统的应用 295
8.6.1 信息与信息系统 295
8.6.2 事务处理系统 296
8.6.3 管理信息系统 297
8.6.4 决策支持系统 297
8.6.5 数据挖掘 298
科学人物 299
参考文献 303
第9章 计算机网络技术 304
9.1 概述 304
9.2 计算机网络的结构与组成 306
9.2.1 计算机网络分类 306
9.2.2 计算机网络的拓扑结构 308
9.3 计算机网络体系结构 309
9.3.1 通信协议 309
9.3.2 网络系统的体系结构 310
9.3.3 标准化网络体系结构 311
9.3.4 TCP/IP参考模型 312
9.4 常用的计算机网络设备 318
9.4.1 传输媒体 318
9.4.2 网络互联设备 320
9.5 网络新技术 323
9.5.1 无线传感器网络 323
9.5.2 IPv6协议 324
9.5.3 P2P网络研究与发展 325
9.6 计算机网络安全 330
9.6.1 基本概念 331
9.6.2 网络安全攻击 331
9.6.3 网络安全策略 332
9.6.4 网络安全机制 332
9.6.5 防火墙 335
9.6.6 入侵检测 337
阅读材料 339
参考文献 349
第10章 计算机科学前沿技术 350
10.1 人工智能新进展 350
10.1.1 机器学习 350
10.1.2 智能决策 352
10.1.3 模式识别 354
10.2 移动计算 356
10.2.1 移动计算的概念 356
10.2.2 移动计算的关键问题与技术 358
10.2.3 Mobile Agent技术 360 360
10.3 普适计算 361
10.3.1 普适计算的概念 361
10.3.2 普适计算产生的背景 363
10.3.3 普适计算涉及的关键技术 365
10.3.4 普适计算的应用 368
10.4 云计算 369
10.4.1 云计算的概念 369
10.4.2 云计算诞生的背景 371
10.4.3 云计算涉及的关键技术 373
10.4.4 云计算的应用 376
10.5 生物计算 377
10.5.1 生物计算的概念 377
10.5.2 生物计算的理论与方法 380
10.5.3 生物计算的应用 381
10.6 语义Web 383
10.6.1 语义Web的研究背景 383
10.6.2 现有语义Web的模型 385
10.6.3 语义Web的应用前景 388
参考文献 391