第1章 概述 1
1.1 计算的起源 1
1.2 计算机的产生和发展阶段 2
1.2.1 电子计算机产生之前的计算史 2
1.2.2 电子计算机的产生 6
1.2.3 电子计算机的发展阶段 8
1.2.4 中国计算机发展历程 9
1.3 计算机的应用领域和发展趋势 13
1.3.1 计算机的应用领域 13
1.3.2 计算机的发展趋势 14
1.4 计算学科 15
1.4.1 计算学科的定义 15
1.4.2 计算学科的本质 15
1.4.3 计算学科的3个过程 16
1.4.4 计算学科新的应用领域 17
1.5 计算机科学与技术学科的知识体系 19
1.5.1 计算机科学与技术学科的形成与发展 19
1.5.2 计算机科学与技术学科的定义 19
1.5.3 计算机科学与技术学科的根本问题及研究范畴 20
1.5.4 计算机科学课程体系的核心内容 20
1.6 计算机科学与技术学科的教育 24
1.6.1 教育的目的和基本要求 24
1.6.2 工科还是理科 25
1.6.3 理论与实践相结合 26
1.6.4 创新意识培养 26
1.6.5 学习方法 26
1.7 社会信息化的挑战 29
1.8 计算机产业 29
本章小结 30
习题 30
第2章 计算机体系结构与组织 33
2.1 数值数据 33
2.1.1 数的表示及数制转换 33
2.1.2 数的原码、反码和补码 37
2.1.3 定点数和浮点数 40
2.1.4 十进制数的编码 42
2.2 非数值数据 43
2.2.1 文字信息的编码 43
2.2.2 声音的编码 46
2.2.3 图形数据的编码 46
2.3 数据的机器编码 47
2.3.1 数据的机器级编码 47
2.3.2 数据的汇编级编码 47
2.4 数字逻辑与数字系统 48
2.4.1 基本逻辑关系及逻辑门 48
2.4.2 逻辑代数与逻辑函数 51
2.5 微型计算机系统的组成 54
2.5.1 图灵模型 54
2.5.2 冯·诺依曼模型 54
2.5.3 微型计算机系统组成 55
2.5.4 微型计算机的硬件系统 56
2.5.5 微型计算机的软件系统 59
2.5.6 计算机的特点 61
2.5.7 计算机系统主要技术指标 61
2.5.8 计算机的分类 62
2.5.9 计算机的基本工作方式 64
2.6 存储系统的结构 64
2.6.1 存储器与存储系统概述 64
2.6.2 存储系统的组织结构 66
2.6.3 高速缓冲存储器 67
2.6.4 虚拟存储器 68
2.7 输入/输出系统 69
2.7.1 输入/输出系统概述 69
2.7.2 总线结构 70
2.7.3 输入/输出接口 71
2.7.4 外设数据传送控制方式 73
2.8 多核技术 75
2.8.1 多核时代到来 75
2.8.2 多核技术的优势 75
2.8.3 多核的关键技术 76
2.9 高性能计算机 79
2.10 并行计算机 80
2.11 分布式系统 81
本章小结 81
习题 82
第3章 程序设计语言 84
3.1 程序设计语言概述 84
3.1.1 程序的概念 84
3.1.2 计算机程序设计语言 84
3.1.3 高级语言程序设计的基本内容 87
3.1.4 高级语言的数据表示手段 90
3.2 声明和类型 91
3.3 类型系统 91
3.4 编译原理 92
3.4.1 编译程序概述 92
3.4.2 词法分析 94
3.4.3 语法分析 94
3.4.4 语义处理 95
3.4.5 中间代码生成 96
3.4.6 中间代码优化 96
3.4.7 目标代码生成 97
3.4.8 编译技术的新发展 97
3.5 程序设计语言的设计 98
本章小结 99
习题 99
第4章 程序设计基础 101
4.1 程序设计基础 101
4.2 程序设计方法 101
4.2.1 结构化程序设计方法 102
4.2.2 面向对象的程序设计方法 104
4.2.3 函数程序设计 107
4.2.4 程序设计风格 108
4.2.5 程序设计举例 109
4.3 基本数据结构 110
4.3.1 基本概念 110
4.3.2 几种典型的数据结构 111
4.3.3 查找 117
4.3.4 排序 118
4.4 事件驱动程序设计 119
本章小结 119
习题 120
第5章 算法与复杂性 122
5.1 算法分析基础 122
5.1.1 算法的概念 122
5.1.2 算法的特性 122
5.2 常用算法介绍 123
5.3 算法描述工具 125
5.4 算法的评价 126
5.5 算法设计策略 127
5.6 分布式算法 128
5.7 可计算性理论基础 128
5.8 NP问题 129
5.9 自动机理论 129
5.10 加密算法 130
5.11 几何算法 131
5.12 并行算法 131
本章小结 132
习题 132
第6章 信息管理 134
6.1 模型与信息系统 134
6.1.1 信息 134
6.1.2 信息模型 134
6.1.3 信息系统 135
6.2 数据库系统概述 135
6.2.1 数据库的基本概念 135
6.2.2 数据管理技术的发展 136
6.2.3 数据模型 138
6.3 关系数据库 141
6.3.1 关系数据库的基本概念 141
6.3.2 关系模型与关系模式 142
6.4 数据库查询语言SQL 144
6.4.1 SQL的特点 145
6.4.2 SQL的功能 145
6.4.3 SQL基本概念 145
6.4.4 SQL的简单实例 146
6.5 关系数据库设计 149
6.5.1 关系数据库的设计原则 149
6.5.2 关系数据库的设计步骤 149
6.6 数据库管理 150
6.6.1 DBA的职责与管理工具 150
6.6.2 数据库的安全性控制 150
6.6.3 事务处理技术 151
6.6.4 数据库的完整性控制 152
6.7 常用数据库管理系统 152
6.8 数据库新发展 154
6.8.1 分布式数据库 154
6.8.2 空间数据库 154
6.8.3 多媒体数据库 154
6.8.4 数据仓库 155
6.8.5 信息存储与检索 155
6.8.6 超文本和超媒体 155
6.8.7 多媒体信息与多媒体系统 156
6.8.8 数字图书馆 157
本章小结 158
习题 158
第7章 软件工程 161
7.1 软件工程概述 161
7.1.1 软件危机 161
7.1.2 软件工程的基本概念 162
7.1.3 软件工程过程 164
7.1.4 软件生命周期 165
7.2 软件开发模型 166
7.2.1 瀑布模型 166
7.2.2 快速原型法模型 167
7.2.3 螺旋模型 169
7.2.4 喷泉模型 170
7.2.5 转换模型 171
7.2.6 智能模型 171
7.3 软件开发方法 172
7.3.1 面向数据结构方法 172
7.3.2 统一建模语言 172
7.3.3 软件复用和构件技术 173
7.4 软件质量评价和保证 175
7.4.1 软件质量的定义 175
7.4.2 软件质量的度量和评价 175
7.4.3 软件质量保证 177
7.5 质量度量模型 178
7.5.1 McCall质量度量模型 178
7.5.2 ISO的软件质量评价模型 179
7.6 软件复杂性 180
7.6.1 软件复杂性的基本概念 180
7.6.2 软件复杂性的度量方法 181
7.7 软件项目管理 182
7.7.1 软件项目计划 182
7.7.2 软件项目计划内容 182
7.7.3 软件工程规范 182
7.7.4 软件开发成本估算 183
7.7.5 风险分析 184
7.7.6 软件项目进度安排 184
7.7.7 软件质量保证 185
7.8 软件可靠性 186
7.8.1 软件可靠性定义 186
7.8.2 软件可靠性指标 186
7.8.3 软件可靠性模型 186
7.9 软件评审 187
7.9.1 设计质量的评审内容 187
7.9.2 程序质量的评审内容 188
7.10 容错软件技术 189
7.10.1 容错软件定义 189
7.10.2 容错的一般方法 189
7.10.3 容错软件的设计过程 190
7.11 软件工程环境 191
7.11.1 软件开发环境概述 191
7.11.2 软件开发环境的分类 191
7.11.3 软件工具的基本概念 193
7.11.4 计算机辅助软件工程 193
本章小结 195
习题 196
第8章 操作系统 199
8.1 操作系统概念 199
8.1.1 操作系统的一些基本概念 199
8.1.2 操作系统的基本组成 203
8.1.3 操作系统在计算机系统中的地位 210
8.1.4 操作系统的启动 211
8.2 操作系统的发展 211
8.2.1 手工操作阶段 211
8.2.2 批处理系统阶段 212
8.2.3 多道程序系统阶段 212
8.2.4 现代操作系统阶段 213
8.3 操作系统原理 214
8.4 操作系统的分类 216
8.5 操作系统的功能 217
8.5.1 资源管理功能 217
8.5.2 扩展的虚拟机功能 219
8.5.3 网络操作系统的功能 219
8.6 操作系统的体系结构 220
8.7 并发性 221
8.8 调度与分派 221
8.9 安全与保护 222
8.10 文件系统 224
8.11 容错 224
8.12 系统性能评价 225
8.13 脚本 226
8.14 主流操作系统简介 226
8.14.1 Windows操作系统 226
8.14.2 UNIX操作系统 228
8.14.3 Linux操作系统 229
8.15 操作系统的新发展 231
本章小结 232
习题 232
第9章 网络计算 234
9.1 通信与组网 234
9.1.1 数据通信的基本概念 234
9.1.2 数据通信方式 235
9.1.3 数据传输方式 237
9.2 计算机网络 238
9.2.1 计算机网络的起源 238
9.2.2 计算机网络的定义 240
9.2.3 计算机网络的主要部件 240
9.2.4 计算机网络的传输媒体 241
9.2.5 计算机网络的分类 243
9.2.6 计算机网络拓扑结构 245
9.2.7 计算机网络的体系结构 248
9.2.8 计算机网络间的互联 250
9.3 Internet和TCP/IP协议 251
9.3.1 Internet的起源 251
9.3.2 TCP/IP协议 251
9.3.3 IP地址 252
9.3.4 Internet提供的主要服务 254
9.3.5 Intranet 256
9.4 网络管理 256
9.4.1 网络管理基础 257
9.4.2 网络管理功能 258
9.4.3 Internet的管理信息库 260
9.4.4 网络管理协议 261
9.4.5 网络管理发展方向 262
9.5 移动通信与无线上网 263
9.6 网络安全机制 265
9.6.1 网络安全的基本问题 265
9.6.2 网络安全的内容 266
9.6.3 数据加密技术 267
9.6.4 防病毒技术 267
9.6.5 防火墙技术 269
9.7 网格计算 270
本章小结 271
习题 271
第10章 图形学和可视化计算 274
10.1 图形学基本概念 274
10.1.1 计算机图形信息的处理 274
10.1.2 计算机图形学的起源 275
10.1.3 计算机图形学主要研究的内容 275
10.1.4 计算机图形学的应用 275
10.1.5 计算机图形的标准化 276
10.1.6 常见的图形图像格式 277
10.2 图形系统 279
10.3 计算机视觉和可视化 280
10.3.1 人的视觉 280
10.3.2 计算机视觉 280
10.3.3 可视化 281
10.4 图形用户界面 281
10.5 图像通信 281
10.6 几何建模 282
10.7 计算机动画 282
10.8 虚拟现实 283
10.8.1 虚拟现实技术基本概念 283
10.8.2 虚拟现实技术的发展和特征 283
10.8.3 虚拟现实系统的组成 285
10.8.4 虚拟现实系统分类 285
10.8.5 虚拟现实建模语言 286
10.8.6 虚拟现实技术的应用 287
本章小结 289
习题 289
第11章 人机交互 291
11.1 人机交互 291
11.1.1 人机交互技术基础 291
11.1.2 人机交互模型 292
11.1.3 人机系统交互界面的构架 293
11.1.4 人机界面的设计 294
11.1.5 数据交互 297
11.1.6 语音交互 298
11.1.7 图像交互 298
11.1.8 行为交互 299
11.2 多媒体技术 299
11.2.1 多媒体技术概述 299
11.2.2 多媒体技术 300
11.2.3 多媒体技术的应用 301
本章小结 302
习题 303
第12章 离散结构 304
12.1 离散结构的研究对象及主要内容 304
12.1.1 离散结构的研究对象 304
12.1.2 离散结构研究的主要内容 304
12.2 数理逻辑 305
12.2.1 命题逻辑 305
12.2.2 谓词逻辑 309
12.3 集合论 311
12.3.1 集合的基本概念与运算 311
12.3.2 关系与函数 313
12.4 代数结构 317
12.4.1 代数结构概述 317
12.4.2 格与布尔代数 319
12.5 图论 320
12.5.1 图的基本概念 320
12.5.2 路径、回路及连通性 322
12.5.3 图的矩阵表示 323
12.6 离散概率 324
本章小结 325
习题 325
第13章 数值计算科学 329
13.1 高性能计算 329
13.2 数值分析 329
13.3 运筹学 330
13.4 数学建模与计算机模拟 331
本章小结 332
习题 333
第14章 智能系统 334
14.1 人工智能系统 334
14.1.1 人工智能的定义 334
14.1.2 人工智能的主要学派 334
14.1.3 人工智能的研究与应用领域 335
14.2 知识表示及推理 338
14.2.1 知识与知识表示 338
14.2.2 经典推理技术 338
14.2.3 高级知识推理技术 340
14.3 搜索技术 341
14.3.1 一般搜索技术 342
14.3.2 高级搜索技术 343
14.4 自然语言处理 344
14.4.1 语言及其理解 344
14.4.2 句法和语义的分析 345
14.4.3 机器翻译 346
14.5 智能计算 346
14.5.1 智能计算概述 346
14.5.2 遗传算法 347
14.5.3 集群智能 347
14.5.4 人工神经网络 348
14.6 机器学习 350
14.6.1 机器学习的定义 350
14.6.2 机器学习的发展过程 350
14.6.3 机器学习的主要研究方向 351
14.6.4 机器学习策略 351
14.6.5 机器学习方法 352
本章小结 353
习题 354
第15章 社会和职业问题 355
15.1 计算的社会背景 355
15.2 计算机与道德 356
15.2.1 道德的哲学含义 356
15.2.2 道德选择 356
15.2.3 道德评价 356
15.2.4 计算机专业人员的职业道德准则 357
15.2.5 计算机用户的道德 357
15.3 基于计算机系统的风险与责任 358
15.4 知识产权 359
15.5 隐私与公民自由 361
15.6 计算机犯罪 362
15.7 团队合作 363
15.8 哲学框架 365
本章小结 365
习题 366
参考文献 368