關(guān)于我們
書單推薦
新書推薦
|
計算機科學(xué)概論(英文版·原書第7版)
本書從信息層開始,歷經(jīng)硬件層、程序設(shè)計層、操作系統(tǒng)層、應(yīng)用層和通信層,深入剖析了計算系統(tǒng)的每個分層,*后討論了計算的限制。此外,正文中插入了大量的名人傳記、歷史點評、道德問題和新的技術(shù)發(fā)展信息,有助于你進一步了解計算機科學(xué)。每章后面都附帶有大量的練習(xí),可以幫助你即時重溫并掌握這一章所講述的內(nèi)容。 本書是計算機科學(xué)導(dǎo)論課程的理想教材,對于想要了解計算機科學(xué)概況的非專業(yè)人員,本書也是一個很好的選擇。
出版者的話
前言 第一部分 基礎(chǔ)篇 第1章 全景圖 3 1.1 計算系統(tǒng) 4 計算系統(tǒng)的分層 4 抽象 6 1.2 計算的歷史 9 計算硬件簡史 9 計算軟件簡史 19 預(yù)言 25 1.3 計算工具與計算學(xué)科 26 計算的基本思想 27 小結(jié) 28 道德問題:數(shù)字鴻溝 30 關(guān)鍵術(shù)語 31 練習(xí) 31 思考題 33 第二部分 信息層 第2章 二進制數(shù)值與記數(shù)系統(tǒng) 35 2.1 數(shù)字與計算 36 2.2 位置記數(shù)法 36 二進制、八進制和十六進制 38 其他記數(shù)系統(tǒng)中的運算 41 以2的冪為基數(shù)的記數(shù)系統(tǒng) 42 將十進制數(shù)轉(zhuǎn)換成其他數(shù)制的數(shù) 44 二進制數(shù)值與計算機 45 小結(jié) 48 道德問題:FISA法庭 49 關(guān)鍵術(shù)語 49 練習(xí) 50 思考題 53 第3章 數(shù)據(jù)表示法 55 3.1 數(shù)據(jù)與計算機 56 模擬數(shù)據(jù)與數(shù)字?jǐn)?shù)據(jù) 57 二進制表示法 59 3.2 數(shù)字?jǐn)?shù)據(jù)表示法 61 負(fù)數(shù)表示法 61 實數(shù)表示法 65 3.3 文本表示法 68 ASCII字符集 69 Unicode字符集 70 文本壓縮 71 3.4 音頻數(shù)據(jù)表示法 77 音頻格式 79 MP3音頻格式 79 3.5 圖像與圖形表示法 80 顏色表示法 80 數(shù)字化圖像與圖形 82 圖形的矢量表示法 83 3.6 視頻表示法 84 視頻編譯碼器 84 小結(jié) 85 道德問題:Snowden事件的影響 86 關(guān)鍵術(shù)語 86 練習(xí) 87 思考題 91 第三部分 硬件層 第4章 門和電路 93 4.1 計算機和電學(xué) 94 4.2 門 96 非門 96 與門 97 或門 98 異或門 98 與非門和或非門 99 門處理回顧 100 具有更多輸入的門 101 4.3 門的構(gòu)造 101 晶體管 102 4.4 電路 104 組合電路 104 加法器 108 多路復(fù)用器 110 4.5 存儲器電路 111 4.6 集成電路 112 4.7 CPU芯片 113 小結(jié) 113 道德問題:道德規(guī)范 114 關(guān)鍵術(shù)語 116 練習(xí) 116 思考題 119 第5章 計算部件 121 5.1 獨立的計算機部件 122 5.2 存儲程序的概念 126 馮·諾伊曼體系結(jié)構(gòu) 128 讀取–執(zhí)行周期 132 RAM和ROM 134 二級存儲設(shè)備 135 觸摸屏 139 5.3 嵌入式系統(tǒng) 141 5.4 并行體系結(jié)構(gòu) 142 并行計算 142 并行硬件分類 144 小結(jié) 145 道德問題:隱私是否已經(jīng)是過去時? 146 關(guān)鍵術(shù)語 146 練習(xí) 147 思考題 149 第四部分 程序設(shè)計層 第6章 低級程序設(shè)計語言與偽代碼 151 6.1 計算機操作 152 6.2 機器語言 152 Pep/9:一臺虛擬機 153 Pep/9的輸入/輸出 159 6.3 一個程序?qū)嵗? 159 Pep/9模擬器 160 另一個機器語言實例 162 6.4 匯編語言 163 Pep/9匯編語言 164 數(shù)字?jǐn)?shù)據(jù)、分支、標(biāo)簽 166 匯編語言中的循環(huán) 170 6.5 表達算法 171 偽代碼的功能 171 執(zhí)行偽代碼算法 175 寫偽代碼算法 177 翻譯偽代碼算法 180 6.6 測試 182 小結(jié) 183 道德問題:軟件盜版 185 關(guān)鍵術(shù)語 186 練習(xí) 186 思考題 189 第7章 問題求解與算法設(shè)計 191 7.1 如何解決問題 192 提出問題 193 尋找熟悉的情況 193 分治法 194 算法 194 計算機問題求解過程 196 方法總結(jié) 197 測試算法 198 7.2 有簡單變量的算法 199 帶有選擇的算法 199 帶有循環(huán)的算法 200 7.3 復(fù)雜變量 206 數(shù)組 206 記錄 207 7.4 搜索算法 208 順序搜索 208 有序數(shù)組中的順序搜索 209 二分檢索 212 7.5 排序 214 選擇排序 215 冒泡排序 218 插入排序 220 7.6 遞歸算法 221 子程序語句 221 遞歸階乘 223 遞歸二分檢索 224 快速排序 224 7.7 幾個重要思想 228 信息隱蔽 228 抽象 229 事物命名 230 測試 231 小結(jié) 231 道德問題:開源軟件 232 關(guān)鍵術(shù)語 234 練習(xí) 234 思考題 239 第8章 抽象數(shù)據(jù)類型與子程序 241 8.1 抽象數(shù)據(jù)類型 242 8.2 棧 242 8.3 隊列 243 8.4 列表 244 8.5 樹 247 二叉樹 247 二叉檢索樹 249 其他操作 255 8.6 圖 256 創(chuàng)建圖 258 圖算法 259 8.7 子程序 265 參數(shù)傳遞 266 值參與引用參數(shù) 268 小結(jié) 271 道德問題:工作場所監(jiān)視 273 關(guān)鍵術(shù)語 274 練習(xí) 274 思考題 279 第9章 面向?qū)ο笤O(shè)計與高級程序設(shè)計語言 281 9.1 面向?qū)ο蠓椒? 282 面向?qū)ο? 282 設(shè)計方法 283 示例 286 9.2 翻譯過程 291 編譯器 292 解釋器 292 9.3 程序設(shè)計語言范型 295 命令式范型 295 聲明式范型 296 9.4 高級程序設(shè)計語言的功能性 298 布爾表達式 299 數(shù)據(jù)歸類 301 輸入/輸出結(jié)構(gòu) 305 控制結(jié)構(gòu) 307 9.5 面向?qū)ο笳Z言的功能性 313 封裝 313 類 314 繼承 316 多態(tài) 317 9.6 過程設(shè)計與面向?qū)ο笤O(shè)計的區(qū)別 318 小結(jié) 319 道德問題:惡作劇與詐騙 321 關(guān)鍵術(shù)語 322 練習(xí) 323 思考題 327 第五部分 操作系統(tǒng)層 第10章 操作系統(tǒng) 329 10.1 操作系統(tǒng)的角色 330 內(nèi)存、進程與CPU管理 332 批處理 333 分時 334 其他OS要素 335 10.2 內(nèi)存管理 336 單塊內(nèi)存管理 338 分區(qū)內(nèi)存管理 339 頁式內(nèi)存管理 341 10.3 進程管理 344 進程狀態(tài) 344 進程控制塊 345 10.4 CPU調(diào)度 346 先到先服務(wù) 347 最短作業(yè)優(yōu)先 348 輪詢法 348 小結(jié) 350 道德問題:醫(yī)療隱私—健康保險攜帶與責(zé)任法案(HIPAA) 352 關(guān)鍵術(shù)語 353 練習(xí) 354 思考題 359 第11章 文件系統(tǒng)和目錄 361 11.1 文件系統(tǒng) 362 文本文件和二進制文件 362 文件類型 363 文件操作 365 文件訪問 366 文件保護 367 11.2 目錄 368 目錄樹 369 路徑名 371 11.3 磁盤調(diào)度 373 先到先服務(wù)磁盤調(diào)度法 375 最短尋道時間優(yōu)先磁盤調(diào)度法 375 SCAN磁盤調(diào)度法 376 小結(jié) 378 道德問題:選擇加入和選擇退出 380 關(guān)鍵術(shù)語 381 練習(xí) 381 思考題 385 第六部分 應(yīng)用層 第12章 信息系統(tǒng) 387 12.1 信息管理 388 12.2 電子制表軟件 389 電子數(shù)據(jù)表公式 391 循環(huán)引用 396 電子數(shù)據(jù)表分析 397 12.3 數(shù)據(jù)庫管理系統(tǒng) 399 關(guān)系模型 399 關(guān)系 403 結(jié)構(gòu)化查詢語言 404 數(shù)據(jù)庫設(shè)計 405 12.4 電子商務(wù) 407 12.5 大數(shù)據(jù) 408 小結(jié) 409 道德問題:政治與網(wǎng)絡(luò) 411 關(guān)鍵術(shù)語 413 練習(xí) 413 思考題 417 第13章 人工智能 419 13.1 思維機 420 圖靈測試 421 AI問題的各個方面 423 13.2 知識表示 423 語義網(wǎng) 425 檢索樹 427 13.3 專家系統(tǒng) 430 13.4 神經(jīng)網(wǎng)絡(luò) 432 生物神經(jīng)網(wǎng)絡(luò) 432 人工神經(jīng)網(wǎng)絡(luò) 433 13.5 自然語言處理 435 語音合成 437 語音識別 438 自然語言理解 439 13.6 機器人學(xué) 440 感知–規(guī)劃–執(zhí)行范型 441 包孕體系結(jié)構(gòu) 441 物理部件 443 小結(jié) 445 道德問題:首次公開發(fā)行 447 關(guān)鍵術(shù)語 448 練習(xí) 448 思考題 451 第14章 模擬、圖形學(xué)、游戲和其他應(yīng)用 453 14.1 什么是模擬 454 復(fù)雜系統(tǒng) 454 模型 455 構(gòu)造模型 455 14.2 特殊模型 457 排隊系統(tǒng) 457 氣象模型 461 計算生物學(xué) 466 其他模型 467 必要的計算能力 467 14.3 計算機圖形學(xué) 468 光的工作原理 470 物體形狀 472 光模擬 472 復(fù)雜對象的建模 474 讓物體動起來 480 14.4 游戲 482 游戲的歷史 483 創(chuàng)建虛擬世界 484 游戲設(shè)計與開發(fā) 485 游戲編程 486 小結(jié) 487 道德問題:游戲成癮 489 關(guān)鍵術(shù)語 490 練習(xí) 490 思考題 493 第七部分 通信層 第15章 網(wǎng)絡(luò) 495 15.1 連網(wǎng) 496 網(wǎng)絡(luò)的類型 497 Internet連接 500 包交換 502 15.2 開放式系統(tǒng)與協(xié)議 504 開放式系統(tǒng) 504 網(wǎng)絡(luò)協(xié)議 505 TCP/IP 506 高層協(xié)議 507 MIME類型 508 防火墻 509 15.3 網(wǎng)絡(luò)地址 510 域名系統(tǒng) 511 誰控制因特網(wǎng) 514 15.4 云計算 515 15.5 區(qū)塊鏈 516 小結(jié) 517 道德問題:社交網(wǎng)絡(luò)的影響 519 關(guān)鍵術(shù)語 520 練習(xí) 521 思考題 523 第16章 萬維網(wǎng) 525 16.1 Web簡介 526 搜索引擎 527 即時消息 528 博客 529 cookie 530 Web分析 530 16.2 HTML和CSS 531 基本的HTML元素 535 標(biāo)記的屬性 536 關(guān)于CSS的更多內(nèi)容 537 更多HTML5的元素 540 16.3 交互式網(wǎng)頁 541 Java小程序 541 Java服務(wù)器頁 542 16.4 XML 543 16.5 社交網(wǎng)絡(luò)演化 547 小結(jié) 548 道德問題:賭博與互聯(lián)網(wǎng) 551 關(guān)鍵術(shù)語 552 練習(xí) 552 思考題 555 第17章 計算機安全 557 17.1 各級安全 558 信息安全 558 17.2 阻止未授權(quán)訪問 560 密碼 561 驗證碼 563 指紋分析 564 17.3 惡意代碼 565 殺毒軟件 566 安全攻擊 567 17.4 密碼學(xué) 569 17.5 保護你的在線信息 572 共同的責(zé)任 574 安全與可移動設(shè)備 574 維基解密 575 小結(jié) 578 道德問題:博客和新聞 580 關(guān)鍵術(shù)語 581 練習(xí) 582 思考題 585 網(wǎng)上資料 術(shù)語表 參考文獻 索引 CONTENTS 1 Laying the Groundwork . . . . . . . . . . . . .2 Chapter 1The Big Picture 3 1.1 Computing Systems 4 Layers of a Computing System 4 Abstraction 6 1.2 The History of Computing 9 A Brief History of Computing Hardware 9 A Brief History of Computing Software 19 Predictions 25 1.3 Computing as a Tool and a.Discipline 26 The Big Ideas of Computing 27 Summary 28 Ethical Issues: Digital Divide 30 Key Terms 31 Exercises 31 Thought Questions 33 2 The Information Layer . . . . . . . . . . . . .34 Chapter 2Binary Values and Number Systems 35 2.1 Numbers and Computing 36 2.2 Positional Notation 36 Binary, Octal, and Hexadecimal 38 Arithmetic in Other Bases 41 Power-of-2 Number Systems 42 Converting from Base 10 to Other Bases 44 Binary Values and Computers 45 Summary 48 Ethical Issues: The FISA Court 49 Key Terms 49 Exercises 50 Thought Questions 53 Chapter 3 Data Representation 55 3.1 Data and Computers 56 Analog and Digital Data 57 Binary Representations 59 3.2 Representing Numeric Data 61 Representing Negative Values 61 Representing Real Numbers 65 3.3 Representing Text 68 The ASCII Character Set 69 The Unicode Character Set 70 Text Compression 71 3.4 Representing Audio Data 77 Audio Formats 79 The MP3 Audio Format 79 3.5 Representing Images and Graphics 80 Representing Color 80 Digitized Images and Graphics 82 Vector Representation of Graphics 83 3.6 Representing Video 84 Video Codecs 84 Summary 85 Ethical Issues: The Fallout from Snowden’s Revelations 86 Key Terms 86 Exercises 87 Thought Questions 91 3 The Hardware Layer . . . . . . . . . . . . . . .92 Chapter 4 Gates and Circuits 93 4.1 Computers and Electricity 94 4.2 Gates 96 NOT Gate 96 AND Gate 97 OR Gate 98 XOR Gate 98 NAND and NOR Gates 99 Review of Gate Processing 100 Gates with More Inputs 101 4.3 Constructing Gates 101 Transistors 102 4.4 Circuits 104 Combinational Circuits 104 Adders 108 Multiplexers 110 4.5 Circuits as Memory 111 4.6 Integrated Circuits 112 4.7 CPU Chips 113 Summary 113 Ethical Issues: Codes of Ethics 114 Key Terms 116 Exercises 116 Thought Questions 119 Chapter 5 Computing Components 121 5.1 Individual Computer Components 122 5.2 The Stored-Program Concept 126 von Neumann Architecture 128 The Fetch–Execute Cycle 132 RAM and ROM 134 Secondary Storage Devices 135 Touch Screens 139 5.3 Embedded Systems 141 5.4 Parallel Architectures 142 Parallel Computing 142 Classes of Parallel Hardware 144 Summary 145 Ethical Issues: Is Privacy a Thing of the Past? 146 Key Terms 146 Exercises 147 Thought Questions 149 4 The Programming Layer . . . . . . . . . . .150 Chapter 6 Low-Level Programming Languages and Pseudocode 151 6.1 Computer Operations 152 6.2 Machine Language 152 Pep/9: A Virtual Computer 153 Input and Output in Pep/9 159 6.3 A Program Example 159 Pep/9 Simulator 160 Another Machine-Language Example 162 6.4 Assembly Language 163 Pep/9 Assembly Language 164 Numeric Data, Branches, and Labels 166 Loops in Assembly Language 170 6.5 Expressing Algorithms 171 Pseudocode Functionality 171 Following a Pseudocode Algorithm 175 Writing a Pseudocode Algorithm 177 Translating a Pseudocode Algorithm 180 6.6 Testing 182 Summary 183 Ethical Issues: Software Piracy 185 Key Terms 186 Exercises 186 Thought Questions 189 Chapter 7 Problem Solving and Algorithms 191 7.1 How to Solve Problems 192 Ask Questions 193 Look for Familiar Things 193 Divide and Conquer 194 Algorithms 194 Computer Problem-Solving Process 196 Summary of Methodology 197 Testing the Algorithm 198 7.2 Algorithms with Simple Variables 199 An Algorithm with Selection 199 Algorithms with Repetition 200 7.3 Composite Variables 206 Arrays 206 Records 207 7.4 Searching Algorithms 208 Sequential Search 208 Sequential Search in a Sorted Array 209 Binary Search 212 7.5 Sorting 214 Selection Sort 215 Bubble Sort 218 Insertion Sort 220 7.6 Recursive Algorithms 221 Subprogram Statements 221 Recursive Factorial 223 Recursive Binary Search 224 Quicksort 224 7.7 Important Threads 228 Information Hiding 228 Abstraction 229 Naming Things 230 Testing 231 Summary 231 Ethical Issues: Open-Source Software 232 Key Terms 234 Exercises 234 Thought Questions 239 Chapter 8 Abstract Data Types and Subprograms 241 8.1 What Is an Abstract Data Type? 242 8.2 Stacks 242 8.3 Queues 243 8.4 Lists 244 8.5 Trees 247 Binary Trees 247 Binary Search Trees 249 Other Operations 255 8.6 Graphs 256 Creating a Graph 258 Graph Algorithms 259 8.7 Subprograms 265 Parameter Passing 266 Value and Reference Parameters 268 Summary 271 Ethical Issues: Workplace Monitoring 273 Key Terms 274 Exercises 274 Thought Questions 279 Chapter 9 Object-Oriented Design and High-Level Programming Languages 281 9.1 Object-Oriented Methodology 282 Object Orientation 282 Design Methodology 283 Example 286 9.2 Translation Process 291 Compilers 292 Interpreters 292 9.3 Programming Language Paradigms 295 Imperative Paradigm 295 Declarative Paradigm 296 9.4 Functionality in High-Level Languages 298 Boolean Expressions 299 Data Typing 301 Input/Output Structures 305 Control Structures 307 9.5 Functionality of Object-Oriented Languages 313 Encapsulation 313 Classes 314 Inheritance 316 Polymorphism 317 9.6 Comparison of Procedural and Object-Oriented Designs 318 Summary 319 Ethical Issues: Hoaxes and Scams 321 Key Terms 322 Exercises 323 Thought Questions 327 The Operating Systems Layer . . . . . . .328 Chapter 10 Operating Systems 329 10.1 Roles of an Operating System 330 Memory, Process, and CPU Management 332 Batch Processing 333 Timesharing 334 Other OS Factors 335 10.2 Memory Management 336 Single Contiguous Memory Management 338 Partition Memory Management 339 Paged Memory Management 341 10.3 Process Management 344 The Process States 344 The Process Control Block 345 10.4 CPU Scheduling 346 First Come, First Served 347 Shortest Job Next 348 Round Robin 348 Summary 350 Ethical Issues: Medical Privacy: HIPAA 352 Key Terms 353 Exercises 354 Thought Questions 359 Chapter 11 File Systems and Directories 361 11.1 File Systems 362 Text and Binary Files 362 File Types 363 File Operations 365 File Access 366 File Protection 367 11.2 Directories 368 Directory Trees 369 Path Names 371 11.3 Disk Scheduling 373 First-Come, First-Served Disk Scheduling 375 Shortest-Seek-Time-First Disk Scheduling 375 SCAN Disk Scheduling 376 Summary 378 Ethical Issues: Privacy: Opt-In or Opt-Out? 380 Key Terms 381 Exercises 381 Thought Questions 385 6 The Applications Layer . . . . . . . . . . . .386 Chapter 12 Information Systems 387 12.1 Managing Information 388 12.2 Spreadsheets 389 Spreadsheet Formulas 391 Circular References 396 Spreadsheet Analysis 397 12.3 Database Management Systems 399 The Relational Model 399 Relationships 403 Structured Query Language 404 Database Design 405 12.4 E-Commerce 407 12.5 Big Data 408 Summary 409 Ethical Issues: Politics and the Internet 411 Key Terms 413 Exercises 413 Thought Questions 417 13.1 Thinking Machines 420 The Turing Test 421 Aspects of AI 423 13.2 Knowledge Representation 423 Semantic Networks 425 Search Trees 427 13.3 Expert Systems 430 13.4 Neural Networks 432 Biological Neural Networks 432 Artificial Neural Networks 433 13.5 Natural-Language Processing 435 Voice Synthesis 437 Voice Recognition 438 Natural-Language Comprehension 439 13.6 Robotics 440 The Sense–Plan–Act Paradigm 441 Subsumption Architecture 441 Physical Components 443 Summary 445 Ethical Issues: Initial Public Offerings 447 Key Terms 448 Exercises 448 Thought Questions 451 Chapter 14 Simulation, Graphics, Gaming, and Other Applications 453 14.1 What Is Simulation? 454 Complex Systems 454 Models 455 Constructing Models 455 14.2 Specific Models 457 Queuing Systems 457 Meteorological Models 461 Computational Biology 466 Other Models 467 Computing Power Necessary 467 14.3 Computer Graphics 468 How Light Works 470 Object Shape Matters 472 Simulating Light 472 Modeling Complex Objects 474 Getting Things to Move 480 14.4 Gaming 482 History of Gaming 483 Creating the Virtual World 484 Game Design and Development 485 Game Programming 486 Summary 487 Ethical Issues: Gaming as an Addiction 489 Key Terms 490 Exercises 490 Thought Questions 493 The Communications Layer . . . . . . . . .494 Chapter 15 Networks 495 15.1 Networking 496 Types of Networks 497 Internet Connections 500 Packet Switching 502 15.2 Open Systems and Protocols 504 Open Systems 504 Network Protocols 505 TCP/IP 506 High-Level Protocols 507 MIME Types 508 Firewalls 509 15.3 Network Addresses 510 Domain Name System 511 Who Controls the Internet? 514 15.4 Cloud Computing 515 15.5 Blockchain 516 Summary 517 Ethical Issues: The Effects of Social Networking 519 Key Terms 520 Exercises 521 Thought Questions 523 Chapter 16 The World Wide Web 525 16.1 Spinning the Web 526 Search Engines 527 Instant Messaging 528 Weblogs 529 Cookies 530 Web Analytics 530 16.2 HTML and CSS 531 Basic HTML Elements 535 Tag Attributes 536 More About CSS 537 More HTML5 Elements 540 16.3 Interactive Web Pages 541 Java Applets 541 Java Server Pages 542 16.4 XML 543 16.5 Social Network Evolution 547 Summary 548 Ethical Issues: Gambling and the Internet 551 Key Terms 552 Exercises 552 Thought Questions 555 Chapter 17 Computer Security 557 17.1 Security at All Levels 558 Information Security 558 17.2 Preventing Unauthorized Access 560 Passwords 561 CAPTCHA 563 Fingerprint Analysis 564 17.3 Malicious Code 565 Antivirus Software 566 Security Attacks 567 17.4 Cryptography 569 17.5 Protecting Your Information Online 572 Corporate Responsibility 574 Security and Portable Devices 574 WikiLeaks 575 Summary 578 Ethical Issues: Blogging and Journalism 580 Key Terms 581 Exercises 582 Thought Questions 585 In Conclusion . . . . . . . . . . . . . . . . . . .586 Chapter 18Limitations of Computing 587 18.1 Hardware 588 Limits on Arithmetic 588 Limits on Components 594 Limits on Communications 595 18.2 Software 596 Complexity of Software 596 Current Approaches to Software Quality 597 Notorious Software Errors 602 18.3 Problems 604 Comparing Algorithms 605 Turing Machines 612 Halting Problem 615 Classification of Algorithms 617 Glossary 625 Endnotes 651 Index 661
你還可能感興趣
我要評論
|