普林斯顿计算机公开课

普林斯顿计算机公开课 pdf epub mobi txt 电子书 下载 2026

出版者:机械工业出版社
作者:Brian W. Kernighan
出品人:
页数:0
译者:刘艺
出版时间:2018-4
价格:69.00
装帧:平装
isbn号码:9787111593102
丛书系列:
图书标签:
  • 计算机
  • 计算机科学
  • 科普
  • IT
  • 网络
  • 网络生活
  • 计算机科普
  • akb
  • 计算机科学
  • 编程
  • 算法
  • 数据结构
  • 普林斯顿
  • 公开课
  • 计算机基础
  • C++
  • Java
  • 理论与实践
想要找书就要到 小美书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

从1999年开始,作者在普林斯顿大学开设了一门名叫“我们世界中的计算机”的课程(COS 109:Computers in Our World),这门课是向非计算机专业的学生介绍计算机基本常识的,多年来大受学生追捧。除了向学生讲解计算机理论知识,这门课还有相应的实验课——学生可以试着用流行的编程语言写几行代码,大家一起讨论苹果、谷歌和微软的技术如何渗入日常生活的每个角落。本书就是以这门课程的讲义为主要内容重新编写而成,它解释了计算机和通信系统的工作原理,并讨论了新技术带来的社会、政治和法律问题。

作者简介

Brian W. Kernighan

世界顶尖计算机科学家,曾为贝尔实验室计算科学研究中心高级研究人员,现为普林斯顿大学教授。他是AWK语言和AMPL语言的发明人,还参与过UNIX和许多其他系统的开发,同时出版了The C Programming Language、The Practice of Programming、The Elements of Programming Style等在计算机领域影响深远的著作。

Kernighan主张所有人都应该了解计算机,在他心目中,此书相当于“写给未来总统的计算机读物”,是新一代公民必读之作。本书中讲解的内容甚至会影响我们在微博和社区上的活动,以及使用智能手机的方式。

目录信息

译者序
前言
引言
第一部分 硬件
第1章 计算机里有什么 …… 6
1.1 逻辑结构 …… 9
1.1.1 CPU …… 10
1.1.2 RAM …… 12
1.1.3 硬盘和其他二级存储器 …… 13
1.1.4 其他 …… 16
1.2 物理结构 …… 17
1.3 摩尔定律 …… 22
1.4 小结 …… 24
第2章 位、字节和信息的表示 …… 25
2.1 模拟和数字 …… 26
2.2 模数转换 …… 28
2.3 位、字节和二进制 …… 36
2.3.1 位 …… 36
2.3.2 2的幂和10的幂 …… 38
2.3.3 二进制数 …… 39
2.3.4 字节 …… 42
2.4 小结 …… 45
第3章 深入CPU …… 47
3.1 玩具计算机 …… 48
3.1.1 第一个玩具程序 …… 49
3.1.2 第二个玩具程序 …… 51
3.1.3 跳转指令 …… 53
3.1.4 RAM中的表示 …… 56
3.2 真实的CPU …… 58
3.3 缓存 …… 61
3.4 其他种类的计算机 …… 63
3.5 小结 …… 66
硬件总结 …… 68
第二部分 软件
第4章 算法 …… 74
4.1 线性算法 …… 76
4.2 二分查找 …… 78
4.3 排序 …… 81
4.4 难题与复杂性 …… 87
4.5 小结 …… 90
第5章 编程与编程语言 …… 93
5.1 汇编语言 …… 94
5.2 高级语言 …… 96
5.3 软件开发 …… 105
5.3.1 库、接口和开发包 …… 107
5.3.2 缺陷 …… 109
5.4 知识产权 …… 112
5.4.1 商业秘密 …… 113
5.4.2 版权 …… 113
5.4.3 专利 …… 115
5.4.4 许可 …… 117
5.5 标准 …… 120
5.6 开源 …… 121
5.7 小结 …… 124
第6章 软件系统 …… 126
6.1 操作系统 …… 127
6.2 操作系统的工作原理 …… 134
6.2.1 系统调用 …… 136
6.2.2 设备驱动程序 …… 136
6.3 其他操作系统 …… 138
6.4 文件系统 …… 139
6.4.1 磁盘文件系统 …… 141
6.4.2 清除文件 …… 144
6.4.3 其他文件系统 …… 147
6.5 应用程序 …… 148
6.6 软件的层次 …… 152
6.7 小结 …… 155
第7章 学习编程 …… 157
7.1 编程语言的概念 …… 159
7.2 第1个JavaScript范例 …… 160
7.3 第2个JavaScript范例 …… 162
7.4 循环语句 …… 164
7.5 条件语句 …… 166
7.6 库和接口 …… 168
7.7 JavaScript的工作原理 …… 170
7.8 小结 …… 171
软件总结 …… 173
第三部分 通信
第8章 网络 …… 184
8.1 电话与调制解调器 …… 185
8.2 电缆与DSL …… 186
8.3 局域网与以太网 …… 189
8.4 无线 …… 192
8.5 手机 …… 195
8.6 带宽 …… 200
8.7 压缩 …… 202
8.8 错误检测与纠错 …… 205
8.9 小结 …… 207
第9章 因特网 …… 209
9.1 因特网概述 …… 211
9.2 域名与地址 …… 215
9.2.1 域名系统 …… 216
9.2.2 IP地址 …… 218
9.2.3 根服务器 …… 219
9.2.4 注册自己的域名 …… 221
9.3 路由 …… 222
9.4 TCP/IP …… 224
9.4.1 IP——因特网协议 …… 226
9.4.2 TCP——传输控制协议 …… 227
9.5 高层协议 …… 229
9.5.1 Tel与SSH——远程登录 …… 231
9.5.2 SMTP——简单邮件传输协议 …… 232
9.5.3 文件共享与点对点协议 …… 234
9.6 因特网上的版权 …… 236
9.7 物联网 …… 239
9.8 小结 …… 240
第10章 万维网 …… 244
10.1 万维网的工作原理 …… 246
10.2 HTML …… 248
10.3 cookie …… 251
10.4 网页上的动态内容 …… 254
10.5 其他地方的动态内容 …… 256
10.6 病毒、蠕虫和特洛伊木马 …… 258
10.7 网络安全 …… 261
10.7.1 攻击客户机 …… 262
10.7.2 攻击服务器 …… 268
10.7.3 攻击传输中的信息 …… 270
10.8 自我防御 …… 271
10.9 小结 …… 275
第11章 数据与信息 …… 277
11.1 搜索 …… 278
11.2 跟踪 …… 285
11.3 社交网络 …… 294
11.4 数据挖掘与聚合 …… 298
11.5 云计算 …… 302
11.6 小结 …… 309
第12章 隐私与安全 …… 311
12.1 加密 …… 312
12.1.1 密钥加密 …… 315
12.1.2 公钥加密 …… 317
12.2 匿名 …… 323
12.2.1 Tor与Tor浏览器 …… 324
12.2.2 比特币 …… 329
12.3 小结 …… 331
第13章 结束语 …… 335
注释 …… 341
术语表 …… 357
· · · · · · (收起)

读后感

评分

评分

《世界是数字的》是世界顶尖计算机科学家Brian W.Kernighan写的一本计算机科普类读物,简明扼要但又深入全面地解释了计算机和通信系统背后的秘密,适合计算机初学者和非计算机专业的人读。这真的是一本好书。对于一个计算机已经学了N年的专业人士来说,这本书也许简单了点,不...  

评分

业余选手吧,不是计算机专业出身的,如果想从事计算机方面的工作,或者对计算机有兴趣的人,都可以推荐去看一下。 写得都比较的基础,但是,都从原理开始讲,类似数据是怎么存储,cpu是怎么工作的,编程的原理,算法处理等等。。。。 现在在看第二遍,对自己感觉理解不够的地方...  

评分

《世界是数字的》是世界顶尖计算机科学家Brian W.Kernighan写的一本计算机科普类读物,简明扼要但又深入全面地解释了计算机和通信系统背后的秘密,适合计算机初学者和非计算机专业的人读。这真的是一本好书。对于一个计算机已经学了N年的专业人士来说,这本书也许简单了点,不...  

评分

Kernighan:我在1964年进普林斯顿大学研究生院的时候,还没有一个单独的计算机科学系,只是在电气工程系有少数教授对计算机很感兴趣。所以,那个时候计算机是个全新的领域,大多数人包括教员对它都不很熟悉。这也使得工作很有意思,因为什么都是新的,做什么都有可能出点成就。...  

用户评价

评分

这本书的语言风格真是太对我胃口了,那种深入浅出,又不失严谨的叙述方式,读起来一点都不觉得枯燥。作者似乎非常懂得如何将那些看似高深的计算机科学概念,用日常生活中都能理解的例子来阐释。我记得有一次读到关于算法复杂度的章节,原本以为会是一堆密密麻麻的数学公式把我劝退,结果作者竟然用“打包行李”和“寻找钥匙”这种场景来比喻,一下子就明白了时间复杂度和空间复杂度的权衡。这种教学上的匠心独运,使得即便是像我这种半路出家、基础不太扎实的人,也能跟上节奏。更让我惊喜的是,它并不只是停留在理论层面,而是非常注重实践的指导性。书中穿插了大量的代码示例和小的编程挑战,让你在阅读的同时就能动手实践,巩固理解。那种“学以致用”的即时反馈感,是很多其他教材无法比拟的。读完一个模块,总有一种“原来如此,我好像真的学会了一点东西”的充实感,而不是单纯地吸收了信息。对于想系统梳理计算机基础知识,又怕被传统教科书吓跑的读者来说,这绝对是一剂良药。

评分

我作为一个对硬件层面一直感到迷茫的开发者,这本书在“计算机组成与结构”这部分给我的震撼是无与伦比的。以往我看过的资料,要么过于偏向汇编指令的死记硬背,要么直接跳到高级语言的抽象层面,中间那一块“机器如何思考”的黑箱总是无法打开。而这本书,它用一种近乎诗意的语言,描绘了CPU内部流水线的工作原理,以及缓存层次结构如何巧妙地欺骗了程序的局部性原理,从而提升了整体运行效率。作者对于CPU周期和指令周期的讲解,细致到让人仿佛能“听见”晶体管的开关声。更关键的是,它将这些微观的硬件知识,与我们日常编写的高级代码性能优化巧妙地联系起来。比如,它解释了为什么在某些情况下,改变数组的访问顺序能带来数十倍的性能提升,这背后的原因竟然是L1缓存的命中率。这种能打通软硬件两层壁垒的深度,让我对未来调试和优化代码时能有一个全新的、更底层的视角。

评分

这本书的魅力还在于它对计算机科学思想的深刻洞察,它不仅仅是技术手册,更像是一本关于“计算思维”的哲学导论。作者在讲解数据结构时,并不只是展示数组、链表和树的定义,而是深入探讨了“信息如何组织才能最高效地被检索和修改”这个核心问题。它探讨了二叉搜索树在理想情况下的优雅与在极端情况下的脆弱,这引申出了平衡树设计的必要性。这种对“为什么是这样,而不是那样”的追问,让学习过程充满了思辨的乐趣。阅读过程中,我经常会停下来,思考作者提出的每一种设计范式背后的权衡取舍——时间和空间的博弈,精确性和近似性的选择。它教会我的,是如何以一种批判性的眼光去看待现有的技术方案,而不是全盘接受。这种对计算本质的探讨,让学习不再是简单的技能获取,而是一次思维方式的重塑。

评分

这本书的排版和图示设计,简直是为现代学习者量身定制的。首先,页边距的留白非常恰当,使得眼睛在阅读长篇论述时不会感到压迫,阅读体验极其舒适。其次,那些复杂的概念图,如网络协议栈的七层结构,或者编译器的词法分析流程图,都采用了极其简洁而富有信息量的图形化表示。它们不是那种堆砌细节的“信息过载”图表,而是提炼出了最核心的关系和数据流向。我尤其欣赏作者在引用和注释上的处理方式,它们被巧妙地放置在不干扰主干阅读的位置,但需要深入了解时又触手可及。这使得我可以根据自己的节奏控制学习的深度。对于我这种习惯在深度阅读中做大量笔记的人来说,这本书的纸张质量和装帧也相当出色,随便用什么笔做标记都不会洇墨,这让我的学习过程成了一种享受,而不是对工具的妥协。

评分

这本书的结构编排简直是一门艺术品,逻辑链条清晰得令人发指。它并非简单地罗列知识点,而是构建了一个宏大而有机的知识体系。从最底层的二进制表示、逻辑门开始,稳步向上构建到操作系统、网络协议的宏观图景。这种层层递进的设计,让人能够清晰地看到各个计算机科学分支之间的相互联系和依赖关系。我特别欣赏作者处理“复杂性”的方式。当谈到操作系统内核的设计哲学时,它没有直接抛出复杂的调度算法,而是先回顾了早期单道批处理系统的局限性,通过“问题倒逼解决方案”的叙事手法,让你自然而然地认识到引入多道程序设计的必要性,进而理解进程和线程的概念。这种叙事驱动的教学法,极大地增强了学习的内在动机。每次翻开它,都像是在攀登一座设计精妙的知识阶梯,每一步都有明确的风景,让人充满期待地想知道下一步会看到什么更壮阔的景象。对于想要建立完整计算机知识框架的人来说,这本书的骨架非常健壮可靠。

评分

比较好的一本计算机科普书 为啃“黑皮书”预热的????

评分

很棒,写的很有趣,花了4天时间,过了一遍。书很棒,很通俗!

评分

很棒,写的很有趣,花了4天时间,过了一遍。书很棒,很通俗!

评分

西西弗书店遇见 内容通俗全面,且与时俱进。现在国内大学生计算机公共课都讲些啥呢?

评分

西西弗书店遇见 内容通俗全面,且与时俱进。现在国内大学生计算机公共课都讲些啥呢?

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 book.quotespace.org All Rights Reserved. 小美书屋 版权所有