計算機科學概論(原書第7版) Computer Science Illuminated, 7/e (Paperback)

Nell Dale , John Lewis

買這商品的人也買了...

相關主題

商品描述

本書由當今該領域備受讚譽且經驗豐富的教育家Nell Dale和John Lewis共同編寫,
全面介紹計算機科學領域的基礎知識,為廣大學生勾勒了一幅生動的畫卷。
就整體而言,全書內容翔實、覆蓋面廣,旨在向讀者展示計算機科學的全貌;
從細節上看,本書層次清晰、描述生動,基於計算機系統的洋蔥式結構,
分別介紹信息層、硬件層、程序設計層、操作系統層、
應用程序層和通信層,涉及計算機科學的各個層面。
本書貫穿了計算機系統的各個方面,非常適合作為計算機專業的計算機導論課程教材,
為後續專業課程打下堅實的基礎;同時還適合作為非計算機專業的計算機總論課程教材,
提供計算機系統全面完整的介紹。

作者簡介

Nell Dale

計算機科學領域廣受推崇的教育家。
在得克薩斯大學奧斯汀分校執教的二十多年中,
她編寫了四十多本計算機科學方面的本科生教材。
她於得克薩斯大學奧斯汀分校獲得了碩士學位和計算機科學博士學位。
由於在計算機科學領域做出了卓越貢獻,
她於1996年獲得了ACM SIGCSE計算機科學教育傑出貢獻獎,
於2001年獲得了ACM Karl Karlston傑出教師獎。
她於2010年被選為ACM會士。

John Lewis

計算機科學領域的教育家和作家。
他編寫的Java軟件及程序設計教材十分暢銷。
他於弗吉尼亞理工大學獲得博士學位,
並曾在維拉諾瓦大學計算機科學系執教14年,
現任教於弗吉尼亞理工大學。
執教期間,他獲獎無數,包括大學卓越教學獎和Goff傑出教學獎。
他的研究興趣包括面向對象技術、多媒體和軟件工程。

目錄大綱

出版者的話
譯者序
前言
第一部分基礎篇
第1章全景圖2
1.1計算系統2
1.1.1計算系統的分層3
1.1.2抽象4
1.2計算的歷史6
1.2.1計算硬件簡史6
1.2. 2計算軟件簡史13
1.2.3預言17
1.3計算工具與計算學科17
小結19
道德問題:數字鴻溝19
關鍵術語20
練習20
思考題21

第二部分信息層
第2章二進制數值與記數係統24
2.1數字與計算24
2.2位置記數法25
2.2.1二進制、八進制和十六進制26
2.2.2其他記數係統中的運算29
2.2.3以2的冪為基數的記數係統30
2.2.4將十進制數轉換成其他數制的數31
2.2.5二進制數值與計算機32
小結33
道德問題:FISA法庭34
關鍵術語34
練習34
思考題36

第3章數據表示法37
3.1數據與計算機37
3.1.1模擬數據與數字數據38
3.1.2二進製表示法40
3.2數字數據表示法41
3.2.1負數表示法41
3.2.2實數表示法44
3.3文本表示法46
3.3.1 ASCII字符集47
3.3. 2 Unicode字符集48
3.3.3文本壓縮48
3.4音頻數據表示法52
3.4.1音頻格式53
3.4.2 MP3音頻格式54
3.5圖像與圖形表示法54
3.5.1顏色表示法54
3.5.2數字化圖像與圖形55
3.5.3圖形的矢量表示法57
3.6視頻表示法57
小結58
道德問題:Snowden事件的影響58
關鍵術語59
練習59
思考題61

第三部分硬件層
第4章門和電路64
4.1計算機和電學64
4.2門66
4.2.1非門66
4.2.2與門67
4.2.3或門68
4.2.4異或門68
4.2.5與非門和或非門68
4.2.6門處理回顧69
4.2.7具有更多輸入的門70
4.3門的構造70
4.4電路72
4.4.1組合電路72
4.4.2加法器75
4.4.3多路復用器76
4.5存儲器電路77
4.6集成電路78
4.7 CPU芯片78
小結79
道德問題:道德規範79
關鍵術語80
練習80
思考題82

第5章計算部件83
5.1獨立的計算機部件83
5.2存儲程序的概念86
5.2.1馮·諾伊曼體系結構88
5.2.2讀取–執行週期91
5.2.3 RAM和ROM 93
5.2.4二級存儲設備93
5.2.5觸摸屏97
5.3嵌入式系統98
5.4並行體系結構99
5.4.1並行計算99
5.4.2並行硬件分類100
小結101
道德問題:隱私是否已經是過去時?101
關鍵術語102
練習102
思考題103

第四部分程序設計層
第6章低級程序設計語言與偽代碼106
6.1計算機操作106
6.2機器語言107
6.2.1 Pep/9:一台虛擬機107
6.2.2 Pep/9的輸入/輸出112
6.3一個程序實例112
6.3.1 Pep/9模擬器113
6.3.2另一個機器語言實例114
6.4彙編語言115
6.4.1 Pep/9彙編語言115
6.4.2數字數據、分支、標籤117
6.4.3彙編語言中的循環120
6.5表達算法121
6.5.1偽代碼的功能121
6.5. 2執行偽代碼算法124
6.5.3寫偽代碼算法126
6.5.4翻譯偽代碼算法127
6.6測試129
小結130
道德問題:軟件盜版131
關鍵術語131
練習131
思考題133

第7章問題求解與算法設計134
7.1如何解決問題134
7.1.1提出問題135
7.1.2尋找熟悉的情況136
7.1.3分治法137
7.1.4算法137
7.1.5計算機問題求解過程137
7.1.6方法總結139
7.1.7測試算法139
7.2有簡單變量的算法140
7.2.1帶有選擇的算法140
7.2.2帶有循環的算法140
7.3複雜變量143
7.3.1數組144
7.3.2記錄144
7.4搜索算法145
7.4 .1順序搜索145
7.4.2有序數組中的順序搜索146
7.4.3二分檢索147
7.5排序148
7.5.1選擇排序148
7.5.2冒泡排序150
7.5.3插入排序151
7.6遞歸算法152
7.6. 1子程序語句153
7.6.2遞歸階乘153
7.6.3遞歸二分檢索154
7.6.4快速排序154
7.7幾個重要思想157
7.7.1信息隱蔽157
7.7.2抽象157
7.7.3事物命名158
7.7.4測試158
小結158
道德問題:開源軟件159
關鍵術語160
練習160
思考題162

第8章抽像數據類型與子程序163
8.1抽像數據類型163
8.2棧164
8.3隊列164
8.4列表165
8.5樹167
8.5.1二叉樹167
8.5.2二叉檢索樹169
8.5.3其他操作173
8.6圖173
8.6.1創建圖174
8.6.2圖算法175
8.7子程序179
8.7.1參數傳遞180
8.7.2值參與引用參數181
小結183
道德問題:工作場所監視183
關鍵術語184
練習184
思考題187

第9章面向對象設計與高級程序設計語言188
9.1面向對象方法188
9.1.1面向對象189
9.1.2設計方法189
9.1.3示例191
9.2翻譯過程194
9.2.1編譯器194
9.2.2解釋器195
9.3程序設計語言範型196
9.3.1命令式範型197
9.3.2聲明式範型197
9.4高級程序設計語言的功能性199
9.4.1布爾表達式199
9.4.2數據歸類200
9.4.3輸入/輸出結構203
9.4.4控制結構204
9.5面向對象語言的功能性208
9.5.1封裝209
9.5.2類209
9.5.3繼承210
9.5.4多態211
9.6過程設計與面向對象設計的區別211
小結212
道德問題:惡作劇與詐騙213
關鍵術語214
練習214
思考題216

第五部分操作系統層
第10章操作系統218
10.1操作系統的角色218
10.1.1內存、進程與CPU管理220
10.1.2批處理220
10.1.3分時221
10.1.4其他OS要素222
10.2內存管理223
10.2.1單塊內存管理224
10.2.2分區內存管理225
10.2.3頁式內存管理227
10.3進程管理228
10.3.1進程狀態229
10.3.2進程控制塊229
10.4 CPU調度230
10.4.1先到先服務231
10.4.2最短作業優先231
10.4.3輪詢法232
小結233
道德問題:醫療隱私——健康保險攜帶與責任法案(HIPAA) 234
關鍵術語234
練習235
思考題237

第11章文件系統和目錄238
11.1文件系統238
11.1.1文本文件和二進製文件239
11.1.2文件類型239
11.1.3文件操作240
11.1.4文件訪問241
11.1.5文件保護242
11.2目錄243
11.2.1目錄樹244
11.2.2路徑名246
11.3磁盤調度247
11.3.1先到先服務磁盤調度法248
11.3.2最短尋道時間優先磁盤調度法249
11.3.3 SCAN磁盤調度法249
小結251
道德問題:選擇加入和選擇退出251
關鍵術語252
練習252
思考題254

第六部分應用層
第12章信息系統256
12.1信息管理256
12.2電子製表軟件257
12.2.1電子數據表公式259
12.2.2循環引用262
12.2.3電子數據表分析263
12.3數據庫管理系統264
12.3.1關係模型265
12.3.2關係267
12.3.3結構化查詢語言268
12.3.4數據庫設計270
12.4電子商務270
12.5大數據271
小結272
道德問題:政治與網絡273
關鍵術語274
練習274
思考題276

第13章人工智能277
13.1思維機277
13.1.1圖靈測試278
13.1.2 AI問題的各個方面279
13.2知識表示279
13.2.1語義網280
13.2.2檢索樹282
13.3專家系統284
13.4神經網絡286
13.4.1生物神經網絡286
13.4.2人工神經網絡287
13.5自然語言處理288
13.5.1語音合成289
13.5.2語音識別290
13.5.3自然語言理解291
13.6機器人學292
13.6.1感知–規劃–執行範型292
13.6.2包孕體系結構293
13.6.3物理部件294
小結295
道德問題:首次公開發行296
關鍵術語297
練習297
思考題298

第14章模擬、圖形學、遊戲和其他應用299
14.1什麼是模擬299
14.1.1複雜系統299
14.1.2模型300
14.1.3構造模型300
14.2特殊模型301
14.2.1排隊系統301
14.2.2氣象模型303
14.2.3計算生物學307
14.2.4其他模型307
14.2.5必要的計算能力307
14.3計算機圖形學308
14.3.1光的工作原理309
14.3.2物體形狀310
14.3.3光模擬310
14.3.4複雜對象的建模311
14.3.5讓物體動起來314
14.4遊戲315
14.4.1遊戲的歷史316
14.4.2創建虛擬世界316
14.4.3遊戲設計與開發317
14.4.4遊戲編程318
小結319
道德問題:遊戲成癮319
關鍵術語320
練習320
思考題321
第七部分通信層

第15章網絡324
15.1連網324
15.1.1網絡的類型325
15.1.2 Internet連接327
15.1.3包交換330
15.2開放式系統與協議331
15.2.1開放式系統331
15.2.2網絡協議331
15.2.3 TCP/IP 332
15.2.4高層協議333
15.2.5 MIME類型334
15.2.6防火牆334
15.3網絡地址335
15.3.1域名系統336
15.3.2誰控制因特網338
15.4雲計算339
15.5區塊鏈340
小結341
道德問題:社交網絡的影響341
關鍵術語342
練習343
思考題344

第16章萬維網345
16.1 Web簡介345
16.1.1搜索引擎346
16.1.2即時消息347
16.1.3博客348
16.1.4 cookie 348
16.1.5 Web分析349
16.2 HTML和CSS 350
16.2.1基本的HTML元素352
16.2.2標記的屬性353
16.2.3關於CSS的更多內容353
16.2.4更多HTML5的元素355
16.3交互式網頁356
16.3.1 Java小程序356
16.3.2 Java服務器頁357
16.4 XML 358
16.5社交網絡演化360
小結361
道德問題:賭博與互聯網363
關鍵術語363
練習364
思考題365

第17章計算機安全366
17.1各級安全366
17.2阻止未授權訪問368
17.2.1密碼369
17.2.2驗證碼370
17.2.3指紋分析371
17.3惡意代碼372
17.3.1殺毒軟件373
17.3 .2安全攻擊373
17.4密碼學375
17.5保護你的在線信息377
17.5.1共同的責任379
17.5.2安全與可移動設備379
17.5.3維基解密379
小結381
道德問題:博客和新聞382
關鍵術語383
練習384
思考題385

第八部分總結
第18章計算的限制388
18.1硬件388
18.1.1算術運算的限制388
18.1.2部件的限制393
18.1.3通信的限制394
18.2軟件394
18.2.1軟件的複雜度395
18.2.2當前提高軟件質量的方法395
18.2.3臭名昭著的軟件錯誤399
18.3問題400
18.3.1算法比較400
18.3.2圖靈機405
18.3.3停機問題408
18.3.4算法分類409
小結410
道德問題:Therac-25災難剖析410
關鍵術語411
練習411
思考題413
參考文獻414
索引421