好书推荐 好书速递 排行榜 读书文摘

计算机科学导论(原书第4版)

计算机科学导论(原书第4版)
作者:[美] 贝赫鲁兹·佛罗赞
译者:吕云翔 / 杨洪洋 / 曾洪立
出版社:机械工业出版社
出版年:2020-05
ISBN:9787111654636
行业:计算机
浏览数:36

内容简介

《计算机科学导论》是国外计算机等IT相关专业本科生的一本基础课教材,也是一本非常经典的计算机入门读物。作为一本百科全书式的计算机专业基础入门读物,书中涉及计算机科学的方方面面。虽然读者对象是计算机专业的学生,但这本书深入浅出,引人入胜,勾画出计算机科学体系的框架,为有志于IT行业的学生奠定计算机科学知识的基础,架设进一步深入专业理论学习的桥梁。

......(更多)

作者简介

贝赫鲁兹·佛罗赞(Behrouz Forouzan),毕业于加州大学欧文分校,在工业界和教育领域具有30多年的研发和教学经验。在离开工业界后,他在德安扎学院(De Anza College)担任计算机科学教授,现已退休。除了这本教材之外,他还编写了该学科的多部畅销教材。

......(更多)

目录

出版者的话

译者序

前言

第1章 绪论 1

1.1 图灵模型 1

1.1.1 数据处理器 1

1.1.2 可编程数据处理器 2

1.1.3 通用图灵机 3

1.2 冯·诺依曼模型 3

1.2.1 4个子系统 3

1.2.2 存储程序概念 4

1.2.3 指令的顺序执行 4

1.3 计算机组成部分 4

1.3.1 计算机硬件 4

1.3.2 数据 4

1.3.3 计算机软件 5

1.4 历史 6

1.4.1 机械计算机器(1930年以前) 6

1.4.2 电子计算机的诞生(1930~1950年) 7

1.4.3 计算机的诞生(1950年至今) 7

1.5 计算机科学作为一门学科 8

1.6 课程纲要 8

1.6.1 第一部分:数据的表示与运算 8

1.6.2 第二部分:计算机硬件 8

1.6.3 第三部分:计算机软件 8

1.6.4 第四部分:数据组织与抽象 9

1.6.5 第五部分:高级话题 9

1.6.6 第六部分:社交媒体和社会话题 9

1.7 章末材料 9

1.8 练习 10

第2章 数字系统 11

2.1 引言 11

2.2 位置化数字系统 11

2.2.1 十进制系统 12

2.2.2 二进制系统 13

2.2.3 十六进制系统 14

2.2.4 八进制系统 15

2.2.5 4种位置化数字系统小结 16

2.2.6 转换 16

2.3 非位置化数字系统 21

2.4 章末材料 22

2.5 练习 23

第3章 数据存储 27

3.1 数据类型 27

3.1.1 计算机内部的数据 28

3.1.2 数据压缩 28

3.1.3 错误检测和纠正 29

3.2 存储数字 29

3.2.1 存储整数 29

3.2.2 3种系统的比较 34

3.2.3 实数 35

3.3 存储文本 41

3.3.1 代码 41

3.4 存储音频 42

3.4.1 采样 42

3.4.2 量化 42

3.4.3 编码 43

3.4.4 声音编码标准 43

3.5 存储图像 43

3.5.1 光栅图 43

3.5.2 矢量图 44

3.6 存储视频 45

3.7 章末材料 45

3.8 练习 47

第4章 数据运算 50

4.1 逻辑运算 50

4.1.1 位层次上的逻辑运算 50

4.1.2 模式层次上的逻辑运算 52

4.2 移位运算 54

4.2.1 逻辑移位运算 54

4.3 算术运算 56

4.3.1 整数的算术运算 56

4.3.2 实数的算术运算 58

4.4 章末材料 58

4.5 练习 59

第5章 计算机组成 61

5.1 引言 61

5.2 中央处理单元 61

5.2.1 算术逻辑单元 62

5.2.2 寄存器 62

5.2.3 控制单元 63

5.3 主存储器 63

5.3.1 地址空间 63

5.3.2 存储器的类型 64

5.3.3 存储器的层次结构 65

5.3.4 高速缓冲存储器 65

5.4 输入/输出子系统 66

5.4.1 非存储设备 66

5.4.2 存储设备 66

5.5 子系统的互连 70

5.5.1 CPU和存储器的连接 70

5.5.2 I/O设备的连接 71

5.5.3 输入/输出设备的寻址 73

5.6 程序执行 74

5.6.1 机器周期 74

5.6.2 输入/输出操作 75

5.7 不同的体系结构 77

5.7.1 CISC 77

5.7.2 RISC 77

5.7.3 流水线 77

5.7.4 并行处理 78

5.8 简单计算机 79

5.8.1 CPU 80

5.8.2 主存 80

5.8.3 输入/输出子系统 80

5.8.4 指令集 81

5.8.5 处理指令 82

5.8.6 存储程序和数据 83

5.8.7 指令周期 83

5.8.8 另一个例子 85

5.8.9 可重用性 87

5.9 章末材料 87

5.10 练习 89

第6章 计算机网络和因特网 92

6.1 引言 92

6.1.1 网络 92

6.1.2 因特网 93

6.1.3 硬件和软件 95

6.1.4 协议分层 95

6.1.5 TCP/IP协议族 97

6.2 应用层 99

6.2.1 提供服务 100

6.2.2 应用层模式 100

6.2.3 标准客户机-服务器应用 101

6.2.4 文件传输协议 103

6.2.5 电子邮件 104

6.2.6 TELNET 105

6.2.7 安全外壳 106

6.2.8 域名系统 106

6.2.9 端到端模式 108

6.3 传输层 109

6.3.1 传输层服务 110

6.3.2 传输层协议 111

6.4 网络层 111

6.4.1 网络层提供的服务 112

6.4.2 网络层协议 114

6.5 数据链路层 116

6.5.1 节点和链接 117

6.5.2 局域网 118

6.5.3 广域网 120

6.6 物理层 122

6.6.1 数据和信号 122

6.6.2 数字化传输 124

6.6.3 模拟传输 124

6.7 传输介质 125

6.7.1 导向介质 125

6.7.2 非导向介质:无线 126

6.8 章末材料 127

6.9 练习 129

第7章 操作系统 132

7.1 引言 132

7.1.1 操作系统 132

7.1.2 自举过程 133

7.2 演化 133

7.2.1 批处理系统 133

7.2.2 分时系统 133

7.2.3 个人系统 134

7.2.4 并行系统 134

7.2.5 分布式系统 134

7.2.6 实时系统 134

7.3 组成部分 134

7.3.1 用户界面 135

7.3.2 内存管理器 135

7.3.3 进程管理器 138

7.3.4 文件管理器 142

7.4 主流操作系统 142

7.4.1 UNIX 143

7.4.2 Linux 144

7.4.3 Windows 144

7.5 章末材料 145

7.6 练习 147

第8章 算法 149

8.1 概念 149

8.1.1 非正式定义 149

8.1.2 示例 149

8.1.3 定义动作 151

8.1.4 细化 151

8.1.5 泛化 152

8.2 三种结构 152

8.2.1 顺序 152

8.2.2 判断 152

8.2.3 循环 152

8.3 算法的表示 153

8.3.1 UML 153

8.3.2 伪代码 153

8.4 更正式的定义 155

8.4.1 定义良好 156

8.4.2 明确步骤 156

8.4.3 产生结果 156

8.4.4 在有限的时间内终止 156

8.5 基本算法 156

8.5.1 求和 156

8.5.2 乘积 157

8.5.3 最大和最小 157

8.5.4 排序 157

8.5.5 查找 161

8.6 子算法 163

8.6.1 结构图 163

8.7 递归 164

8.7.1 迭代的定义 164

8.7.2 递归的定义 164

8.8 章末材料 166

8.9 练习 167

第9章 程序设计语言 170

9.1 演化 170

9.1.1 机器语言 170

9.1.2 汇编语言 171

9.1.3 高级语言 171

9.2 翻译 172

9.2.1 编译 172

9.2.2 解释 172

9.2.3 翻译过程 173

9.3 编程模式 173

9.3.1 过程式模式 174

9.3.2 面向对象模式 176

9.3.3 函数式模式 177

9.3.4 声明式模式 179

9.4 共同概念 179

9.4.1 标识符 179

9.4.2 数据类型 179

9.4.3 变量 180

9.4.4 字面值 180

9.4.5 常量 181

9.4.6 输入和输出 181

9.4.7 表达式 181

9.4.8 语句 182

9.4.9 子程序 184

9.5 章末材料 187

9.6 练习 188

第10章 软件工程 191

10.1 软件生命周期 191

10.1.1 开发过程模型 191

10.2 分析阶段 192

10.2.1 面向过程分析 192

10.2.2 面向对象分析 193

10.3 设计阶段 194

10.3.1 面向过程设计 194

10.3.2 面向对象设计 195

10.4 实现阶段 195

10.4.1 语言的选择 196

10.4.2 软件质量 196

10.5 测试阶段 197

10.5.1 白盒测试 197

10.5.2 黑盒测试 199

10.6 文档 199

10.6.1 用户文档 199

10.6.2 系统文档 199

10.6.3 技术文档 200

10.7 章末材料 200

10.8 练习 201

第11章 数据结构 203

11.1 数组 203

11.1.1 数组名与元素名 205

11.1.2 多维数组 205

11.1.3 存储配置 205

11.1.4 数组操作 206

11.1.5 字符串 207

11.1.6 数组的应用 207

11.2 记录 208

11.2.1 记录名与域名 208

11.2.2 记录与数组的比较 208

11.2.3 记录数组 209

11.2.4 数组与记录数组 209

11.3 链表 209

11.3.1 数组与链表 210

11.3.2 链表名与节点名 211

11.3.3 链表操作 211

11.3.4 链表的应用 218

11.4 章末材料 218

11.5 练习 219

第12章 抽象数据类型 221

12.1 背景 221

12.1.1 简单抽象数据类型 221

12.1.2 复杂抽象数据类型 222

12.1.3 定义 222

12.1.4 抽象数据类型的模型 222

12.1.5 实现 223

12.2 栈 223

12.2.1 栈的操作 223

12.2.2 栈的抽象数据类型 224

12.2.3 栈的应用 224

12.2.4 栈的实现 226

12.3 队列 227

12.3.1 队列的操作 227

12.3.2 队列的抽象数据类型 228

12.3.3 队列的应用 229

12.3.4 队列的实现 230

12.4 广义线性表 230

12.4.1 广义线性表的操作 231

12.4.2 广义线性表的抽象数据类型 232

12.4.3 广义线性表的应用 233

12.4.4 广义线性表的实现 234

12.5 树 234

12.5.1 二叉树 235

12.5.2 二叉树的操作 236

12.5.3 二叉树的应用 237

12.5.4 二叉树的实现 238

12.5.5 二叉搜索树 238

12.6 图 240

12.7 章末材料 240

12.8 练习 242

第13章 文件结构 244

13.1 引言 244

13.1.1 顺序存取 244

13.1.2 随机存取 244

13.2 顺序文件 245

13.2.1 更新顺序文件 245

13.3 索引文件 246

13.3.1 倒排文件 247

13.4 散列文件 247

13.4.1 散列方法 248

13.4.2 冲突 249

13.5 目录 251

13.5.1 UNIX操作系统中的目录 251

13.6 文本文件与二进制文件 252

13.6.1 文本文件 253

13.6.2 二进制文件 253

13.7 章末材料 253

13.8 练习 255

第14章 数据库 257

14.1 引言 257

14.1.1 定义 257

14.1.2 数据库的优点 257

14.1.3 数据库管理系统 258

14.2 数据库体系结构 259

14.2.1 内层 259

14.2.2 概念层 259

14.2.3 外层 259

14.3 数据库模型 259

14.3.1 层次模型 259

14.3.2 网状模型 260

14.3.3 关系模型 260

14.4 关系数据库模型 260

14.4.1 关系 260

14.4.2 关系的操作 261

14.5 数据库设计 265

14.5.1 实体关系模型 266

14.5.2 从E-R图到关系 266

14.5.3 规范化 267

14.6 其他数据库模型 268

14.6.1 分布式数据库 268

14.6.2 面向对象数据库 269

14.7 章末材料 269

14.8 练习 271

第15章 数据压缩 273

15.1 引言 273

15.2 无损压缩方法 273

15.2.1 游程长度编码 274

15.2.2 赫夫曼编码 275

15.2.3 Lempel Ziv编码 276

15.3 有损压缩方法 279

15.3.1 图像压缩:JPEG 280

15.3.2 视频压缩:MPEG 282

15.3.3 音频压缩 283

15.4 章末材料 283

15.5 练习 285

第16章 安全 287

16.1 引言 287

16.1.1 安全目标 287

16.1.2 攻击 288

16.1.3 服务和技术 289

16.2 机密性 289

16.2.1 对称密钥密码术 290

16.2.2 非对称密钥密码术 295

16.3 其他安全服务 299

16.3.1 消息完整性 299

16.3.2 消息验证 300

16.3.3 数字签名 301

16.3.4 实体验证 304

16.3.5 密钥管理 306

16.4 防火墙 309

16.4.1 包过滤防火墙 310

16.4.2 代理防火墙 311

16.5 章末材料 311

16.6 练习 313

第17章 计算理论 316

17.1 简单语言 316

17.1.1 递增语句 316

17.1.2 递减语句 316

17.1.3 循环语句 317

17.1.4 简单语言的威力 317

17.2 图灵机 319

17.2.1 图灵机组成部件 319

17.2.2 对简单语言的模拟 321

17.2.3 邱奇-图灵论题 323

17.3 歌德尔数 324

17.3.1 表示一个程序 324

17.3.2 翻译一个数字 324

17.4 停机问题 325

17.4.1 停机问题是不可解的 325

17.5 问题的复杂度 326

17.5.1 不可解问题 327

17.5.2 可解问题 327

17.6 章末材料 328

17.7 练习 329

第18章 人工智能 331

18.1 引言 331

18.1.1 什么是人工智能 331

18.1.2 人工智能简史 331

18.1.3 图灵测试 332

18.1.4 智能体 332

18.1.5 编程语言 332

18.2 知识表示 332

18.2.1 语义网 333

18.2.2 框架 333

18.2.3 谓词逻辑 334

18.2.4 基于规则的系统 338

18.3 专家系统 339

18.3.1 抽取知识 339

18.3.2 抽取事实 340

18.3.3 体系结构 340

18.4 感知 341

18.4.1 图像处理 341

18.4.2 语言理解 343

18.5 搜索 345

18.5.1 搜索方法 345

18.6 神经网络 348

18.6.1 生物神经元 348

18.6.2 感知器 349

18.6.3 多层网络 350

18.6.4 应用 350

18.7 章末材料 350

18.8 练习 351

第19章 社交媒体导论 354

19.1 引言 354

19.2 Facebook 355

19.2.1 梗概 355

19.2.2 网页 356

19.2.3 成员 357

19.2.4 获取Facebook的服务 358

19.2.5 朋友 358

19.2.6 交换信息 359

19.3 Twitter 360

19.3.1 梗概 360

19.3.2 页面 361

19.3.3 成员 361

19.3.4 获取Twitter的服务 362

19.3.5 跟随以及被跟随 362

19.3.6 发送推文 363

19.3.7 接收推文 364

19.4 章末材料 364

19.5 练习 365

第20章 社会和道德问题 366

20.1 道德原则 366

20.1.1 道德规则 366

20.1.2 使用 366

20.1.3 社会契约 366

20.2 知识产权 367

20.2.1 知识产权的类型 367

20.3 隐私 368

20.4 计算机犯罪 368

20.4.1 攻击的类型 368

20.4.2 动机 369

20.4.3 攻击保护 369

20.4.4 花费 369

20.5 黑客 369

20.6 章末材料 369

20.7 练习 370

附录A Unicode 372

附录B UML 376

附录C 伪代码 384

附录D 结构图 387

附录E 布尔代数和逻辑电路 390

附录F C、C++和Java程序示例 403

附录G 数学知识 410

附录H 错误检测和纠正 417

附录I 符号加绝对值整数的加减法 428

附录J 实数的加减法 431

缩略语 434

术语表 436

......(更多)

读书文摘

图灵机可以解决现代程序能解决的任何问题。

这种技术使用一束光在进入密度较低介质时既不反射也不折射的特性。……

......(更多)

猜你喜欢

点击查看