The book covers ANSI C++ and is illustrated with numerous programming examples. The first few chapters introduce computer programming for those who have no previous programming knowledge. The book avoids the early use of low level constructs such as pointers so that the key object-oriented concepts can be fully introduced. Only when the core ideas have been covered are the low-level components of C++ introduced. A case study is used to show how a UML design can be formulated and from the developed design a solution in C++ is developed. The UML notation is used in the book to illustrate object-oriented ideas and concepts. At the end of each chapter are self assessment exercises to answer and programming examples to implement.