计算机科学的全景式呈现 經典的导论性教材内容的全新升级版本号 全方位掌握全新升级的技术性发展趋向 《计算机科学概论》很多年来始终备受世界各地高等院校老师学生的热烈欢迎,是哈佛大学、麻省理工大学、普林斯顿大学、加州大学伯克利分校等著名高校的课程内容教材内容,对在我国的高等院校课堂教学也造成了普遍危害。 《计算机科学概论》以历史时间的目光,从发展趋势的视角、当今的水准及其目前的研究内容等好多个层面,全景式叙述了计算机科学每个子课程的关键行业。在內容编辑上,非常好地兼具了课程深度广度和主题风格深层,掌握了全新升级的技术性发展趋向。《计算机科学概论》用优化算法、数据抽象等核心内容围绕每个主题风格,而且集中体现了每个主题风格的时代背景、发展史和新的技术性发展趋势,塑造用户的全局观念,为将来加强学习别的电子计算机课程拿下牢靠的基本。 《计算机科学概论》从入门到精通、图片配文字、內容扣人心弦,非常容易引起用户的兴趣爱好,绝对没有通常教材内容的枯燥乏味和枯燥。除此之外,这书的教学方式多种多样、练习题丰富多彩,而且每章后都附带与这章內容有关的社会现象难题供用户思索和探讨,这种都非常好地最能体现创作者注重塑造大学生剖析难题工作能力的教育理念。 第12版关键是将Python编程语言层面的详细介绍列入了重中之重章节目录。除此之外,基本上每章节都能见到对前版本相匹配章节目录的修定。 《计算机科学概论》特别适合做为高等学校电子计算机及其有关技术专业本科毕业教材内容,还可以供有心在电子计算机层面发展趋势的非计算机专科用户做为新手入门参照。《计算机科学概论》是计算机科学概论课程内容的經典教材内容,本书对计算机科学干了百科全书式的精采论述,充足呈现了计算机科学的时代背景、发展史和新的技术性发展趋势。《计算机科学概论》最先详细介绍的是信息内容编号及电子计算机系统架构的基本概念,从而叙述电脑操作系统和组网方案及英特网,然后讨论优化算法、编程语言及中国科学技术大学,随后探讨数据抽象和数据库查询层面的难题,叙述图形学的某些关键运用及其人工智能技术,以测算基础理论的详细介绍完毕本书。《计算机科学概论》在內容编辑上由实际到抽象性持续推进,很合适课堂教学分配,每1个主题风格顺理成章地引导出下个主题风格。除此之外,书中还包括很多的图、表和实例,有利于用户对专业知识的掌握与掌握。 第12版关键是将Python编程语言层面的详细介绍列入了重中之重章节目录,除开提升与Python有关的內容,基本上每章节都能见到对前版本相匹配章节目录的修定、升级及其调整。
目录
- 绪0论 绪论 1
- 0.1 算法的作用 1
- 0.2 计算机器的由来 3
- 0.3 学习大纲 6
- 0.4 计算机科学的首要主题 7
- 0.4.1 算法 8
- 0.4.2 抽象 9
- 0.4.3 创新 9
- 0.4.4 数据 10
- 0.4.5 程序设计 10
- 0.4.6 因特网 10
- 0.4.7 影响 11
- 社会问题 11
- 课外阅读 13
- 第1章 数据存储 14
- 1.1 位和位存储 14
- 1.1.1 布尔运算 14
- 1.1.2 门和触发器 15
- 1.1.3 十六进制记数法 18
- 1.2 主存储器 19
- 1.2.1 存储器结构 19
- 1.2.2 存储器容量的度量 20
- 1.3 海量存储器 21
- 1.3.1 磁系统 21
- 1.3.2 光系统 22
- 1.3.3 闪存驱动器 23
- 1.4 用位模式表示信息 24
- 1.4.1 文本的表示 24
- 1.4.2 数值的表示 26
- 1.4.3 图像的表示 27
- 1.4.4 声音的表示 27
- *1.5 二进制系统 29
- 1.5.1 二进制记数法 29
- 1.5.2 二进制加法 30
- 1.5.3 二进制中的小数 31
- *1.6 整数的存储 32
- 1.6.1 二进制补码记数法 33
- 1.6.2 余码记数法 35
- *1.7 小数的存储 37
- 1.7.1 浮点记数法 37
- 1.7.2 截断误差 38
- *1.8 数据与程序设计 40
- 1.8.1 Python入门 41
- 1.8.2 你好,Python 41
- 1.8.3 变量 42
- 1.8.4 运算符和表达式 43
- 1.8.5 货币转换 44
- 1.8.6 调试 44
- *1.9 数据压缩 45
- 1.9.1 通用的数据压缩技术 45
- 1.9.2 图像压缩 47
- 1.9.3 音频和视频压缩 48
- *1.10 通信差错 49
- 1.10.1 奇偶校验位 49
- 1.10.2 纠错码 50
- 复习题 52
- 社会问题 55
- 课外阅读 56
- 第2章 数据操控 57
- 2.1 计算机体系结构 57
- 2.1.1 CPU基础知识 57
- 2.1.2 存储程序概念 58
- 2.2 机器语言 59
- 2.2.1 指令系统 60
- 2.2.2 一种演示用的机器语言 61
- 2.3 程序执行 64
- 2.3.1 程序执行的一个例子 65
- 2.3.2 程序与数据 67
- *2.4 算术/逻辑指令 69
- 2.4.1 逻辑运算 69
- 2.4.2 循环移位运算及移位运算 70
- 2.4.3 算术运算 71
- *2.5 与其他设备通信 72
- 2.5.1 控制器的作用 72
- 2.5.2 直接存储器存取 74
- 2.5.3 握手 74
- 2.5.4 流行的通信媒介 74
- 2.5.5 通信速率 75
- *2.6 数据操控编程 76
- 2.6.1 逻辑运算和移位运算 76
- 2.6.2 控制结构 77
- 2.6.3 输入和输出 79
- 2.6.4 马拉松训练助手 80
- *2.7 其他体系结构 82
- 2.7.1 流水线 82
- 2.7.2 多处理器机器 83
- 复习题 84
- 社会问题 89
- 课外阅读 90
- 第3章 操作系统 91
- 3.1 操作系统的历史 91
- 3.2 操作系统的体系结构 94
- 3.2.1 软件概述 94
- 3.2.2 操作系统组件 96
- 3.2.3 系统启动 98
- 3.3 协调机器的活动 100
- 3.3.1 进程的概念 100
- 3.3.2 进程管理 100
- *3.4 处理进程间的竞争 102
- 3.4.1 信号量 102
- 3.4.2 死锁 103
- 3.5 安全性 105
- 3.5.1 来自外部的攻击 106
- 3.5.2 来自内部的攻击 106
- 复习题 108
- 社会问题 110
- 课外阅读 110
- 第4章 组网及因特网 112
- 4.1 网络基础 112
- 4.1.1 网络分类 112
- 4.1.2 协议 113
- 4.1.3 组合网络 115
- 4.1.4 进程间通信的方法 117
- 4.1.5 分布式系统 118
- 4.2 因特网 118
- 4.2.1 因特网体系结构 119
- 4.2.2 因特网编址 120
- 4.2.3 因特网应用 122
- 4.3 万维网 126
- 4.3.1 万维网实现 126
- 4.3.2 HTML 127
- 4.3.3 XML 129
- 4.3.4 客户端和服务器端的活动 130
- *4.4 因特网协议 132
- 4.4.1 因特网软件的分层方法 132
- 4.4.2 TCP/IP协议簇 134
- 4.5 安全性 136
- 4.5.1 入侵的形式 136
- 4.5.2 防护和对策 137
- 4.5.3 加密 138
- 4.5.4 网络安全的法律途径 140
- 复习题 142
- 社会问题 143
- 课外阅读 144
- 第5章 算法 146
- 5.1 算法的概念 146
- 5.1.1 非正式的回顾 146
- 5.1.2 算法的正式定义 147
- 5.1.3 算法的抽象本质 148
- 5.2 算法的表示 148
- 5.2.1 原语 149
- 5.2.2 伪代码 151
- 5.3 算法的发现 154
- 5.3.1 问题求解的艺术 155
- 5.3.2 迈出第一步 156
- 5.4 迭代结构 159
- 5.4.1 顺序搜索算法 159
- 5.4.2 循环控制 160
- 5.4.3 插入排序算法 164
- 5.5 递归结构 167
- 5.5.1 二分搜索算法 167
- 5.5.2 递归控制 171
- 5.6 效率和正确性 174
- 5.6.1 算法效率 174
- 5.6.2 软件验证 177
- 复习题 180
- 社会问题 185
- 课外阅读 185
- 第6章 程序设计语言 186
- 6.1 历史回顾 186
- 6.1.1 早期程序设计语言 186
- 6.1.2 机器无关和超越机器无关 188
- 6.1.3 程序设计范型 189
- 6.2 传统的程序设计概念 192
- 6.2.1 变量和数据类型 193
- 6.2.2 数据结构 195
- 6.2.3 常量和字面量 196
- 6.2.4 赋值语句 197
- 6.2.5 控制语句 198
- 6.2.6 注释 201
- 6.3 过程单元 202
- 6.3.1 函数 202
- 6.3.2 参数 203
- 6.3.3 有返回值的函数 205
- 6.4 语言实现 207
- 6.4.1 翻译过程 207
- 6.4.2 软件开发包 212
- 6.5 面向对象程序设计 213
- 6.5.1 类和对象 213
- 6.5.2 构造器 216
- 6.5.3 附加特性 217
- *6.6 程序设计并发活动 218
- *6.7 说明性程序设计 220
- 6.7.1 逻辑推演 220
- 6.7.2 Prolog 222
- 复习题 224
- 社会问题 227
- 课外阅读 228
- 第7章 软件工程 229
- 7.1 软件工程学科 229
- 7.2 软件生命周期 231
- 7.2.1 周期是个整体 231
- 7.2.2 传统的开发阶段 232
- 7.3 软件工程方法学 234
- 7.4 模块化 236
- 7.4.1 模块式实现 236
- 7.4.2 耦合 238
- 7.4.3 内聚 239
- 7.4.4 信息隐藏 239
- 7.4.5 构件 240
- 7.5 行业工具 241
- 7.5.1 较老的工具 241
- 7.5.2 统一建模语言 242
- 7.5.3 设计模式 246
- 7.6 质量保证 247
- 7.6.1 质量保证的范围 247
- 7.6.2 软件测试 248
- 7.7 文档 249
- 7.8 人机界面 250
- 7.9 软件所有权和责任 252
- 复习题 254
- 社会问题 256
- 课外阅读 257
- 第8章 数据抽象 258
- 8.1 基本数据结构 258
- 8.1.1 数组和聚合 258
- 8.1.2 列表、栈和队列 259
- 8.1.3 树 260
- 8.2 相关概念 261
- 8.2.1 抽象 261
- 8.2.2 静态结构与动态结构 261
- 8.2.3 指针 262
- 8.3 数据结构的实现 263
- 8.3.1 存储数组 263
- 8.3.2 存储聚合 265
- 8.3.3 存储列表 266
- 8.3.4 存储栈和队列 268
- 8.3.5 存储二叉树 270
- 8.3.6 操控数据结构 272
- 8.4 一个简短的案例 273
- 8.5 定制的数据类型 277
- 8.5.1 用户定义的数据类型 277
- 8.5.2 抽象数据类型 278
- 8.6 类和对象 280
- *8.7 机器语言中的指针 282
- 复习题 284
- 社会问题 287
- 课外阅读 288
- 第9章 数据库系统 290
- 9.1 数据库基础 290
- 9.1.1 数据库系统的重要性 290
- 9.1.2 模式的作用 291
- 9.1.3 数据库管理系统 292
- 9.1.4 数据库模型 293
- 9.2 关系模型 294
- 9.2.1 关系设计中的问题 294
- 9.2.2 关系运算 297
- 9.2.3 SQL 300
- *9.3 面向对象数据库 302
- *9.4 维护数据库的完整性 304
- 9.4.1 提交/回滚协议 304
- 9.4.2 锁定 305
- *9.5 传统的文件结构 307
- 9.5.1 顺序文件 307
- 9.5.2 索引文件 309
- 9.5.3 散列文件 310
- 9.6 数据挖掘 313
- 9.7 数据库技术的社会影响 314
- 复习题 316
- 社会问题 319
- 课外阅读 320
- 第10章 计算机图形学 321
- 10.1 计算机图形学的范围 321
- 10.2 3D图形概述 322
- 10.3 建模 324
- 10.3.1 单个物体的建模 324
- 10.3.2 整个场景的建模 327
- 10.4 渲染 329
- 10.4.1 光-表面交互 329
- 10.4.2 裁剪、扫描转换和隐藏面的
- 消除 331
- 10.4.3 着色 333
- 10.4.4 渲染-流水线硬件 334
- *10.5 处理全局照明 335
- 10.5.1 光线跟踪 336
- 10.5.2 辐射度 337
- 10.6 动画 338
- 10.6.1 动画基础 338
- 10.6.2 动力学和运动学 339
- 10.6.3 动画制作过程 340
- 复习题 341
- 社会问题 342
- 课外阅读 343
- 第11章 人工智能 344
- 11.1 智能与机器 344
- 11.1.1 智能体 344
- 11.1.2 研究方法 346
- 11.1.3 图灵测试 346
- 11.2 感知 347
- 11.2.1 理解图像 347
- 11.2.2 语言处理 349
- 11.3 推理 352
- 11.3.1 产生式系统 352
- 11.3.2 搜索树 354
- 11.3.3 启发式法 356
- 11.4 其他研究领域 360
- 11.4.1 知识的表达和处理 360
- 11.4.2 学习 361
- 11.4.3 遗传算法 362
- 11.5 人工神经网络 363
- 11.5.1 基本特性 363
- 11.5.2 训练人工神经网络 365
- 11.5.3 联想记忆 367
- 11.6 机器人学 369
- 11.7 后果的思考 371
- 复习题 372
- 社会问题 376
- 课外阅读 377
- 第12章 计算理论 378
- 12.1 函数及其计算 378
- 12.2 图灵机 380
- 12.2.1 图灵机的原理 380
- 12.2.2 丘奇-图灵论题 382
- 12.3 通用程序设计语言 383
- 12.3.1 Bare Bones语言 383
- 12.3.2 用Bare Bones语言编程 385
- 12.3.3 Bare Bones的通用性 385
- 12.4 一个不可计算的函数 387
- 12.4.1 停机问题 387
- 12.4.2 停机问题的不可解性 388
- 12.5 问题的复杂性 391
- 12.5.1 问题复杂性的度量 391
- 12.5.2 多项式问题与非多项式问题 394
- 12.5.3 NP问题 395
- *12.6 公钥密码学 397
- 12.6.1 模表示法 398
- 12.6.2 RSA公钥密码学 399
- 复习题 400
- 社会问题 403
- 课外阅读 404
- 附录A ASCII码 405
- 附录B 用于处理二进制补码表示的电路 406
- 附录C 一种简单的机器语言 408
- 附录D 高级程序设计语言 410
- 附录E 迭代结构与递归结构的等价性 412
- 索引 414
- 内容提要
- 目 录