This book is a beginner's introduction to Ada 95. It uses an example-driven approach which gradually develops small trivial programs into large case-study type programs. The main emphasis of this book is on maintenance problems, and using object-oriented technology to write maintainable, extensible programs. Program design is introduced throughout the book, with hypothetical maintenance scenarios used to shoe design shortcomings. and revise them to accomodate maintenance needs. Practical issues such as debugging programs are tackled, and important Ada features not found in other languages are dealt with practically and early on in the text. These include exception handling, user-defined types, procedures, functions, packages and child packages.