| |
| |
| |
Introduction to Computers, Problem Solving, and Programming | |
| |
| |
| |
Overview of Computers | |
| |
| |
| |
Computer Hardware | |
| |
| |
| |
Computer Software | |
| |
| |
| |
Processing a High-Level Language Program | |
| |
| |
| |
The Software Development Method | |
| |
| |
| |
Applying the Software Development Method | |
| |
| |
| |
Professional Ethics for Computer Programmers | |
| |
| |
Chapter Review | |
| |
| |
Interview with Bjarne Stroustrup | |
| |
| |
| |
Overview of C++ | |
| |
| |
| |
C++ Language Elements | |
| |
| |
| |
Reserved Words and Identifiers | |
| |
| |
| |
Data Types and Declarations | |
| |
| |
| |
Executable Statements | |
| |
| |
| |
General Form of a C++ Program | |
| |
| |
| |
Arithmetic Expressions | |
| |
| |
| |
Interactive Mode, Batch Mode, and Data Files | |
| |
| |
| |
Common Programming Errors | |
| |
| |
Chapter Review | |
| |
| |
Programming Projects | |
| |
| |
Interview with Josée Lajoie | |
| |
| |
| |
Top-Down Design with Functions and Classes | |
| |
| |
| |
Building Programs from Existing Information | |
| |
| |
| |
Library Functions | |
| |
| |
| |
Top-Down Design and Structure Charts | |
| |
| |
| |
Functions without Arguments | |
| |
| |
| |
Functions with Input Arguments | |
| |
| |
| |
Scope of Names | |
| |
| |
| |
Extending C++ through Classes: Using Class string | |
| |
| |
| |
Common Programming Errors | |
| |
| |
Chapter Review | |
| |
| |
Programming Projects | |
| |
| |
Interview with Mark Hall | |
| |
| |
| |
Selection Structures: if and switch Statements | |
| |
| |
| |
Control Structures | |
| |
| |
| |
Logical Expressions | |
| |
| |
| |
Introduction to the if Control Statement | |
| |
| |
| |
if Statements with Compound Alternatives | |
| |
| |
| |
Decision Steps in Algorithms | |
| |
| |
| |
Checking the Correctness of an Algorithm | |
| |
| |
| |
Nested if Statements and Multiple-Alternative Decisions | |
| |
| |
| |
The switch Control Statement | |
| |
| |
| |
Common Programming Errors | |
| |
| |
Chapter Review | |
| |
| |
Programming Projects | |
| |
| |
| |
Repetition and Loop Statements | |
| |
| |
| |
Counting Loops and the while Statement | |
| |
| |
| |
Accumulating a Sum or Product in a Loop | |
| |
| |
| |
The for Statement | |
| |
| |
| |
Conditional Loops | |
| |
| |
| |
Loop Design and Loop Patterns | |
| |
| |
| |
The do-while Statement | |
| |
| |
| |
Review of while, for, and do-while Loops | |
| |
| |
| |
Nested Loops | |
| |
| |
| |
Debugging and Testing Programs | |
| |
| |
| |
Common Programming Errors | |
| |
| |
Chapter Review | |
| |
| |
Programming Projects | |
| |
| |
Interview with Mike Weisert | |
| |
| |
| |
Modular Programming | |
| |
| |
| |
Value and Reference Parameters | |
| |
| |
| |
Functions with Output and Input Parameters | |
| |
| |
| |
Stepwise Design with Functions | |
| |
| |
| |
Using Objects with Functions | |
| |
| |
| |
Debugging and Testing a Program System | |
| |
| |
| |
Recursive Functions (Optional) | |
| |
| |
| |
Common Programing Errors | |
| |
| |
Chapter Review | |
| |
| |
Programming Projects | |
| |
| |
Intervew with Robert Sebesta | |
| |
| |
| |
Simple Data Types | |
| |
| |
| |
Constants Revisited | |
| |
| |
| |
Internal Representations of Numeric Data Types | |
| |
| |
| |
Character Data and Functions | |
| |
| |
| |
Type bool Data and Logical Expressions | |
| |
| |
| |
Enumeration Types | |
| |
| |
| |
Common Programming Errors | |
| |
| |
Chapter Review | |
| |
| |
Programming Projects | |
| |
| |
Interview with Thomas Drake | |
| |
| |
| |
Streams and Files | |
| |
| |
| |
The Standard Input/Output Streams | |
| |
| |
| |
External Files | |
| |
| |
| |
Using External Files for Communication between Programs | |
| |
| |
| |
More on Reading String Data | |
| |
| |
| |
Input/Output Manipulators | |
| |
| |
| |
Common Programming Errors | |
| |
| |
Chapter Review | |
| |
| |
Programming Projects | |
| |
| |
Interview with Anita Borg | |
| |
| |
| |
Data Structures:Arrays and Structs | |
| |
| |
| |
The Array Data Type | |
| |
| |
| |
Sequential Access to Array Elements | |
| |
| |
| |
Array Arguments | |
| |
| |
| |
Reading Part of an Array | |
| |
| |
| |
Searching and Sorting Arrays | |
| |
| |
| |
Analyzing Algorithms: Big-O Notation | |
| |
| |
| |
The Struct Data Type | |
| |
| |
| |
Structs as Operands and Arguments | |
| |
| |
| |
Strings as Arrays of Characters (Optional) | |
| |
| |
| |
Common Programming Errors | |
| |
| |
Chapter Review | |
| |
| |
Programming Projects | |
| |
| |
| |
User-Defined Classes | |
| |
| |
| |
Class Definition and Use | |
| |
| |
| |
Class Implementation | |
| |
| |
| |
Summary of Rules for Use of Classes and Objects | |
| |
| |
| |
Classes as Operands and Arguments | |
| |
| |
| |
A Fraction Class | |
| |
| |
| |
A Circle Class | |
| |
| |
| |
A Simple String Class | |
| |
| |
| |
A Savings Account Class | |
| |
| |
| |
Common Programming Errors | |
| |
| |
Chapter Review | |
| |
| |
Programming Projects | |
| |
| |
Interview with Timothy Budd | |
| |
| |
| |
Data Abstraction and Object-Oriented Design | |
| |
| |
| |
Multidimensional Arrays | |
| |
| |
| |
Array of Structs | |
| |
| |
| |
Template Classes | |
| |
| |
| |
The Indexed List Abstract Data Type | |
| |
| |
| |
Implementing the Indexed List Class | |
| |
| |
| |
Illustrating Object-Oriented Design | |
| |
| |
| |
Operator Overloading and Friends | |
| |
| |
| |
The vector Class | |
| |
| |
| |
Common Programming Errors | |
| |
| |
Chapter Review | |
| |
| |
Programming Projects | |
| |
| |
Interview with John Lakos | |
| |
| |
| |
Recursion | |
| |
| |
| |
The Nature of Recursion | |
| |
| |
| |
Tracing Recursive Functions | |
| |
| |
| |
Recursive Mathematical Functions | |
| |
| |
| |
Recursive Functions with Array Arguments | |
| |
| |
| |
Problem Solving with Recursion | |
| |
| |
| |
Common Programming Errors | |
| |
| |
Chapter Review | |
| |
| |
Programming Projects | |
| |
| |
Interview with Marshall Cline | |
| |
| |
| |
Pointers and Dynamic Data Structures | |
| |
| |
| |
Pointers and the new Operator | |
| |
| |
| |
Manipulating the Heap | |
| |
| |
| |
Linked Lists and the list Class | |
| |
| |
| |
The Stack Abstract Data Type | |
| |
| |
| |
The Queue Abstract Data Type | |
| |
| |
| |
Binary Trees | |
| |
| |
| |
Binary Search Tree Abstract Data Type | |
| |
| |
| |
Efficiency of a Binary Search Tree | |
| |
| |
| |
Common Programming Errors | |
| |
| |
Chapter Review | |
| |
| |
Programming Projects | |
| |
| |
| |
Multiprocessing Using Processes and Threads | |
| |
| |
| |
Multitasking | |
| |
| |
| |
Processes | |
| |
| |
| |
Interprocess Communications and Pipes | |
| |
| |
| |
Threads | |
| |
| |
| |
Common Programming Errors | |
| |
| |
Chapter Review | |
| |
| |
Programming Projects | |
| |
| |
| |
ASCII Character Set | |
| |
| |
| |
Reserved Words and Special Characters | |
| |
| |
| |
Selected C++ Library Facilities | |
| |
| |
| |
Operators | |
| |
| |
| |
A Brief Introduction to Inheritance and Polymorphism | |
| |
| |
Answers to Odd-Numbered Questions | |
| |
| |
Index | |