《计算机科学概论》由两位知名的计算机科学教育家编写,全面而细致地介绍了计算机科学的各个方面。书中,计算系统的每个分层都以剖析,从住处层开始,历经硬件层、程序设计层、操作系统层、应用程序层的通信层,最后讨论了计算的限制。此外,正文中穿插了大量的人物传记、历史注释、道德问题和最新的技术发展信息,有助于你进一步了解计算机科学。每章后面都附带有大量的练习,可以帮助你即时重温并掌握这一章所述的内容。
《计算机科学概论》是计算和计算机科学引论课程的理想教材,对于想要了解计算机科学概况的非专业人员,《计算机科学概论》也是一个很好的选择。
译者序
前言
第一部分 基 础 篇
第1章 全景图 1
1.1 计算系统 1
1.1.1 计算系统的分层 2
1.1.2 抽象 3
1.2 计算的历史 5
1.2.1 计算硬件的简史 5
1.2.2 计算软件的简史 11
1.2.3 预言 15
1.3 计算工具和计算学科 15
小结 16
道德问题:数字化分裂 17
练习 17
思考题 18
第二部分 信 息 层
第2章 二进制数值和记数系统 21
2.1 数字和计算 21
2.2 位置记数法 22
2.2.1 二进制、八进制和十六进制 25
2.2.2 其他记数系统中的运算 26
2.2.3 以2的幂为基数的记数系统 26
2.2.4 把十进制数转换成其他数制的数 28
2.2.5 二进制数值和计算机 29
小结 30
道德问题:计算机和国家安全 30
练习 31
思考题 32
第3章 数据表示法 34
3.1 数据和计算机 34
3.1.1 模拟数据和数字数据 35
3.1.2 二进制表示法 36
3.2 数字数据的表示法 38
3.2.1 负数表示法 38
3.2.2 实数表示法 40
3.3 文本表示法 42
3.3.1 ASCII字符集 43
3.3.2 Unicode字符集 44
3.3.3 文本压缩 44
3.4 音频信息表示法 47
3.4.1 音频格式 49
3.4.2 MP3音频格式 49
3.5 图像和图形的表示法 49
3.5.1 颜色表示法 49
3.5.2 数字化图像和图形 50
3.5.3 图形的矢量表示法 52
3.6 视频表示法 53
小结 53
道德问题:MGM Studios公司和Grokster有限公司 54
练习 55
思考题 57
第三部分 硬 件 层
第4章 门和电路 59
4.1 计算机和电学 59
4.2 门 61
4.2.1 非门 61
4.2.2 与门 62
4.2.3 或门 62
4.2.4 异或门 63
4.2.5 与非门和或非门 63
4.2.6 门处理回顾 64
4.2.7 具有更多输入的门 64
4.3 门的构造 65
4.4 电路 66
4.4.1 组合电路 67
4.4.2 加法器 69
4.4.3 多路复用器 71
4.5 存储器电路 71
4.6 集成电路 72
4.7 CPU芯片 73
小结 73
道德问题:电子邮件隐私权 73
练习 74
思考题 76
第5章 计算部件 77
5.1 独立的计算机部件 77
5.2 存储程序的概念 79
5.2.1 冯·诺伊曼体系结构 80
5.2.2 读取-执行周期 84
5.2.3 RAM和ROM 85
5.2.4 二级存储设备 86
5.2.5 触摸屏 89
5.3 非冯·诺伊曼体系结构 90
小结 91
道德问题:生物信息学研究和deCODEGenetics公司的案例 92
练习 93
思考题 94
第四部分 程序设计层
第6章 问题求解和算法设计 95
6.1 问题求解 95
6.1.1 如何解决问题 96
6.1.2 应用Polya的问题求解策略 99
6.2 算法 99
6.2.1 计算机问题求解 99
6.2.2 执行算法 101
6.2.3 开发算法 102
6.3 伪代码 102
6.3.1 执行一个伪代码算法 103
6.3.2 伪代码的功能 104
6.3.3 伪代码示例 106
6.4 自顶向下设计方法 108
6.4.1 一个通用的实例 109
6.4.2 一个计算机实例 111
6.4.3 方法总结 113
6.4.4 测试算法 114
6.5 面向对象方法 114
6.5.1 面向对象 114
6.5.2 设计方法 115
6.5.3 一个通用的实例 117
6.5.4 一个计算机实例 118
6.6 几个重要思想 120
6.6.1 信息隐蔽 120
6.6.2 抽象 121
6.6.3 事物命名 122
6.6.4 程序设计语言 122
6.6.5 测试 123
小结 123
道德问题:计算机专业人员许可 124
练习 124
思考题 126
第7章 低级程序设计语言 127
7.1 计算机操作 127
7.2 抽象的分层 128
7.3 机器语言 128
7.4 一个程序实例 133
7.4.1 问题和算法 133
7.4.2 程序 134
7.5 汇编语言 137
7.5.1 Pep/7汇编语言 138
7.5.2 伪代码操作 138
7.5.3 “Hello”程序的汇编语言版本 139
7.5.4 一个新程序 140
7.5.5 具有分支的程序 142
7.5.6 具有循环的程序 144
7.6 其他重要思想 145
7.6.1 抽象 145
7.6.2 测试 146
7.6.3 测试计划实现 146
小结 147
道德问题:软件盗版和版权 148
练习 148
思考题 150
第8章 高级程序设计语言 151
8.1 翻译过程 151
8.1.1 编译器 151
8.1.2 解释器 152
8.2 程序设计语言的范型 154
8.3 命令式语言的功能性 155
8.3.1 布尔表达式 155
8.3.2 强类型化 156
8.3.3 输入/输出结构 159
8.3.4 控制结构 160
8.3.5 复合数据类型 172
8.4 面向对象语言的功能性 175
8.4.1 封装 175
8.4.2 继承 176
8.4.3 多态性 176
小结 177
道德问题:开源软件的发展 178
练习 179
思考题 180
第9章 抽象数据类型和算法 181
9.1 抽象数据类型 181
9.2 实现 182
9.2.1 基于数组的实现 182
9.2.2 链式实现 183
9.3 列表 185
9.3.1 列表的基本操作 185
9.3.2 其他列表操作 188
9.4 排序 188
9.4.1 选择排序 189
9.4.2 冒泡排序 190
9.4.3 快速排序 191
9.5 二分检索法 195
9.6 栈和队列 196
9.6.1 栈 197
9.6.2 队列 198
9.6.3 实现 198
9.7 树 199
9.7.1 二叉树 199
9.7.2 二叉检索树 200
9.7.3 其他操作 203
9.7.4 图 204
9.8 程序设计库 204
小结 205
道德问题:使用计算机的恶作剧和欺诈
行为 205
练习 206
思考题 208
第五部分 操作系统层
第10章 操作系统 209
10.1 操作系统的角色 209
10.1.1 内存、进程和CPU管理 211
10.1.2 批处理 211
10.1.3 分时操作 212
10.1.4 其他OS要素 213
10.2 内存管理 213
10.2.1 单块内存管理 214
10.2.2 分区内存管理 215
10.2.3 页式内存管理 216
10.3 进程管理 218
10.3.1 进程状态 218
10.3.2 进程控制块 219
10.4 CPU调度 219
10.4.1 先到先服务 220
10.4.2 最短作业优先 220
10.4.3 循环调度法 221
小结 222
道德问题:数字版权管理和关于Sony公司的根目录案件的争论 223
练习 223
思考题 226
第11章 文件系统和目录 227
11.1 文件系统 227
11.1.1 文本文件和二进制文件 228
11.1.2 文件类型 228
11.1.3 文件操作 229
11.1.4 文件访问 230
11.1.5 文件保护 231
11.2 目录 232
11.2.1 目录树 232
11.2.2 路径名 234
11.3 磁盘调度 236
11.3.1 先到先服务磁盘调度法 237
11.3.2 最短寻道时间优先磁盘调度法 237
11.3.3 SCAN磁盘调度法 238
小结 238
道德问题:垃圾邮件 239
练习 240
思考题 241
第六部分 应用程序层
第12章 信息系统 243
12.1 信息管理 243
12.2 电子制表软件 244
12.2.1 电子数据表公式 246
12.2.2 循环引用 249
12.2.3 电子数据表分析 249
12.3 数据库管理系统 250
12.3.1 关系模型 251
12.3.2 关系 253
12.3.3 结构化查询语言 254
12.3.4 数据库设计 255
12.4 信息安全 256
12.4.1 机密性、完整性和可用性 256
12.4.2 密码学 257
小结 259
道德问题:加密 260
练习 261
思考题 262
第13章 人工智能 263
13.1 思维机 263
13.1.1 图灵测试 264
13.1.2 AI问题的各个方面 265
13.2 知识表示 265
13.2.1 语义网 266
13.2.2 检索树 268
13.3 专家系统 270
13.4 神经网络 272
13.4.1 生物神经网络 272
13.4.2 人工神经网络 273
13.5 自然语言处理 274
13.5.1 语音合成 275
13.5.2 语音识别 276
13.5.3 自然语言理解 276
13.6 机器人学 277
13.6.1 感知-规划-执行范型 277
13.6.2 包孕体系结构 280
13.6.3 物理部件 281
小结 281
道德问题:HIPAA(健康保险携带和责任法案) 282
练习 283
思考题 284
第14章 模拟、图形学和其他应用
程序 285
14.1 什么是模拟 285
14.1.1 复杂系统 286
14.1.2 模型 286
14.1.3 构造模型 286
14.1.4 排队系统 287
14.1.5 气象模型 290
14.1.6 其他模型 293
14.1.7 必要的计算能力 293
14.2 计算机图形学 294
14.2.1 光的工作原理 295
14.2.2 物体形状 296
14.2.3 光模拟 296
14.2.4 复杂对象的建模 297
14.2.5 让物体动起来 302
14.3 嵌入式系统 303
14.4 电子商务 303
14.5 计算机安全 304
14.5.1 恶意代码 305
14.5.2 安全攻击 305
小结 307
道德问题:入侵大学的计算机系统,查询
录取程序中某人的录取状态 307
练习 308
思考题 309
第七部分 通 信 层
第15章 网络 311
15.1 连网 311
15.1.1 网络的类型 312
15.1.2 Internet连接 314
15.1.3 包交换 316
15.2 开放式系统和协议 317
15.2.1 开放式系统 317
15.2.2 网络协议 318
15.2.3 TCP/IP 318
15.2.4 高层协议 319
15.2.5 MIME类型 320
15.2.6 防火墙 320
15.3 网络地址 321
小结 323
道德问题:无所不在的计算 324
练习 325
思考题 326
第16章 万维网 327
16.1 Web简介 327
16.1.1 搜索引擎 329
16.1.2 即时消息 329
16.1.3 博客 329
16.1.4 cookie 330
16.2 HTML 330
16.2.1 基本的HTML格式 333
16.2.2 图像和链接 333
16.3 交互式Web页 335
16.3.1 Java小程序 335
16.3.2 Java服务器页 336
16.4 XML 337
小结 339
道德问题:写博客 340
练习 341
思考题 342
第八部分 总 结
第17章 计算的限制 345
17.1 硬件 345
17.1.1 算术运算的限制 345
17.1.2 部件的限制 350
17.1.3 通信的限制 350
17.2 软件 351
17.2.1 软件的复杂度 352
17.2.2 当前提高软件质量的方法 352
17.2.3 臭名昭著的软件错误 355
17.3 问题 357
17.3.1 算法比较 357
17.3.2 图灵机 362
17.3.3 停机问题 364
17.3.4 算法分类 365
小结 367
道德问题:深度链接 367
练习 368
思考题 369
参考文献 370
《Linux内核设计与实现》基于Linux2.6内核系列详细介绍Linux内核系统,覆盖了从核心内核系统的应用到内核设计与实现等各方面的内
VisualBasic通用范例开发金典(含光盘) 本书特色 本书系统全面地介绍了Visual Basic软件——Microsoft Visual Basic 6...
《逆袭大学——传给IT学子的正能量》以作者近二十年的从教经历和义务为IT学子解答咨询的工作为基础,以认识专业为起点,以编程能
《短线金手5:分时图战法实战剖析》内容简介:本书精选99种炒股分时图战法案例,结合私募实战操作分析,全方位解析分时图战法在实战
《我和LabVIEW:一个NI工程师的十年编程经验》是作者在学习和使用LabVIEW过程中的经验总结。书中由浅入深地对LabVIEW最常用的功能
《CSS艺匠之门》从标题、图片、背景、导航、表单、表格和圆角效果等几方面,介绍CSS设计的神奇作用。《CSS艺匠之门》将CSS和Java
《手工会计(第二版)》内容简介:本书第二版是在2013年第一版的基础上,主要根据我国全面实行“营改增”的税收政策变化而修订的,
本书主要讲述采用正交频分复用(OFDM)技术的宽带通信技术及其在WLAN中的应用,具体内容包括发展背景和OFDMWLAN的概况;OFDM网络中
《OpenShift在企业中的实践(第2版)》内容简介:本书以红帽OpenShift v4为核心编写,从客户的数字化转型入手,介绍如何通过OpenSh
Manycompaniesrecognizethatpeopleexpecteffortless,engaginginteractionwithdesktopa...
肓信号处理是现代数学信号处理、计算智能学近年来迅速发展的重要方向。在电子信息、通信、生物医学、图像增强、雷达、地球物理信
《Ubuntu标准教程》由浅入深、循序渐进地介绍了Ubuntu系统的相关知识。全书内容包括Ubuntu简介、系统的安装与快速配置、Linux文件
《渐进与突破》内容简介:俄罗斯远东联邦区发展油气产业的支点在萨哈林地区,而其“主角”是萨哈林岛。萨哈林岛引人注目之处不仅在
『書‧手作:山崎曜的製本書』超乎興趣的復古工藝之作、一本大人風味的手工書13種製書技法.25件佳作實做詳解.5件職人創作欣賞※
田中一光,1930年生于日本,1950年毕业于日本京都美术学院,后与人合作创办日本设计中心,1960年成为该中心的艺术指导,1963年成
《风景园林设计要素》一书用通俗易懂的语言和简练、明确的图面,全面、系统地阐述了园林规划设计的要理。译者忠于原著的构思和论
你可能已经在不知不觉中成为了一名黑客。黑客不是“骇客”,它与计算机犯罪,甚至与开放源代码运动毫无瓜葛。黑客更多的是对压力
AquickguidetoeverythinganyonewouldwanttoknowaboutthesoaringlypopularInternetprog...
《生命为什么可以延续》内容简介:从一颗种子的简单崛起,到幼雏的破壳而出;从稚嫩小树的抽枝发芽,到新生儿的孕育和诞生……生命
本书简要介绍了通信系统的基本理论,详细介绍了MATLAB通信工具箱的主要内容和使用方法,其中包括与通信系统有关的MATLAB通信工具