Very often one is taught C before C++. While C is a procedural language, C++ offers a much more powerful programming paradigm, which is referred to as object oriented programming. Since C++ is only an extension of C, it can be difficult to leave behind the procedural programming techniques. This book will therefore emphasize on the structure of an object oriented program before delving into the details of C and C++ syntax. In order to illuminate this structure, the Unified Modeling Language will be used. This is a graphical programming language developed to model object oriented programs. The syntax of C and C++ will be taught mostly through small examples throughout the book, culminating in a medium sized tutorial in the last chapter. Every chapter ends with a set of exercises that tries to capture the essence of the preceding chapter, and at the same time tries to prepare for the next.