普林斯頓計算機公開課(原書第2版) Understanding the Digital World: What You Need to Know about Computers, the Internet, Privacy, and Security, Second Edition

Brian W.Kernighan 譯 戴開宇

商品描述

從1999年開始,作者在普林斯頓大學開設了一門名為“我們世界中的計算機”的課程(COS 109:Computers in Our World),
這門課向非計算機專業的學生介紹計算機的基本常識,多年來大受學生追捧。
本書就是基於這門課程的講義編寫而成的,
書中不僅解釋了計算機和通信系統的工作原理,還分析了新技術帶來的隱私和安全問題。
第2版的新增章節討論了Python編程、人工智能、機器學習以及大數據等內容。
本書適合所有希望了解數字世界的讀者閱讀,
通過了解技術的工作原理、起源和未來發展趨勢,更好地理解並改變我們身處的世界。

目錄大綱

中文版序
譯者序
前言
引言…… 1
第一部分硬件
第1章什麼是計算機…… 16
1.1 邏輯結構…… 20
1.1.1 處理器…… 21
1.1.2 主存儲器…… 22
1.1.3 二級存儲器…… 24
1.1.4 其他…… 27
1.2 物理結構…… 28
1.3 摩爾定律…… 33
1.4 小結…… 35
第2章比特、字節和信息的表示…… 38
2.1 模擬和數字…… 39
2.2 模數轉換…… 41
2.2.1 圖像的數字化…… 41
2.2.2 聲音的數字化…… 43
2.2.3 電影的數字化…… 47
2.2.4 文本的數字化…… 48
2.3 比特、字節和二進制…… 49
2.3.1 比特…… 50
2.3.2 2的冪和10的冪…… 52
2.3.3 二進制數值…… 52
2.3.4 字節…… 55
2.4 小結…… 58
第3章深入了解處理器…… 60
3.1 玩具計算機…… 61
3.1.1 第一個玩具程序…… 62
3.1.2 第二個玩具程序…… 64
3.1.3 分支指令…… 66
3.1.4 內存中的表示…… 70
3.2 真實的處理器…… 71
3.3 緩存…… 75
3.4 其他類型的計算機…… 77
3.5 小結…… 80
硬件部分小結
第二部分軟件
第4章算法…… 89
4.1 線性算法…… 91
4.2 二分查找…… 94
4.3 排序…… 96
4.4 難題和復雜性…… 102
4.5 小結…… 107
第5章編程與編程語言…… 109
5.1 彙編語言…… 110
5.2 高級語言…… 112
5.3 軟件開發…… 123
5.3.1 庫、接口和開發工具包…… 124
5.3.2 bug …… 126
5.4 知識產權…… 130
5.4.1 商業秘密…… 131
5.4.2 商標…… 131
5.4.3 版權…… 131
5.4.4 專利…… 133
5.4.5 許可…… 135
5.5 標準…… 138
5.6 開源軟件…… 140
5.7 小結…… 143
第6章軟件系統…… 144
6.1 操作系統…… 145
6.2 操作系統是如何工作的…… 154
6.2.1 系統調用…… 155
6.2.2 設備驅動程序…… 156
6.3 其他操作系統…… 158
6.4 文件系統…… 159
6.4.1 二級存儲文件系統…… 161
6.4.2 刪除文件…… 165
6.4.3 其他文件系統…… 167
6.5 應用程序…… 170
6.6 軟件層次…… 173
6.7 小結…… 176
第7章學習編程…… 178
7.1 編程語言的基本概念…… 180
7.2 第一個JavaScript程序…… 182
7.3 第二個JavaScript程序…… 184
7.4 循環和條件…… 186
7.5 JavaScript庫和接口…… 190
7.6 JavaScript是如何工作的…… 192
7.7 第一個Python程序…… 193
7.8 第二個Python程序…… 195
7.9 Python庫和接口…… 197
7.10 Python是如何工作的…… 201
7.11 小結…… 202
軟件部分小結
第三部分通信
第8章網絡…… 215
8.1 電話與調製解調器…… 216
8.2 有線電視和DSL …… 217
8.3 局域網和以太網…… 220
8.4 無線網絡…… 224
8.5 手機…… 227
8.6 帶寬…… 232
8.7 壓縮…… 233
8.8 錯誤檢測與糾正…… 237
8.9 小結…… 239
第9章互聯網…… 241
9.1 互聯網概述…… 243
9.2 域名和地址…… 247
9.2.1 域名系統…… 249
9.2.2 IP地址…… 250
9.2.3 根服務器…… 252
9.2.4 註冊你自己的域名…… 253
9.3 路由…… 254
9.4 TCP/IP …… 257
9.4.1 互聯網協議…… 259
9.4.2 傳輸控制協議…… 260
9.5 高層協議…… 263
9.5.1 Telnet和SSH協議:遠程登錄…… 264
9.5.2 SMTP:簡單郵件傳輸協議…… 265
9.5.3 文件共享和點對點協議…… 268
9.6 互聯網上的版權問題…… 270
9.7 物聯網…… 273
9.8 小結…… 275
第10章萬維網…… 279
10.1 萬維網是如何工作的…… 281
10.2 HTML …… 283
10.3 cookie …… 287
10.4 動態網頁…… 289
10.5 網頁之外的動態內容…… 292
10.6 病毒、蠕蟲和木馬…… 293
10.7 Web安全…… 297
10.7.1 對客戶端的攻擊…… 297
10.7.2 對服務器的攻擊…… 305
10.7.3 對傳輸中信息的攻擊…… 308
10.8 自我防禦…… 309
10.9 小結…… 314
第四部分數據
第11章數據和信息…… 319
11.1 搜索…… 321
11.2 跟踪…… 327
11.3 社交網絡…… 338
11.4 數據挖掘和聚合…… 343
11.5 雲計算…… 347
11.6 小結…… 354
第12章人工智能和機器學習…… 356
12.1 歷史背景……