examples, exercises, and lengthy programming examples to supplement the books that were
in use at our university. It soon turned into a collection large enough to develop into a text.
The approach taken in this book is, in fact, driven by the students’ demand for clarity and readability.
The material was written and rewritten until the students felt comfortable with it. Most of the
examples in this book resulted from student interaction in the classroom.
As with any profession, practice is essential. Cooking students practice their recipes. Budding
violinists practice their scales. New programmers must practice solving problems and writing
code. This is not a C++ cookbook. We do not simply list the C++ syntax followed by an
example; we dissect the ‘‘why?’’ behind all the concepts. The crucial question of ‘‘why?’’ is
answered for every topic when first introduced. This technique offers a bridge to learning
C++. Students must understand the ‘‘why?’’ in order to be motivated to learn.
Traditionally, a C++ programming neophyte needed a working knowledge of another
programming language. This book assumes no prior programming experience. However,
some adequate mathematics background such as college algebra is required.