【编辑推荐】

《计算机科学导论(第7版)(微课版)》是在《计算机科学导论(第6版)》的基础上进行修订的,主要修订内容有:删减了一些复杂的理论知识,增加了逻辑式程序设计、软件构建、通信和协同、形式化模型和语义学、安全策略和管理、数字取证等内容。《计算机科学导论(第7版)(微课版)》介绍了计算机科学与技术的核心内容,可使读者理解计算机系统的信息处理本质,掌握数据表达和数据加工表达的层次方法,了解计算机系统的功能组成及运行,认识计算机科学与技术对人类社会发展的重要推动作用。  
《计算机科学导论(第7版)(微课版)》配备有课程大纲、授课计划、电子课件、习题答案和微课,配套资源丰富。


【内容简介】

《计算机科学导论(第7版)(微课版)》将理论讲解和实际应用相结合,参照美国计算机协会(Association for Computing Machinery,ACM)与美国电气和电子工程师协会(Institute of Electrical and Electronic Engineers,IEEE)的《计算学科教程2020》(Computing Curricula 2020),对计算机科学与技术进行了系统和科学的阐述。《计算机科学导论(第7版)(微课版)》主要介绍了体系结构与组织、程序设计语言、软件开发基础、算法与复杂度、信息管理、基于平台的开发、软件工程、操作系统、网络与通信、系统基础、并行和分布式计算、信息保障与安全、离散结构、计算科学、图形学与可视化、人机交互、智能系统、社会问题与专业实践等18个知识体,目的是让读者了解计算机科学与技术学科基础知识的全貌。书中每章末尾均配有一定数量的习题,以便读者巩固所学知识。 《计算机科学导论(第7版)(微课版)》既可作为高等学校计算机科学与技术专业学生的基础课程教材,也可作为网络工程、网络空间安全、信息安全、数据科学与大数据技术、智能科学与技术、人工智能、信息管理与信息系统、空间信息与数字技术、通信工程、电子信息工程、信息工程、物联网工程、电子科学与技术、自动化等相关专业学生的计算机课程教材。


【作者简介】

瞿中,重庆邮电大学教育发展研究院院长兼学科建设办公室副主任,重庆邮电大学图形图像与多媒体实验室常务副主任,计算机应用技术专业博士、教授、博士生导师、重庆市名师,南京大学计算机软件新技术国家重点实验室访问学者。重庆市教育政策研究专家,重庆市市级优秀教学团队、重庆市本科高校“三特行动计划”特色专业、重庆市大学生校外实践教育基地负责人。  


【目录】

第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
第9章 操作系统 173
9.1 操作系统概述 173
9.1.1 操作系统的概念 173
9.1.2 操作系统的角色和目标 176
9.1.3 操作系统的基本组成 177
9.1.4 操作系统的设计要素 177
9.1.5 操作系统的启动 177
9.2 操作系统的发展 178
9.3 操作系统的分类 180
9.4 操作系统的功能 181
9.5 操作系统的体系结构 182
9.6 调度和分发 183
9.7 安全和防护 184
9.8 容错性 184
9.9 系统性能评估 185
9.10 内存管理 185
本章小结 186
习题 186
第10章 网络与通信 189
10.1 数据通信基础 189
10.1.1 数据通信的基本概念 189
10.1.2 数据通信的方式 190
10.1.3 数据传输的方式 191
10.2 计算机网络基础 192
10.2.1 互联网的组织 192
10.2.2 网络交换技术 192
10.2.3 网络物理组成 193
10.2.4 网络传输媒体 194
10.2.5 网络分层原理 195
10.2.6 网络体系结构 195
10.3 网络应用程序 197
10.3.1 命名和地址方案 197
10.3.2 分布式应用程序 200
10.3.3 HTTP协议 201
10.3.4 TCP和UDP 201
10.3.5 网络套接字 202
10.4 可靠数据传输 202
10.5 路由和转发 203
10.5.1 路由器 203
10.5.2 路由协议 204
10.5.3 IP协议 204
10.6 局域网 205
10.6.1 局域网的发展 205
10.6.2 局域网的分类 206
10.6.3 局域网拓扑结构 206
10.6.4 以太网 207
10.6.5 介质访问控制 208
10.7 资源分配 208
10.7.1 资源分配的需求 209
10.7.2 资源分配的分类 209
10.7.3 拥塞控制与处理 209
10.8 移动性 210
10.9 社交网络 211
10.10 区块链 212
10.11 5G/6G网络 213
本章小结 214
习题 214
第11章 系统基础 217
11.1 计算范式 217
11.1.1 计算范式概述 217
11.1.2 流水线技术 218
11.2 跨层通信 219
11.3 状态机 220
11.4 并行性 221
11.5 评估技术 222
11.5.1 性能指标 222
11.5.2 性能分析 223
11.6 资源分配与调度技术 224
11.7 虚拟化 225
11.7.1 虚拟化技术 225
11.7.2 虚拟机的优势 226
11.8 冗余下的可靠性 227
本章小结 227
习题 228
第12章 并行和分布式计算 229
12.1 并行基础 229
12.1.1 并行处理的应用 229
12.1.2 并行处理基本策略 229
12.1.3 并行软件 230
12.1.4 并行计算机的发展 231
12.2 并行分解 231
12.3 并行算法 232
12.4 通信和协同 233
12.5 并行体系结构 234
12.6 并行性能 234
12.7 分布式系统 235
12.8 云计算 235
12.9 语义学和形式化模型 235
本章小结 236
习题 236
第13章 信息保障与安全 238
13.1 信息安全基本概念 238
13.1.1 信息保障与安全的历史 238
13.1.2 CIA三元组 238
13.1.3 信息安全保障面临的威胁
和攻击 239
13.1.4 身份验证、授权与访问
控制 241
13.1.5 责任披露 242
13.2 安全策略和管理 242
13.3 网络安全 243
13.3.1 网络安全的概念 243
13.3.2 网络安全面临的威胁
和攻击 244
13.3.3 网络安全防护策略 245
13.4 密码学 246
13.4.1 密码学的发展过程 246
13.4.2 密码体制的分类 248
13.4.3 密码协议 248
13.5 Web安全 250
13.6 平台安全 251
13.7 数字取证 252
本章小结 254
习题 254
第14章 离散结构 257
14.1 集合、关系与函数 257
14.1.1 集合 257
14.1.2 关系 258
14.1.3 函数 258
14.2 基础逻辑 258
14.2.1 命题逻辑 258
14.2.2 谓词逻辑 259
14.2.3 真值表和范式 260
14.3 证明方法 261
14.3.1 证明的基本概念 261
14.3.2 基本证明的方法 262
14.3.3 良序关系 262
14.4 计数基础 262
14.4.1 计数论及其应用 262
14.4.2 鸽巢原理 263
14.4.3 排列与组合 263
14.4.4 求解递推关系 263
14.4.5 模运算基础 264
14.5 图和树 265
14.6 离散概率 266
本章小结 267
习题 268
第15章 计算科学 270
15.1 建模与仿真 270
15.1.1 建模与仿真的概念 270
15.1.2 建模与仿真的评价指标 271
15.1.3 仿真技术和仿真工具 272
15.1.4 仿真过程 272
15.1.5 建立模型 272
15.2 处理 273
15.3 数值分析 274
15.3.1 数值分析中的误差 274
15.3.2 函数逼近 275
15.3.3 数值积分与微分 275
15.3.4 微分方程 276
15.4 数字图书馆 276
本章小结 277
习题 277
第16章 图形学与可视化 278
16.1 图形学的基本概念 278
16.1.1 计算机图形信息的处理 278
16.1.2 计算机图形学的起源
和发展 279
16.1.3 计算机图形学的主要研究
内容 279
16.1.4 计算机图形学的应用 280
16.1.5 计算机图形的标准化 281
16.2 图形系统 283
16.3 基本绘制 284
16.4 几何建模 286
16.5 高级绘制 288
16.6 计算机动画 289
16.7 可视化 291
本章小结 292
习题 292
第17章 人机交互 294
17.1 人机交互技术基础 294
17.2 人机交互模型 295
17.3 人机系统交互界面的构架 296
17.4 人机界面的设计 299
17.5 数据交互 299
17.6 语音交互 300
17.7 图像交互 301
17.8 行为交互 301
17.9 4D打印 302
17.10 人机交互的发展 302
本章小结 304
习题 304
第18章 智能系统 306
18.1 人工智能系统 306
18.1.1 人工智能 306
18.1.2 智能行为 308
18.1.3 代理的本质 309
18.2 知识表达及推理方法 309
18.2.1 知识与知识表示概述 309
18.2.2 经典推理技术 310
18.2.3 高级知识推理方法 312
18.3 搜索技术 314
18.3.1 问题空间与状态空间 314
18.3.2 基本搜索策略 315
18.3.3 高级搜索方法 316
18.4 自然语言处理 317
18.4.1 自然语言的发展 317
18.4.2 句法和语义的分析 319
18.4.3 自然语言处理技术 320
18.5 机器学习方法 321
18.5.1 机器学习概述 321
18.5.2 机器学习的方法与任务 322
18.5.3 简单统计学习 324
18.6 机器人学 325
18.6.1 机器人学概述 325
18.6.2 智能机器人的主要研究
领域 327
18.7 人工智能的应用 328
本章小结 329
习题 329
第19章 社会问题与专业实践 331
19.1 社会环境 331
19.2 分析工具 332
19.3 职业道德 333
19.4 知识产权 336
19.5 隐私和公民自由 338
19.6 专业交流 339
19.7 可持续性 340
19.8 计算经济性 341
19.9 安全政策、法律和计算机犯罪 341
本章小结 343
习题 343
参考文献 346

  
  

  
  
  
  
  

  
  
  


【前言】

  “计算机科学导论”是计算机科学与技术专业学生进入大学学习的第一门专业基础课程,其目的在于用统一的思想,对该学科进行系统和科学的阐述,从而让学生认识计算机科学与技术学科的本质。
  本书是在《计算机科学导论(第6版)》的基础上进行修订的,主要修订内容有:删减了一些复杂的理论知识,增加了逻辑式程序设计、软件构建、通信和协同、形式化模型和语义学、安全策略和管理、数字取证等内容。
  本书介绍了计算机科学与技术的核心内容,可使读者理解计算机系统的信息处理本质,掌握数据表达和数据加工表达的层次方法,了解计算机系统的功能组成及运行,认识计算机科学与技术对人类社会发展的重要推动作用。
  本书内容安排由浅入深、结构严谨,力求避免内容重复、结构松散等弊病。由于本书涉及的内容繁多,各高校任课教师可根据学生的情况,在使用本书时适当调整学时及选用相关内容。本书配备了课程大纲、授课计划、电子课件、习题答案和微课脚本,供任课教师灵活选用。
  本书由瞿中担任主编,高新波、熊安萍任副主编,王诗言、尹学辉参与了本书的编写。博士研究生鞠芳蓉、王升烨、周强,硕士研究生高乐园、张文丽、牧国庆、袁彬、吴桢隽、赵书珩,以及本科生刘思辰参与了资料搜集、整理和文字校对工作,并对书中的图表进行了校对,王诗言、尹学辉、吴飞参与了本书的微课录制。
  本书介绍了艾伦·麦席森·图灵(Alan Mathison Turing)、约翰·冯·诺依曼(John von Neumann)、华罗庚、慈云桂、王选、吴文俊等著名专家学者的成果,还放入了一些专家学者的照片,以丰富本书的内容,在此向这些专家学者致以崇高的敬意。本书的出版,得到了各级领导的大力支持和帮助,以及计算机界众多专家学者的关心,在此一并致谢。
  由于计算机科学与技术发展迅速且作者水平所限,书中难免存在疏漏之处,恳请广大读者特别是同行专家批评、指正。在使用本书的过程中如果遇到任何问题,或者有好的意见和建议,请不吝赐教,与编者联系,以便今后更好地修订本书,为广大读者服务。
  
   编 者

  

  
  
  
  
  

  
  
  


返回顶部