Chapter 1
Planning for the Solution of Problems



1.1 What is Problem Solving?
1.2 Problem Solving and Computing
1.3 Top Down Analysis
1.4 Tools for Problem Solving
1.5 The Role of Abstraction
     1.5.1 Abstractions and Computing
1.6 Data Representation Abstractions
     1.6.1 Data and Information
     1.6.2 Encoding (Representing) Data
     1.6.3 Atomic and Compound Entities
     1.6.4 The Concept of Type
     1.6.5 Variables and Constants
1.7 Data Manipulation Abstractions (Expressions)
     1.7.1 Precedence
     1.7.2 Expression compatibility
1.8 Abstractions for Computing Machines
     1.8.1 Computer Hardware Organization
     1.8.2 Computer Software Organization
     1.8.3 Computing Notations
1.9 Abstractions for Instructing Machines--Program Structures
     1.9.1 Program Control Abstractions
     1.9.2 Encoding (Representing) Programs--Pseudocode
     1.9.3 Syntax, and Semantics
     1.9.4 The Control of Errors
1.10 Chapter Summary
1.11 Assignments
Contents