本书对计算机科学做了精彩的百科全书式的全面阐述,在很好地兼顾了学科广度和主题深度的同时,用算法、数据抽象等核心思想贯穿各个主题,并且充分展现了计算机科学的历史背景、发展历程和新的技术趋势,使读者能够对计算机科学形成大局观,为今后深入学习其他计算机专业教程打下基础。本书深入浅出、图文并茂、善于引发读者的兴趣,而且教学手段多样、习题丰富,很好地体现了作者“授人以鱼,不如授人以渔”的教学理念。
本书为最新的第9版,对计算机的社会问题、网络与因特网、软件工程和人工智能等章节做了大幅修订,使内容与时俱进。
本书适合各个学科以及不同教育层次的读者,既适合国内高等院校用作计算机基础课教材,也可以供希望了解计算机相关领域的非专业读者作为入门参考。
本书是计算机科学概论课程的一本经典教材,是作者多年教学经验的结晶,是国际上众多名校的指定教材。本书涉及计算机科学的方方面面,介绍了计算机硬件、软件、数据组织和计算理论等四个方面的内容,包括编码及计算机体系结构的基本原理、操作系统、计算机网络、算法、程序设计语言、数据结构和数据库、人工智能以及计算理论等。本书在内容编排上,在力求保持学科广度的同时,还兼顾主题的深度,并把握了最新的技术趋势。书中配有大量的图、表和示例以增强读者对知识的掌握,并提供了丰富的习题以加强学生的参与性——本书包含1000多个问题,用于复习、扩展讨论过的内容,或者提示以后会涉及的有关主题。
本书既适合国内的大专院校用作计算机基础课教材,也可以供有意在计算机方面发展的非计算机专业读者作为入门参考。
Chapter 0 Introduction
0.1 The Role of Algorithms
0.2 The Origins of Computing Machines
0.3 The Science of Algorithms
0.4 Abstraction
0.5 An Outline of Our Study
0.6 Social Repercussions
Chapter 1 Data Storage
1.1 Bits and Their Storage
1.2 Main Memory
1.3 MaSS Storage
1.4 Representing Information as Bit Patterns
*1.5 The Binary System
*1.6 Storing Integers
*1.7 Storing Fractions
*1.8 Data Compression
*1.9 Communication Errors
Chapter 2 Data Manipulation
2.1 Computer Architecture
2.2 Machine Language
2.3 Program Execution
*2.4 Arithmetic/Logic Instructions
*2.5 Communicating with Other Devices
*2.6 Other Architectures
Chapter 3 Operating Systems
3.1 The History of Operating Systems
3.2 Operating System Architecture
3.3 Coordinating the Machine’s Activities
*3.4 Handling Competition Among Processes
3.5 Security
Chapter 4 Networking and the Internet
4.1 Network Fundamentals
4.2 The Internet
4.3 The World Wide Web
*4.4 Internet Protocols
4.5 Security
Chapter 5 Algorithms
5.1 The Concept ofan Algorithm
5.2 Algorithm Representation
5.3 A1gorithm Discovery
5.4 Iteratire Structures
5.5 Recursive Structures
5.6 Efficiency and Correctness
Chapter 6 Programming Languages
6.1 Historical Perspective
6.2 Traditional Programming Concepts
6.3 Procedural Units
6.4 Language Implementation
*6.5 Object-Oriented Programming
*6.6 Programming Concurrent Activities
*6.7 Declarative Programming
Chapter 7 Software Engineering
7.1 The Software Engineering Discipline
7.2 The Software Life Cycle
7.3 Software Engineering Methodologies
7.4 Modularity
7.5 Tbols of the Trade
7.6 Testing
7.7 Documentation
7.8 Software Ownership and Liability
Chapter 8 Data Abstractions
8.1 Data Structure Fundamentals
8.2 Implementing Data Structures
8.3 A ShOrt Case Study
8.4 Customized Data Types
*8.5 Classes and Objects
*8.6 Pointers in Machine Language
Chapter 9 Database Systems
9.1 Database Fundamentals
9.2 The Relational Model
*9.3 Object—Oriented Databases
*9.4 Maintaining Database Integrity
*9.5 Traditional File Structures
9.6 Data Mining
9.7 Social Impact of Database Technology
Chapter 10 Artificial Intelligence
10.1 Intelligence and Machines
10.2 Perception
10.3 Reasoning
10.4 Additional Areas of Research
10.5 Artificial Neural Networks
10.6 Robotics
10.7 Considering the Consequences
Chapter 11 Theory of Computation
11.1 Functions and Their Computation
11.2 Turing Machines
11.3 Universal Programming Languages
11.4 A Noncomputable Function
11.5 Complexity of Problems
*11.6 Public-Key Cryptography
Appendixes
A ASCII 527
B Circuits to Manipulate Two’s Complement Representations
C A Simple Machine Language
D High-Level Language Program Examples
E The Equivalence of Iterative and Recursive Structures
F Answers to QuestionsεExercises
Index