This book builds on students’ experience with Java to teach C and C++ in a single term. It covers the modern features of C++ while preparing students for older coding practices they are likely to encounter in the wild. It covers the language fundamentals of pointers, arrays, classes, and templates; but it also includes chapters on memory management, third party libraries, and multi-dimensional arrays that are important for understanding how to get the most out of the language in actual practice. Finally, the book covers the fundamentals of working in C/C++'s natural habitat—a Linux-like command line environment.
The programming exercises build on one another to help students appreciate the value of code maintainability and reuse and to allow them to get deeper into a problem than they could in a single weekly assignment. They attack interesting problems in computer science, physics, and math; and each assignment suggests avenues for further independent investigation.
- Approachable, easy-to-follow writing style
- Builds on Java programming experience
- Real-world context for programming problems
- C and C++ in a single term

