《計算機科學與技術導論(第2版)》是2020年1月清華大學出版社出版的圖書,作者是張小峰、孫玉娟、李凌雲、王伊蕾、賈世祥。
基本介紹
- 書名:計算機科學與技術導論(第2版)
- 作者:張小峰、孫玉娟、李凌雲、王伊蕾、賈世祥
- 出版社:清華大學出版社
- 出版時間:2020年1月
- 定價:79 元
- ISBN:9787302528630
內容簡介,圖書目錄,
內容簡介
本書按計算機學科知識體系來組織編排,內容包括計算機的產生與發展、計算理論、數據表示與數字邏輯、計算機組成與體系結構、作業系統、高級程式設計語言、數據結構與算法、資料庫技術、軟體工程、計算機網路、計算機科學前沿技術。本書一方面,提供對計算機科學理論的概覽,使讀者能夠對這一學科的基本理論、學科知識體系、方法以及與其他學科之間的關係有所了解;另一方面,介紹計算機科學理論與技術產生、發展的歷史背景知識,讓讀者了解半個世紀以來,計算機科學技術發展所經歷的曲折和困難,激發並增強讀者學習計算機科學的興趣和積極性,為學習後續課程和獻身計算機科學事業奠定方法論和價值觀基礎。
本書可作為高校計算機專業計算機科學與技術導論課程的教材,也可作為電氣信息類專業學生或其他計算機愛好者了解、學習計算機科學知識的參考書。
圖書目錄
第1章計算機的產生與發展1
1.1計算的起源1
1.1.1數的概念及記數方法的誕生1
1.1.2古埃及數學及記數體系2
1.1.3巴比倫數學及記數體系3
1.1.4中國古代記數體系及算術3
1.1.5古印度數學及記數體系6
1.2早期的計算工具6
1.2.1世界最早的計算工具——中國算籌6
1.2.2耐普爾算籌7
1.2.3計算尺8
1.3機械計算機的研製9
1.4電磁計算機11
1.5電子計算機的發明14
1.6電子計算機的發展與套用17
1.6.1電子計算機的發展階段17
1.6.2巨型機的研究與發展20
1.6.3微型機的發展23
科學人物25
參考文獻28第2章計算理論29
2.1計算科學的理論基礎29
2.1.1布爾代數29
2.1.2有窮自動機31
2.1.3圖靈機34
2.2計算科學概述36
2.2.1計算科學的基本問題36
2.2.2計算科學的基本內容37
2.2.3計算科學與其他相關學科的關係39
2.3計算科學中的典型問題39
2.3.1哥尼斯堡七橋問題40
2.3.2四色問題402.3.336軍官問題41
2.3.4哈密頓迴路及旅行推銷員問題42
2.3.5Hanoi塔問題43
2.3.6生產者消費者問題與哲學家共餐問題44
2.4計算機學科的典型方法46
2.4.1抽象方法46
2.4.2構造性方法46
2.4.3公理化方法47
2.4.4形式化方法48
2.4.5原型方法與演化方法48
2.5算法複雜度48
2.5.1算法複雜度的衡量49
2.5.2NP完全理論51
2.6公鑰密碼體制53
2.6.1預備知識55
2.6.2RSA公鑰密碼體制57
知識連結58
科學人物59
閱讀材料62
參考文獻71第3章數據表示與數字邏輯72
3.1數制72
3.1.1進位記數制72
3.1.2不同進位制數的轉換74
3.2編碼79
3.2.1BCD79
3.2.2文本81
3.2.3圖像85
3.2.4聲音86
3.2.5可靠性編碼86
3.3二進制邏輯運算91
3.4二進制算術運算92
3.4.1原碼、反碼及補碼92
3.4.2定點數與浮點數95
3.4.3算術運算97
3.5邏輯門電路100
3.5.1電晶體100
3.5.2非門102
3.5.3與非門102
3.5.4或非門102
3.6組合邏輯電路103
3.6.1邏輯函式103
3.6.2解碼器104
3.6.3多路復用器105
3.6.4加法器105
3.7時序邏輯電路107
3.7.1存儲單元107
3.7.2時序邏輯電路的結構110
3.7.3計數器110
3.7.4記憶體112
知識連結113
閱讀材料114
參考文獻117第4章計算機組成與體系結構118
4.1概述118
4.1.1馮·諾依曼計算機結構118
4.1.2計算機組成與體系結構的差別119
4.1.3計算機的分類120
4.2中央處理器121
4.2.1機器指令121
4.2.2CPU的功能與組成122
4.2.3CISC和RISC125
4.2.4指令流水線126
4.2.5向量計算機127
4.3存儲器128
4.3.1存儲器概述128
4.3.2存儲器的層次結構129
4.3.3半導體存儲器130
4.3.4主存儲器132
4.3.5Cache133
4.3.6磁碟存儲器136
4.3.7光碟存儲器138
4.3.8虛擬存儲器139
4.3.9NAS和SAN143
4.4匯流排145
4.4.1匯流排的基本概念145
4.4.2匯流排的分類146
4.4.3匯流排特性及性能指標147
4.4.4匯流排標準148
4.5輸入輸出系統152
4.5.1輸入輸出設備152
4.5.2輸入輸出接口153
4.5.3I/O編址154
4.5.4I/O控制方式154
4.6並行計算機157
4.6.1並行計算機的分類157
4.6.2片內並行158
4.6.3單片多處理器159
4.6.4協處理器160
4.6.5多處理器160
4.6.6多計算機161
4.6.7格線162
知識連結164
閱讀材料165
參考文獻168第5章作業系統170
5.1作業系統概論170
5.1.1作業系統的功能170
5.1.2作業系統的特徵171
5.2作業系統的發展與分類172
5.2.1手工處理階段172
5.2.2批處理系統172
5.2.3多道程式系統174
5.2.4分時作業系統175
5.2.5實時作業系統177
5.2.6微機作業系統178
5.2.7多處理器系統178
5.2.8網路作業系統179
5.2.9分散式作業系統181
5.3進程管理182
5.3.1進程的概念182
5.3.2進程的組成183
5.3.3進程的創建184
5.3.4進程的終止184
5.3.5進程的狀態185
5.3.6處理器調度185
5.3.7執行緒188
5.4進程的並發控制189
5.4.1進程的互斥189
5.4.2進程的同步191
5.4.3信號量與PV操作191
5.4.4管程192
5.4.5死鎖與飢餓193
5.5存儲管理194
5.5.1存儲管理的功能195
5.5.2存儲管理基本技術196
5.5.3分頁和分段存儲管理197
5.5.4虛擬存儲技術197
5.6檔案系統198
5.6.1檔案的概念198
5.6.2檔案的實現200
5.6.3的概念203
5.6.4的實現205
5.6.5檔案的共享和保護206
5.7設備管理207
5.7.1設備管理的目標與功能207
5.7.2設備的分類208
5.7.3輸入輸出控制方式209
5.7.4緩衝技術209
5.7.5設備驅動程式210
5.7.6設備分配210
知識連結212
閱讀材料214
參考文獻225第6章高級程式設計語言226
6.1程式設計語言的發展226
6.1.1機器語言226
6.1.2彙編語言227
6.1.3高級語言229
6.2程式設計的一般過程230
6.2.1分析問題尋求算法230
6.2.2程式設計231
6.2.3程式實現231
6.2.4程式正確性檢驗231
6.3程式的基本結構232
6.4數據類型與運算233
6.4.1基本字元、標識符和關鍵字234
6.4.2類型與數據表示235
6.4.3算術運算符、算術表達式238
6.4.4計算與類型240
6.5數組241
6.5.1數組的概念、定義和使用241
6.5.2數組實例244
6.6程式控制結構246
6.6.1條件語句247
6.6.2while循環語句249
6.6.3for循環語句250
6.7函式252
6.7.1一個簡單的函式調用252
6.7.2函式定義的形式254
6.7.3形參與實參255
6.7.4函式與程式256
6.8程式設計方法258
6.8.1結構化程式設計258
6.8.2面向對象程式設計259
6.8.3程式設計方法的發展260
6.9程式的書寫規則261
6.9.1變數的命名261
6.9.2語句的層次和對齊261
6.9.3注釋262
知識連結263
閱讀材料264
參考文獻267第7章數據結構與算法268
7.1概述268
7.1.1數據結構268
7.1.2算法269
7.2線性結構269
7.2.1數組269
7.2.2鍊表271
7.2.3棧273
7.2.4佇列275
7.3樹277
7.3.1樹的實現277
7.3.2二叉樹包279
7.4圖282
7.4.1圖的存儲283
7.4.2圖的遍歷284
7.4.3最小生成樹285
7.5暴力求解策略287
7.5.101背包問題288
7.5.2八皇后問題290
7.6遞歸與分治策略291
7.6.1遞歸292
7.6.2分治策略293
7.7動態規劃294
7.8貪心算法298
7.9回溯法299
7.10分支限界法302
知識連結303
科學人物303
參考文獻305第8章資料庫技術306
8.1數據管理的發展306
8.2數據模型與資料庫系統309
8.2.1數據模型及其組成要素309
8.2.2概念模型310
8.2.3基於層次模型的資料庫系統311
8.2.4基於網狀模型的資料庫系統312
8.2.5基於關係模型的資料庫系統313
8.2.6常用的資料庫管理系統315
8.3SQL316
8.3.1SQL的產生和發展316
8.3.2SQL的特點317
8.3.3SQL的功能317
8.4事務處理技術與並發控制318
8.4.1事務318
8.4.2資料庫並發控制319
8.5幾種新型的資料庫系統320
8.5.1分散式資料庫321
8.5.2聯邦式資料庫321
8.5.3並行資料庫322
8.5.4主動資料庫322
8.5.5知識庫322
8.5.6面向對象資料庫323
8.5.7多媒體資料庫324
8.5.8模糊資料庫324
8.5.9數據倉庫324
8.6資料庫系統的套用325
8.6.1信息與信息系統325
8.6.2事務處理系統327
8.6.3管理信息系統327
8.6.4決策支持系統328
8.6.5數據挖掘329
知識連結330
科學人物330
參考文獻335第9章軟體工程336
9.1軟體與軟體工程336
9.1.1軟體與軟體危機336
9.1.2軟體工程簡介338
9.2可行性論證與需求分析340
9.2.1可行性論證340
9.2.2需求分析340
9.3總體設計342
9.3.1總體設計的任務342
9.3.2總體設計的過程343
9.4詳細設計與軟體編碼344
9.4.1詳細設計344
9.4.2軟體編碼345
9.5軟體測試346
9.5.1軟體測試的基本概念347
9.5.2軟體測試方法348
9.5.3軟體測試策略349
9.6軟體維護350
9.6.1軟體維護的概念350
9.6.2軟體維護的特點351
9.6.3軟體維護的過程351
9.7面向對象方法352
9.7.1面向對象分析352
9.7.2面向對象設計353
9.7.3面向對象實現355
9.8統一建模語言355
9.8.1UML的組成356
9.8.2靜態建模356
9.8.3動態建模357
9.8.4基於UML的統一建模過程358
閱讀材料358
參考文獻362第10章計算機網路364
10.1計算機網路的產生與發展364
10.2計算機網路的結構與組成368
10.2.1計算機網路分類368
10.2.2計算機網路的拓撲結構369
10.3計算機網路體系結構371
10.3.1通信協定371
10.3.2網路系統的體系結構372
10.3.3開放系統互連參考模型374
10.3.4TCP/IP參考模型376
10.3.5OSI參考模型和TCP/IP參考模型的比較383
10.3.65層網路參考模型384
10.4常用計算機網路設備385
10.5計算機網路安全391
10.5.1基本概念391
10.5.2網路安全攻擊392
10.5.3網路安全策略393
10.5.4網路安全機制393
10.5.5防火牆396
10.5.6入侵檢測398
10.6網路套用中的社會問題401
10.7計算機網路技術的新發展403
10.7.1新型網路套用技術403
10.7.2寬頻網路技術405
10.7.3統一網路技術406
10.7.4P2P網路研究與發展409
10.7.5計算機網路技術發展展望414
閱讀材料416
參考文獻428第11章計算機科學前沿技術429
11.1人工智慧429
11.1.1人工智慧的產生429
11.1.2人工智慧主要研究內容435
11.1.3人工智慧發展與套用展望438
11.2人工神經網路440
11.2.1多層感知神經網路441
11.2.2自組織競爭型神經網路442
11.2.3Hopfield神經網路442
11.3深度學習444
11.3.1神經網路與深度學習的發展歷程444
11.3.2生活中的深度學習445
11.3.3卷積神經網路的構成445
11.3.4卷積神經網路的結構448
11.4區塊鏈456
11.4.1比特幣456
11.4.2區塊鏈技術461
11.4.3結束語470
11.5雲計算470
11.5.1雲計算簡介471
11.5.2雲計算的特點472
11.5.3雲計算技術分類473
11.6大數據476
11.6.1大數據的概念和特徵476
11.6.2大數據的產生和數據類型477
11.6.3大數據計算模式和系統478
11.6.4大數據的主要技術層面和技術內容478
11.6.5大數據的典型套用480
科學人物481
參考文獻487