Ada is the programming language of choice for high integrity software systems and is used extensively in industries such as transportation and aerospace. This textbook is intended for experienced programmers (advanced students and practicing software engineers) who need to master software design and programming in Ada. Special features of the book include:

• The constructs of the language are taught within the context of large case studies such as a discrete event simulation.

• Object-oriented programming, concurrency, and embedded and real-time systems are emphasized.

• Ada for Software Engineers explains the language concepts and the terminology of the standards document, the Ada Reference Manual (ARM).

• Extracts from the ARM are used throughtout and there are extensive cross references to the ARM. A comprehensive glossary and quizzes assist the reader in developing the ability to use the ARM as a practical reference.

• Comparisons with familiar languages like C and Java are given to facilitate the transition to Ada.

• The features of Ada 2005 are used routinely, but they are carefully identified, so that programmers using Ada 95 will also find the textbook useful.

• The companion website contains the full source code of nearly 100 case studies and 100 technical quizzes.