Chapter 0 Introduction
0.1 The Study of Algorithms
0.2 The Origins of Computing Machines
0.3 The Evolution of Computer Science
0.4 The Role of Abstraction
0.5 Ethical/Social/Legal Repercussions
Social Issues
Additional Reading
PART ONE:MACHINE ARCHITECTURE
Chapter 1 Data Storage
1.1 Storage of Bits
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 Review Problems
Social Issues
Additional Reading
Chapter 2 Data Manipulation
2.1 The Central Processing Unit
2.2 The Stored-Program Concept
2.3 Program Execution
2.4 Arithmetic/Logic Instructions
2.5 Communicating with Other Devices
2.6 Other Architectures
Chapter Review Problems
Social Issues
Additional Reading
PART TWO:SOFTWARE
Chapter 3 Operating Systems and Networks
3.1 The Evolution of Operating Systems
3.2 Operating System Architecture
3.3 Coordinating the Machine's Activities
3.4 Handling Competition Among Processes
3.5 Networks
3.6 Network Protocols
3.7 Security
Chapter Review Problems
Social Issues
Additional Reading
Chapter 4 Algorithms
4.1 The Concept of an Algorithm
4.2 Algorithm Representation
4.3 Algorithm Discovery
4.4 Iterative Structures
4.5 Recursive Structures
4.6 Efficiency and Correctness
Chapter Review Problems
Social Issues
Additional Reading
Chapter 5 Programming Languages
5.1 Historical Perspective
5.2 Traditional Programming Concepts
5.3 Procedural Units
5.4 Language Implementation
5.5 Object-Oriented Programming
5.6 Programming Concurrent Activities
5.7 Declarative Programming
Chapter Review Problems
Social Issues
Additional Reading
Chapter 6 Software Engineering
6.1 The Software Engineering Discipline
6.2 The Software Life Cycle
6.3 Modularity
6.4 Design Methodologies
6.5 Testing
6.6 Documentation
6.7 Software Ownership and Liability
Chapter Review Problems
Social Issues
Additional Reading
PART THREE:DATA ORGANIZATION
Chapter 7 Data Structures
7.1 Arrays
7.2 Lists
7.3 Stacks
7.4 Queues
7.5 Trees
7.6 Customized Data Types
7.7 Pointers in Machine Language
Chapter Review Problems
Social Issues
Additional Reading
Chapter 8 File Structures
8.1 The Role of the Operating System
8.2 Sequential Files
8.3 Text Files
8.4 Indexing
8.5 Hashing
Chapter Review Problems
Social Issues
Additional Reading
Chapter 9 Database Structures
9.1 General Issues
9.2 The Layered Approach to Database Implementation
9.3 The Relational Model
9.4 Object-Oriented Databases
9.5 Maintaining Database Integrity
9.6 Social Impact of Database Technology
Chapter Review Problems
Social Issues
Additional Reading
PART FOUR:THE POTENTIAL OF ALGORITHMIC MACHINES
Chapter 10 Artificial Intelligence
10.1 Intelligence and Machines
10.2 Understanding Images
10.3 Reasoning
10.4 Artificial Neural Networks
10.5 Genetic Algorithms
10.6 Applications of Artificial Intelligence
10.7 Considering the Consequences
Chapter Review Problems
Social Issues
Additional Reading
Chapter 11 Theory of Computation
11.1 A Bare Bones Programming Language
11.2 Turing Machines
11.3 Computable Functions
11.4 A Noncomputable Function
11.5 Complexity of Problems
11.6 Public Key Cryptography
Chapter Review Problems
Social Issues
Additional Reading
Appendixes
A ASCII
B Circuits to Manipulate Two's Complement Representations
C A Typical Machine Language
D Program Examples
E The Equivalence of Iterative and Recursive Structures
F Answers to Questions/Exercises
Index