(NOTE: Each chapter concludes with Chapter Summary, Programming Pointers, and Programming Problems.)
0. Beginning Snapshots.
PART OF THE PICTURE: What Is Computer Science? PART OF THE PICTURE: The History of Computing. PART OF THE PICTURE: Introduction to Computer Systems.
1. Problem Solving and Software Engineering.
Welcome to the World of C++. Problem Solving through Software Engineering. Case Study: Revenue Calculation. OBJECTive Thinking: Spheres As Objects. PART OF THE PICTURE: Ethics and Issues.
2. Types.
Introductory Example: Computing Student Pay. Types and Declarations. PART OF THE PICTURE: Data Representation. OBJECTive Thinking: Attribute Variables.
3. Operations and Expressions.
Introductory Example: Einstein's Equation. Numeric Expressions. Boolean Expressions. Character Expressions. Assignment Expressions. Input/Output Expressions. Example: Truck Fleet Accounting. OBJECTive Thinking: Initialization and Constructors.
4. Functions.
Introductory Example: Temperature Conversion with Expressions. Introductory Example: Temperature Conversion with Functions. Functions That Use Selection. Functions That Use Repetition. PART OF THE PICTURE: Computability Theory. Case Study: An 8-Function Calculator. An Introduction to Libraries. OBJECTive Thinking: Class Methods.
5. Using Classes.
Introductory Example: 'The Farmer in the Dell.' Introduction to Classes. The istream and ostream Classes. Computing with string Objects. Case Study: Decoding Phone Numbers. PART OF THE PICTURE: Simulation. OBJECTive Thinking: Instance Methods.
6. Selection.
Introductory Example: School Mascots. Selection: The if Statement. Selection: The switch Statement. Example: Computing Letter Grades. Selection: Conditional Expressions. PART OF THE PICTURE: Boolean Logic and Digital Design. PART OF THE PICTURE: Computer Architecture. OBJECTive Thinking: Mutator Methods.
7. Repetition.
Introductory Example: The Punishment of Gauss. Repetition: The for Loop. Repetition: The while Loop. Repetition: The do Loop. Input Loops. Choosing the Right Loop. Case Study: Calculating Depreciation. PART OF THE PICTURE: Introduction to Algorithm Analysis. OBJECTive Thinking: Code. Reuse Through Inheritance.
8. Functions in Depth.
Introductory Example: One-Step Integer Division. Parameters in Depth. Examples of Parameter Usage. Inline Functions. Scope, Overloading, and Templates. A Brief Introduction to Recursion. PART OF THE PICTURE: Numerical Methods. OBJECTive Thinking: Class Variables, Instance Variables, and Scope.
9. Files and Streams.
Introductory Example: Weather Data Analysis. ifstream and ofstream Objects. Example: Scanning for a Virus. Additional Stream Features. PART OF THE PICTURE: Database Systems. OBJECTive Thinking: Objects and Streams.
10. Arrays and Vector 'T' s.
Introductory Example: Quality Control. C-Style Arrays. Sorting. Searching. Example: Processing Employee Information. The vector'T' Class Template. Example: Processing Test Scores. OBJECTive Thinking: Objects and Sequences.
11. Building Classes.
Introductory Example: Modeling Temperatures. Designing a Class. Implementing Class. Attributes. Implementing Class Operations. Example: Retrieving Student Information. OBJECTive Thinking: Operator Overloading and Friends.
12. Enumerations.
Introductory Example: Wavelengths of Colors. C-Style Enumerations. Object-Oriented Enumerations. Example: Geological Classification. PART OF THE PICTURE: The C++ Type Hierarchy. OBJECTive Thinking: Inheritance and Polymorphism.
13. Multidimensional Arrays.
Introductory Example: Mileage between Cities. C-Style Multidimensional Arrays. Multidimensional vector'T' Objects. A vector 'T' -Based Matrix Library. PART OF THE PICTURE: Computer Graphics. OBJECTive Thinking: The Matrix Class Revisited.
14. Pointers and Run-Time Allocation.
Introduction to Pointer Variables. Run-Time Allocation Using new and delete. The STL list Class Template. Pointers and Command-Line Arguments. PART OF THE PICTURE: Algorithm Efficiency. OBJECTive Thinking: Pointers and Polymorphism.
15. Data Structures.
Introductory Example: The Binary Representation of Integers. The Queue Container. Recursion Revisited. An Introduction to Trees. Trees in STL. PART OF THE PICTURE: Expert Systems.