本书多年来一直深受世界各国高校师生的欢迎,是美国哈佛大学、麻省理工学院、普林斯顿大学、加州大学伯克利分校等许多著名大学的首选教材,对我国的高校教学也产生了广泛影响。
本 书以历史眼光,从发展的角度、当前的水平以及现阶段的研究方向等几个方面,全景式描绘了计算机科学各个子学科的主要领域。在内容编排上,本书很好地兼顾了 学科广度和主题深度,把握了最新的技术趋势。本书用算法、数据抽象等核心思想贯穿各个主题,并且充分展现了历史背景、发展历程和新的技术趋势,培养读者的 大局观,为其今后深入学习其他计算机专业课程打下坚实的基础。
本书深入浅出、图文并茂,内容引人入胜,极易引发读者的兴趣,绝无一般教材的枯燥和晦涩。此外,本书的教学手段多样、习题丰富,并且每章后都附有与本章内容相关的社会现实问题供读者思考和讨论,这些都很好地体现了作者强调培养学生分析问题能力的教学理念。
第11版新增了手持移动设备,特别是智能手机的相关内容,主要涉及第3章(操作系统)、第4章(组网)、第6章(编程语言)和第7章(软件工程)中。此外,书中还对软件所有权和责任、训练人工神经网络等许多相关内容做了更新,以反映最新技术面貌。
第0 章 绪论 1
0.1 算法的作用 1
0.2 计算机器的由来 3
0.3 算法的科学 7
0.4 抽象8
0.5 学习大纲8
0.6 社会影响 9
社会问题11
课外阅读12
第1 章 数据存储13
1.1 位和位存储13
1.1.1 布尔运算 13
1.1.2 门和触发器 14
1.1.3 十六进制记数法 17
1.2 主存储器18
1.2.1 存储器结构 18
1.2.2 存储器容量的度量 19
1.3 海量存储器20
1.3.1 磁学系统 20
1.3.2 光学系统 22
1.3.3 闪存驱动器 23
1.3.4 文件存储及检索 24
1.4 用位模式表示信息 25
1.4.1 文本的表示 25
1.4.2 数值的表示 26
1.4.3 图像的表示 27
1.4.4 声音的表示 28
*1.5 二进制系统29
1.5.1 二进制记数法29
1.5.2 二进制加法 31
1.5.3 二进制中的小数 32
*1.6 整数存储33
1.6.1 二进制补码记数法 33
1.6.2 余码记数法 36
*1.7 小数的存储 37
1.7.1 浮点记数法 37
1.7.2 截断误差 39
*1.8 数据压缩 41
1.8.1 通用的数据压缩技术 41
1.8.2 图像压缩 43
1.8.3 音频和视频压缩 44
*1.9 通信差错 45
1.9.1 奇偶校验位 45
1.9.2 纠错编码 46
复习题47
社会问题50
课外阅读51
第2 章 数据操控52
2.1 计算机体系结构 52
2.1.1 CPU基础知识52
2.1.2 存储程序概念53
2.2 机器语言 54
2.2.1 指令系统 54
2.2.2 一种演示用的机器语言 56
2.3 程序执行 58
2.3.1 程序执行的一个例子60
2.3.2 程序与数据 62
*2.4 算术/逻辑指令 63
2.4.1 逻辑运算 63
2.4.2 循环移位及移位运算 65
2.4.3 算术运算 66
*2.5 与其他设备通信 67
2.5.1 控制器的作用67
2.5.2 直接内存存取68
2.5.3 握手 69
2.5.4 流行的通信媒介 69
2.5.5 通信速率 70
*2.6 其他体系结构70
2.6.1 流水线 70
2.6.2 多处理器计算机 71
复习题72
社会问题 77
课外阅读77
第3 章 操作系统79
3.1 操作系统的历史79
3.2 操作系统的体系结构82
3.2.1 软件概述82
3.2.2 操作系统组件84
3.2.3 系统启动86
3.3 协调机器的活动88
3.3.1 进程的概念88
3.3.2 进程管理88
*3.4 处理进程间的竞争90
3.4.1 信号量90
3.4.2 死锁91
3.5 安全性93
3.5.1 来自机器外部的攻击93
3.5.2 来自机器内部的攻击94
复习题95
社会问题98
课外阅读98
第4 章 组网及因特网99
4.1 网络基础99
4.1.1 网络分类99
4.1.2 协议100
4.1.3 网络互连102
4.1.4 进程间通信的方法104
4.1.5 分布式系统 105
4.2 因特网106
4.2.1 因特网体系结构106
4.2.2 因特网编址108
4.2.3 因特网应用109
4.3 万维网113
4.3.1 万维网实现113
4.3.2 HTML114
4.3.3 XML 117
4.3.4 客户端和服务器端的活动118
*4.4 因特网协议119
4.4.1 因特网软件的分层方法119
4.4.2 TCP/IP协议簇122
4.5 安全性123
4.5.1 入侵的形式124
4.5.2 防护和对策125
4.5.3 加密126
4.5.4 网络安全的法律途径128
复习题130
社会问题131
课外阅读132
第5 章 算法134
5.1 算法的概念134
5.1.1 概览134
5.1.2 算法的正式定义135
5.1.3 算法的抽象本质136
5.2 算法的表示136
5.2.1 原语137
5.2.2 伪代码139
5.3 算法的发现142
5.3.1 问题求解的艺术142
5.3.2 入门144
5.4 迭代结构146
5.4.1 顺序搜索法147
5.4.2 循环控制148
5.4.3 插入排序算法151
5.5 递归结构154
5.5.1 二分搜索算法154
5.5.2 递归控制159
5.6 有效性和正确性160
5.6.1 算法有效性160
5.6.2 软件验证163
复习题167
社会问题171
课外阅读171
第6 章 程序设计语言172
6.1 历史回顾172
6.1.1 早期程序设计语言172
6.1.2 独立并超越机器174
6.1.3 程序设计范型175
6.2 传统的程序设计概念179
6.2.1 变量和数据类型180
6.2.2 数据结构181
6.2.3 常量和字面量182
6.2.4 赋值语句183
6.2.5 控制语句184
6.2.6 注释187
6.3 过程单元188
6.3.1 过程188
6.3.2 参数189
6.3.3 函数192
6.4 语言实现193
6.4.1 翻译过程193
6.4.2 软件开发包198
6.5 面向对象程序设计199
6.5.1 类和对象199
6.5.2 构造器 202
6.5.3 附加特性 202
*6.6 程序设计中的并发活动 204
*6.7 说明性程序设计 206
6.7.1 逻辑推演 206
6.7.2 Prolog 208
复习题210
社会问题213
课外阅读214
第7 章 软件工程 215
7.1 软件工程学科 215
7.2 软件生命周期 217
7.2.1 周期是个整体217
7.2.2 传统的开发阶段218
7.3 软件工程方法 220
7.4 模块化221
7.4.1 模块式实现222
7.4.2 耦合 224
7.4.3 内聚 225
7.4.4 信息隐藏225
7.4.5 构件226
7.5 行业工具 227
7.5.1 较老的工具 227
7.5.2 统一建模语言 228
7.5.3 设计模式232
7.6 质量保证 233
7.6.1 质量保证的范围233
7.6.2 软件测试 234
7.7 文档编制 235
7.8 人机界面 236
7.9 软件所有权和责任238
复习题240
社会问题242
课外阅读243
第8 章 数据抽象244
8.1 数据结构基础 244
8.1.1 数组 244
8.1.2 列表、栈和队列245
8.1.3 树 245
8.2 相关概念 247
8.2.1 抽象247
8.2.2 静态结构与动态结构 247
8.2.3 指针 248
8.3 数据结构的实现 248
8.3.1 数组的存储248
8.3.2 列表的存储251
8.3.3 栈和队列的存储254
8.3.4 二叉树的存储255
8.3.5 数据结构的操作257
8.4 一个简短案例 259
8.5 定制的数据类型 263
8.5.1 用户自定义数据类型 263
8.5.2 抽象数据类型 264
*8.6 类和对象 266
*8.7 机器语言中的指针267
复习题269
社会问题273
课外阅读274
第9 章 数据库系统275
9.1 数据库基础275
9.1.1 数据库系统的重要性275
9.1.2 模式的作用276
9.1.3 数据库管理系统277
9.1.4 数据库模型278
9.2 关系模型 279
9.2.1 关系设计中的问题 279
9.2.2 关系运算282
9.2.3 SQL 285
*9.3 面向对象数据库287
*9.4 维护数据库的完整性289
9.4.1 提交/回滚协议289
9.4.2 锁定 290
*9.5 传统的文件结构291
9.5.1 顺序文件291
9.5.2 索引文件294
9.5.3 散列文件294
9.6 数据挖掘 297
9.7 数据库技术的社会影响299
复习题300
社会问题303
课外阅读304
第10 章 计算机图形学305
10.1 计算机图形学的范围 305
10.2 3D图形概述307
10.3 建模 308
10.3.1 单个物体的建模308
10.3.2 整个场景的建模313
10.4 渲染314
10.4.1 光-表面交互314
10.4.2 裁剪、扫描转换和隐藏面的消除316
10.4.3 着色319
10.4.4 渲染-流水线硬件320
*10.5 处理全局照明321
10.5.1 光线跟踪 321
10.5.2 辐射度323
10.6 动画323
10.6.1 动画基础323
10.6.2 运动学和动力学325
10.6.3 动画制作过程326
复习题326
社会问题328
课外阅读329
第11 章 人工智能330
11.1 智能与机器330
11.1.1 智能体330
11.1.2 研究方法332
11.1.3 图灵测试332
11.2 感知333
11.2.1 理解图像333
11.2.2 语言处理335
11.3 推理338
11.3.1 产生式系统338
11.3.2 搜索树340
11.3.3 启发式搜索342
11.4 其他研究领域346
11.4.1 知识的表达和处理346
11.4.2 学习347
11.4.3 遗传算法349
11.5 人工神经网络349
11.5.1 基本特性350
11.5.2 训练人工神经网络351
11.5.3 联想记忆353
11.6 机器人学356
11.7 后果的思考358
复习题359
社会问题363
课外阅读364
第12 章 计算理论365
12.1 函数及其计算365
12.2 图灵机367
12.2.1 图灵机的原理367
12.2.2 丘奇-图灵论题369
12.3 通用程序设计语言370
12.3.1 Bare Bones语言370
12.3.2 用Bare Bones语言编程372
12.3.3 Bare Bones的通用性373
12.4 一个不可计算的函数375
12.4.1 停机问题375
12.4.2 停机问题的不可解性376
12.5 问题的复杂性379
12.5.1 问题复杂性的度量379
12.5.2 多项式问题与非多项式问题382
12.5.3 NP问题383
*12.6 公钥密码学386
12.6.1 模表示法386
12.6.2 RSA公钥加密系统387
复习题389
社会问题392
课外阅读392
附录A ASCII 码394
附录B 处理二进制补码表示的电路395
附录C 一种简单的机器语言397
附录D 高级编程语言399
附录E 迭代结构与递归结构的等价性401
索引403
问题与练习答案(图灵社区网站下载)
数字摄影教程 本书特色 《新世纪高等学校摄影及相关专业通用教材:数字摄影教程》作者将与青年学生们一起共同讨论数字摄影的基本知识,并探索数字摄影的奥秘。《新世纪高...
《中国哲学创新方法论研究》内容简介:中国哲学学科自20世纪初依西方哲学范式建成以来,始终面临着方法论的困境,无论是在概念创造
"Doyoulearnbestbyexampleandexperimentation?Thisbookisideal.Haveyourfavoriteedito...
《深入核心的敏捷开发:ThoughtWorks五大关键实践》内容简介:本书介绍了ThoughtWorks是如何实践敏捷开发的,主题包括测试驱动开发
EXCEL图表实战技巧精粹 本书特色 《EXCEL图表实战技巧精粹》内容丰富、图文并茂,内容由浅入深,适合于各个学习阶段的读者阅读,能有效地帮助读者提高Exce...
《影像杂谈》内容简介:作者影像评论十二篇首次结集,并配以作者的手机快照。《影像杂谈》以画家之眼,谈论时间对于摄影的参与,记
《CSS艺匠之门》从标题、图片、背景、导航、表单、表格和圆角效果等几方面,介绍CSS设计的神奇作用。《CSS艺匠之门》将CSS和Java
《程序与民主》是意大利著名政治学家、法学家皮罗·克拉玛德雷(Pierocalamandrei)(1889-1956)讨论现代诉讼程序的著作。该书篇
为什么畅销商品的包装设计成这样?原来处处皆是眉角!你也许吃过这些热门商品,但你是否能看懂包装中的玄机?让人伸手就想拿!买
电脑软件实用技巧380招 本书特色 从零开始,由浅入深,图文并茂,通俗易懂;内容丰富,全面、范例实用,边讲边练,讲练结合;目标清楚,难点、重点突出,步骤清楚,即...
《App Inventor创意趣味编程进阶》内容简介:App Inventor是一款简单易上手的可视化安卓App开发工具,随着各种开源硬件和人工智能技
《你不理财 财不理你(2)》内容简介:钱是需要去赚的,通常情况下,只要你能赚,你的财富才会越来越多,但同时也是省下来的。很多
《华杉讲透《资治通鉴》9》内容简介:《资治通鉴》从战国写到五代十国,生动展现了十六个朝代一千三百六十二年历史中一个个活生生的
《超越财富:家族企业的传承与革新》内容简介:无论是欧洲的罗斯柴尔德家族,还是美国的洛克菲勒家族,或者东亚的很多财团,家族企
《运动是最好的心药:心血管疾病运动治疗策略》内容简介:运动有益健康的理念深入人心,对于健康人群,多数的运动项目是安全有益的
计算机网络的发展正改变着整个社会,这种改变影响了人们的工作、生活和受教育的方式,甚至渗透到我们每个人的行为中。网络已成为
游戏透视 本书特色 《游戏透视(动漫游戏专业系列教材)》由浅入深、详细地讲述了绘画透视的基本概念以及不同的绘画透视种类,从动漫与游戏制作的流程出发,配合大量精美...
Atypesystemisasyntacticmethodforautomaticallycheckingtheabsenceofcertainerroneou...
《储蓄投资金融政治经济学》内容简介:在货币经济中,储蓄投资决策分离,使得统一的积累过程变成三个相互联系而又相对独立的过程,
嵌入式Linux系统开发全程解析 本书特色 《嵌入式linux系统开发全程解析》是一本全面介绍嵌入式linux开发的专著,书中涵盖了程序生成工具、调试工具、引导...