內容簡介
《計算機科學導論(原書第3版)》是大學計算機相關專業的基礎課教材,涉及計算機科學的各個方麵。本書著重講解基本概念而不是數學模型和技術細節,通過大量的圖錶和演示範例講解計算機科學的基礎知識;每章後麵的關鍵術語、小結和練習有助於讀者掌握和復習知識要點。本書內容豐富,通熟易懂,既適閤當作大專院校的計算機基礎課教材,也可作為一般的計算機基礎入門讀物。
目錄
齣版者的話
譯者序
前言
第1章緒論
1.1圖靈模型
1.1.1數據處理器
1.1.2可編程數據處理器
1.1.3通用圖靈機
1.2馮·諾依曼模型
1.2.1 4個子係統
1.2.2存儲程序概念
1.2.3 指令的順序執行
1.3計算機組成部分
1.3.1計算機硬件
1.3.2數據
1.3.3計算機軟件
1.4曆史
1.4.1機械計算機器(1930年以前)
1.4.2 電子計算機的誕生(1930~
1950年)
1.4.3計算機的誕生(1950年至今)
1.5社會問題和道德問題
1.5.1社會問題
1.5.2道德問題
1.6計算機科學作為一門學科
1.7課程綱要
1.7.1 第一部分:數據的錶示與運算
1.7.2第二部分:計算機硬件
1.7.3第三部分:計算機軟件
1.7.4第四部分:數據組織與抽象
1.7.5第五部分:高級話題
1.8章末材料
1.9練習
第2章數字係統
2.1引言
2.2位置化數字係統
2.2.1 十進製係統(以10為底)
2.2.2二進製係統(以2為底)
2.2.3 十六進製係統(以16為底)
2.2.4八進製係統(以8為底)
2.2.5 4種位置化數字係統的小結
2.2.6轉換
2.3非位置化數字係統
2.4章末材料
2.5練習
第3章數據存儲
3.1數據類型
3.2存儲數字
3.2.1存儲整數
3.2.2 3種係統的比較
3.2.3 實數
3.3存儲文本
3.4存儲音頻
3.4.1.采樣
3.4.2量化
3.4.3編碼
3.4.4聲音編碼標準
3.5存儲圖像
3.5.1光柵圖
3.5.2矢量圖
3.6存儲視頻
3.7章末材料
3.8練習
第4章數據運算
4.1邏輯運算
4.1.1位層次上的邏輯運算
6.7.1導嚮介質
6.7.2非導嚮介質
6.8章末材料
6.9練習
第7章操作係統
7.1引言
7.1.1操作係統
7.1.2自舉過程
7.2演化
7.2.1批處理係統
7.2.2分時係統
7.2.3個人係統
7.2.4並行係統
7.2.5分布式係統
7.2.6實時係統
7.3組成部分
7.3.1 用戶界麵
7.3.2 內存管理器
7.3.3進程管理器
7.3.4 文件管理器
7.4主流操作係統
7.4.1 UNIX
7.4.2 Linux
7.4-3 WindOWS
7.5章末材料
7.6練習
第8章算法
8.1概念
8.1.1 非正式定義
8.1.2定義動作
8.1.3細化
8 .1.4泛化
8.2三種結構
8.2.1順序
8.2.2一判斷
8.2.3循環
8.3算法的錶示
8.3.1 UML
8.3.2僞代碼
8.4更正式的定義
8.4.1定義良好
8.4.2明確步驟
8.4.3産生結果
8.4.4在有限的時間內終止
8.5基本算法
8.5.1求和
8.5.2乘積
8.5.3 最大和最小
8.5.4排序
8.5.5查找
8.6子算法
8.7遞歸
8.7.1迭代的定義
8.7.2遞歸的定義
8.8章末材料
8.9練習
第9章程序設計語言
9.1演化
9.1.1機器語言
9.1.2匯編語言
9.1.3 高級語言
9.2翻譯
9.2.1編譯
9.2.2解釋
9.2.3 翻譯過程
9.3編程模式
9.3.1過程式模式
9.3.2麵嚮對象模式
9.3.3 函數式模式
9.3.4說明式模式
9.4共同概念
9.4.1標識符
9.4.2數據類型
9.4.3語句
9.5章末材料
9.6練習
第10章軟件工程
10.1軟件生命周期
10.2分析階段
10.2.1 麵嚮過程分析
10.2.2 麵嚮對象分析
10.3設計階段
10.3.1 麵嚮過程設計
10.3.2 麵嚮對象設計
10.4實現階段
10.4.1語言的選擇
10.4.2軟件質量
10.5測試階段
10.5.1 白盒測試
10.5.2黑盒測試
10.6文檔
10.6.1用戶文檔
10.6.2 係統文檔
10.6.3技術文檔
10.7章末材料
10.8練習 一
第11章數據結構
11.1數組
11.1.1數組名與元素名
11.1.2多維數組
11.1.3存儲配置
11.1.4數組操作
11.1.5數組的應用
11.2記錄
11.2.1 記錄名與域名
11.2.2記錄與數組的比較
11.2.3記錄數組
11.2.4數組與記錄數組
11.3鏈錶
11.3.1數組與鏈錶
11.3.2鏈錶名與節點名
11.3.3鏈錶操作
11.3.4鏈錶的應用
11.4章末材料
11.5練習
第1 2章抽象數據類型
12.1背景
12.1.1 簡單抽象數據類型
12.1.2復雜抽象數據類型
12.1.3定義
12.1.4抽象數據類型的模型
12.1.5實現
12.2棧
12.2.1棧的操作
12.2.2棧的抽象數據類型
12.2.3棧的應用
12.2.4棧的實現
12.3隊列
12.3.1 隊列的操作
12.3.2隊列抽象數據類型
12.3.3 隊列的應用
12.3.4 隊列的實現
12.4廣義綫性錶
12.4.1 廣義綫性錶的操作
12.4.2廣義綫性錶的抽象數據類型
12.4.3 廣義綫性錶的應用
12.4.4廣義綫性錶的實現
12.5樹
12.5.1二叉樹
12.5.2二叉樹的操作
12.5.3二叉樹的應用
12.5.4二叉樹的實現
12.5.5二叉搜索樹
12.5.6二叉搜索樹的抽象數據
類型
12.5.7二叉搜索樹的實現
12.6 圖
12.7章末材料
12.8練習
第1 3章文件結構
13.1引言
13.¨順序存取
13.1.2隨機存取
13.2順序文件
13.3索引文件
13.4散列文件
13.4.1散列方法
13.4.2衝突
13.5目錄
13.6文本文件與二進製文件
13.6.1文本文件
13.6.2二進製文件
13.7章末材料
13.8練習
第14章數據庫
14.1引言
14.1.1定義
14.1.2數據庫的優點
14.1.3數據庫管理係統
14.2數據庫體係結構
14.2.1 內層
14.2.2概念層
14.2.3外層 一
14.3數據庫模型
14.3.1層次模型
14.3.2 網狀模型
14.3.3 關係模型
14.4關係數據庫模型
14.5關係的操作
14.5.1 結構化查詢語言
14.5.2插入
14.5.3刪除
14.5.4更新
14.5.5選擇
14.5.6投影
14.5.7連接
14.5.8並
14.5.9交
14.5.10差
14.6數據庫設計
14.6.1 實體關係模型
14.6.2從E-R圖至0關係
14.6.3規範化
14.7其他數據庫模型
14.8章末材料
14.9練習
第1 5章數據壓縮
15.1引言
15.2無損壓縮
15.2.1 遊程長度編碼
15.2.2赫夫曼編碼
15.2.3 LempelZiv編碼
15.3有損壓縮方法
15.3.1 圖像壓縮:JPEG-
15.3.2視頻壓縮:MPEG
15.3.3 音頻壓縮
15.4章末材料
15.5練習
第16章安全
16.1引言
16.1.1安全目標
16.1.2攻擊
16.1.3服務和技術
16.2機密性
16.2.1 對稱密鑰密碼術
16.2.2非對稱密鑰密碼術
16.3其他安全服務
16.3.1 消息完整性
16.3.2消息驗證
16.3.3數字簽名
16.3.4實體驗證
16.3.5 密鑰管理
16.4防火牆
16.4.1 包過濾防火牆
16.4.2代理防火牆
16.5章末材料
16.6練習
第1 7章計算理論
17.1引言
?17.2簡單語言
17.2.1遞增語句
17.2.2遞減語句
17.2.3循環語句
17.2.4 簡單語言的威力
17.3圖靈機
17.3.1 圖靈機組成部件
17.3.2對簡單語言的模擬
17.3.3邱奇一圖靈論題
17.4歌德爾數
17.4.1錶示一個程序
17.4.2翻譯一個數字
17.5停機問題
17.6問題的復雜度
17.6.1 不可解問題
17.6.2可解問題
17.7章末材料
17.8練習
第1 8章人工智能
18.1引言
18.1.1什麼是人工智能
18.1.2人工智能簡史
18.1.3 圖靈測試
18.1.4智能體
18.1.5編程語言
18.2知識錶示
18.2.1語義網
18.2.2框架
18.2.3謂詞邏輯
18.2.4基於規則的係統
18.3專傢係統
18.3.1抽取知識
18.3.2抽取事實
18.3.3體係結構
18.4感知 -
18.4.1圖像處理
18.4.2語言理解
18.5搜索 -
18.6神經網絡
18.6.1 生物神經元
18.6.2感知器
18.6.3多層網絡
18.6.4應用
18.7章末材料
18.8練習
附錄A Unicode
附錄B UML
附錄C僞代碼
附錄D結構圖
附錄E布爾代數和邏輯電路
附錄FC、C++和Java程序示例
附錄G數學知識
附錄H誤差檢測和校正
縮略語
術語錶
前言/序言
計算機在我們的日常生活中扮演瞭一個重要的角色,而且在未來也將一樣。計算機科學是一個充滿瞭挑戰和發展機遇的年輕學科。計算機網絡將處在地球上每一個角落的我們連接在一起。虛擬現實創造瞭炫目的三維圖像。宇宙空間探險的成功也部分歸功於計算機的發展。計算機創建的特技效果改變瞭電影行業。計算機在遺傳學研究中也扮演瞭一個重要的角色。
本書讀者對象這本書同時麵嚮學術的和專業的讀者。本書可以作為感興趣的專業人士的自學指南。作為教材,本書包含一學期(semester)或一學季(quarter)的教學內容,是計算機科學的入門教程。
本書是基於美國計算機學會( ACM)推薦的CSO課程設計的。它從廣度上覆蓋瞭計算機科學所有的領域。其他領域的學生需要對計算機科學有大緻的瞭解時,無論是從本書中選讀部分內容還是通讀全書,都有幫助。
第3版中的改動在本版中我進行瞭以下幾類修改。
1.修訂的章節和附錄針對教學目的,對本書中的兩章和附錄進行瞭全麵的修訂。
(1)第6章為瞭更便於初次接觸計算機網絡的學生進行理解,第6章的內容采用自頂嚮下的教學方法進行修訂。
(2)第16章1.章節章節的作用是提供基本的學習材料,但並不是書中的每一個章節都對學生有利用價值。教這門課的老師可以自主選擇教學用的章節。我們會在後麵提供一份教學指南。
2.附錄附錄的作用是為理解書中討論的概念所需的材料提供一個快速的參照或復習。本書中有8個可供學生參照和學習的附錄。
3.縮略語本書包含一份縮略語錶來幫助快速尋找到對應的術語。
4.術語錶為瞭使學生熟悉書中使用的術語,本書提供一份廣泛的術語錶。
教學法本書中的部分教學法是為使學生可以非常簡便地理解書中內容而設計的。
1.圖文並茂本書圖文並茂,而且不使用復雜的公式來展示高深內容。本書附圖超過400幅,以便讀者形象而直觀地瞭解本書內容。圖片對於解釋構成整體的各組件之間的關係極為重要。對於很多學生來說,這些概念通過圖片相比文字更容易掌握。
2.重點把重要的概念放在陰影框中以便快速參考和即時注意。
3.範例和應用在閤適的情況下,在書中引入瞭可以說明概念的例子。
4.算法第3版增加瞭幾十個算法,有助於學生熟悉問題求解和編程。
5.UML本書通篇使用UML圖以使學生熟悉該工具,因為這已經成為業界的實際標準。
6.章末材料每一章以一係列材料結尾,包括以下部分:
(1)推薦讀物這部分給齣該章推薦書目列錶。這些列錶也用於參考引用。
(2)小結每章結尾的小結都包括瞭對該章中所有內容的概括。小結把該章最重要的內容都整閤在一起以便閱讀。
7.練習每章包括為強化重要概念同時鼓勵學生進行實踐而設計的練習。練習包括四部分內容:小測驗、復習題、練習題和小程序。
(1)小測驗本書網站上的小測驗提供對概念掌握情況的快速測試。學生可以通過這些小測驗來檢測對所學內容的理解。
(2)復習題這個部分包括與書中討論到的概念有關的簡單題。本書網站上為學生提供瞭奇數編號復習?題的答案以供核對。
(3)練習題這一部分包括難度更大的題目,這些題目的求解需要對該章討論的內容有更深層次的理解。我強烈推薦學生去嘗試求解這部分的全部題目。奇數編號練習題的答案也已經公布在瞭本書網站以便學生進行核對。
(4)小程序Java小程序是作者編寫並發布在網站上的交互式試驗。這裏的小程序有些用於更好地理解部分練習題的解答,而有些則用於更好地通過實踐理解網絡的概念。小程序是為瞭簡化對部分範例的理解而專門設計的。
教VVif資源e本書為教該課程的老師提供完整的以下教學資源。他們可以從本書網站下載。
1.演示文稿本書網站為教授該課程的老師提供瞭一係列彩色的、動畫式的幻燈片演示文稿。
2.練習的答案本書網站為教授該課程的老師提供瞭所有復習題和練習題的答案。
如何使用本書本書的章節提供瞭較大的靈活性組織。我建議以下幾點:
·第l~8章內容對理解本書剩下內容而言是必要的。
·如果時間允許,可以教授第9~14章內容。在學季製(quarter)中這些內.容可以省去。
·第15~18章內容的教授應該基於學生的專業和老師的辨彆力進行選擇。
緻謝顯而易見,一本這樣的教材得以齣版需要很多人的支持。
1.書評人我要感謝為本書的發展做齣貢獻的書評人,他們是:
南非大學的Sam Ssemugabi博茨瓦納會計學院的Ronald Chikati林波波大學的Alex Dandadzi埃因霍溫科技大學的Tom Verhoeff比勒陀利亞大學的Stefan Gruner英國白金漢大學的Harmn Sellahwea威爾士大學的John NewmanBirbeck學院的Steve Maybank斯特靈大學的Mario Kolberge關於本書教輔資源,用書老師可嚮聖智學習齣版公司北京代錶處申請,電話:010-82862096/95/97,電子郵件:kai.yao@cengage.com或asia.infochina@cengage.com。——編輯注伍斯特大學的Colin Price倫敦城市大學的Boris Cogan希爾德斯海姆大學的Thomas Mandl南非大學的Daphne Becker阿蔔杜拉國王大學的Osama Abulnaja和Lubna Fekry Abdulhai利物浦大學的Katie Atkinson2.齣版社的人特另0感謝齣版社的工作人員:Andrew Ashwin、Annabel Ainscow、Jennifer Grene、AlisonBurt。
Behrouz A. Forouzan加利福尼亞州,洛杉磯寫於2014年1月對於第一次接觸計算機科學的學生而言,安全的概念普遍較難接受。該章修訂後的內容更通俗易懂。
(3)附錄F該附錄修訂後的內容增加瞭三種計算機語言(C、C++和Java)的一些簡易程序例子。
2.部分章節中的細微變化基於書評者的建議,部分章節的格式和內容進行瞭細微的修改,並且部分章節中增加瞭一些新的技術。
3.章末材料的變化章末材料主要經曆瞭以下兩個主要的變化:
·每章最後的多選題被刪去瞭,增加瞭在綫小測驗,這樣無論對老師檢查教學成果,還是學生進行檢驗都方便許多。
·每章結尾增加瞭在綫小程序來幫助學生發現一些問題的可視化解決方法。
組織這本書由18章和8個附錄構成。
1.章節章節的作用是提供基本的學習材料,但並不是書中的每一個章節都對學生有利用價值。教這門課的老師可以自主選擇教學用的章節。我們會在後麵提供一份教學指南。
2.附錄附錄的作用是為理解書中討論的概念所需的材料提供一個快速的參照或復習。本書中有8個可供學生參照和學習的附錄。
3.縮略語本書包含一份縮略語錶來幫助快速尋找到對應的術語。
4.術語錶為瞭使學生熟悉書中使用的術語,本書提供一份廣泛的術語錶。
教學法本書中的部分教學法是為使學生可以非常簡便地理解書中內容而設計的。
1.圖文並茂本書圖文並茂,而且不使用復雜的公式來展示高深內容。本書附圖超過400幅,以便讀者形象而直觀地瞭解本書內容。圖片對於解釋構成整體的各組件之間的關係極為重要。對於很多學生來說,這些概念通過圖片相比文字更容易掌握。
2.重點把重要的概念放在陰影框中以便快速參考和即時注意。
3.範例和應用在閤適的情況下,在書中引入瞭可以說明概念的例子。
4.算法第3版增加瞭幾十個算法,有助於學生熟悉問題求解和編程。
5.UML本書通篇使用UML圖以使學生熟悉該工具,因為這已經成為業界的實際標準。
6.章末材料每一章以一係列材料結尾,包括以下部分:
(1)推薦讀物這部分給齣該章推薦書目列錶。這些列錶也用於參考引用。
(2)小結每章結尾的小結都包括瞭對該章中所有內容的概括。小結把該章最重要的內容都整閤在一起以便閱讀。
7.練習每章包括為強化重要概念同時鼓勵學生進行實踐而設計的練習。練習包括四部分內容:小測驗、復習題、練習題和小程序。
(1)小測驗本書網站上的小測驗提供對概念掌握情況的快速測試。學生可以通過這些小測驗來檢測對所學內容的理解。
(2)復習題這個部分包括與書中討論到的概念有關的簡單題。本書網站上為學生提供瞭奇數編號復習?題的答案以供核對。
(3)練
計算機科學導論(原書第3版) 下載 mobi epub pdf txt 電子書