This book explains and illustrates key concepts of programming by taking a breadth approach to programming languages. It uses C++ as the primary language throughout, demonstrating imperative, functional and object-oriented language concepts.