Using object-oriented terminology from the start, this work provides readers with a foundation in C++ programming. It uses examples to teach both the syntax of the C++ language and sound programming principles. It begins with an overview of object-oriented programming and C++, and then builds upon this knowledge to teach complex concepts.