目 录
  Chapter 0 Introduction 1
  0.1 The Role of Algorithms 2
  0.2 The History of Computing 4
  0.3 The Science of Algorithms 10
  0.4 Abstraction 11
  0.5 An Outline of Our Study 12
  0.6 Social Repercussions 13
  Chapter 1 Data Storage 19
  1.1 Bits and Their Storage 20
  1.2 Main Memory 26
  1.3 Mass Storage 29
  1.4 Representing Information as Bit Patterns 35
  *1.5 The Binary System 42
  *1.6 Storing Integers 47
  *1.7 Storing Fractions 53
  *1.8 Data Compression 58
  *1.9 Communication Errors 63
  Chapter 2 Data Manipulation 73
  2.1 Computer Architecture 74
  2.2 Machine Language 77
  2.3 Program Execution 83
  *2.4 Arithmetic/Logic Instructions 90
  *2.5 Communicating with Other Devices 94
  *2.6 Other Architectures 100
  Chapter 3 Operating Systems 109
  3.1 The History of Operating Systems 110
  3.2 Operating System Architecture 114
  3.3 Coordinating the Machine’s Activities 122
  *3.4 Handling Competition Among Processes 125
  3.5 Security 130
  Chapter 4 Networking and the Internet 139
  4.1 Network Fundamentals 140
  4.2 The Internet 149
  4.3 The World Wide Web 158
  *4.4 Internet Protocols 167
  4.5 Security 173
  Chapter 5 Algorithms 187
  5.1 The Concept of an Algorithm 188
  5.2 Algorithm Representation 191
  5.3 Algorithm Discovery 198
  5.4 Iterative Structures 204
  5.5 Recursive Structures 214
  5.6 Efficiency and Correctness 222
  Chapter 6 Programming Languages 239
  6.1 Historical Perspective 240
  6.2 Traditional Programming Concepts 248
  6.3 Procedural Units 260
  6.4 Language Implementation 268
  6.5 Object-Oriented Programming 276
  *6.6 Programming Concurrent Activities 283
  *6.7 Declarative Programming 286
  Chapter 7 Software Engineering 299
  7.1 The Software Engineering Discipline 300
  7.2 The Software Life Cycle 302
  7.3 Software Engineering Methodologies 306
  7.4 Modularity 308
  7.5 Tools of the Trade 316
  7.6 Quality Assurance 324
  7.7 Documentation 328
  7.8 The Human-Machine Interface 329
  7.9 Software Ownership and Liability 332
  Chapter 8 Data Abstractions 341
  8.1 Basic Data Structures 342
  8.2 Related Concepts 345
  8.3 Implementing Data Structures 348
  8.4 A Short Case Study 362
  8.5 Customized Data Types 367
  *8.6 Classes and Objects 371
  *8.7 Pointers in Machine Language 372
  Chapter 9 Database Systems 383
  9.1 Database Fundamentals 384
  9.2 The Relational Model 389
  *9.3 Object-Oriented Databases 400
  *9.4 Maintaining Database Integrity 402
  *9.5 Traditional File Structures 406
  9.6 Data Mining 414
  9.7 Social Impact of Database Technology 416
  Chapter 10 Computer Graphics 425
  10.1 The Scope of Computer Graphics 426
  10.2 Overview of 3D Graphics 428
  10.3 Modeling 430
  10.4 Rendering 439
  *10.5 Dealing with Global Lighting 449
  10.6 Animation 452
  Chapter 11 Artificial Intelligence 461
  11.1 Intelligence and Machines 462
  11.2 Perception 467
  11.3 Reasoning 473
  11.4 Additional Areas of Research 484
  11.5 Artificial Neural Networks 489
  11.6 Robotics 497
  11.7 Considering the Consequences 500
  Chapter 12 Theory of Computation 509
  12.1 Functions and Their Computation 510
  12.2 Turing Machines 512
  12.3 Universal Programming Languages 516
  12.4 A Noncomputable Function 522
  12.5 Complexity of Problems 527
  *12.6 Public-Key Cryptography 536
  Appendixes 545
  A ASCII 547
  B Circuits to Manipulate Two's Complement Representations 548
  C A Simple Machine Language 551
  D High-Level Programming Languages 553
  E The Equivalence of Iterative and Recursive Structures 555
  F Answers to Questions & Exercises 557
  Index 597