下载地址

    内容简介 · · · · · ·

    《计算机科学概论》由两位知名的计算机科学教育家编写,全面而细致地介绍了计算机科学的各个方面。书中,计算系统的每个分层都以剖析,从住处层开始,历经硬件层、程序设计层、操作系统层、应用程序层的通信层,最后讨论了计算的限制。此外,正文中穿插了大量的人物传记、历史注释、道德问题和最新的技术发展信息,有助于你进一步了解计算机科学。每章后面都附带有大量的练习,可以帮助你即时重温并掌握这一章所述的内容。

    《计算机科学概论》是计算和计算机科学引论课程的理想教材,对于想要了解计算机科学概况的非专业人员,《计算机科学概论》也是一个很好的选择。

    目录 · · · · · ·

    译者序

    前言

    第一部分 基 础 篇

    第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