Advanced Journey With Ada: A Flight In Progress


This is work in progress!

Information in this document is subject to change at any time without prior notification.


The code examples in this course use a 50-column limit, which greatly improves the readability of the code on devices with a small screen size. This constraint, however, leads to an unusual coding style. For instance, instead of calling Put_Line in a single line, we have this:

  (" is in the northeast quadrant");

or this:

Put_Line ("  (X => "
          & Integer'Image (P.X)
          & ")");

Note that typical Ada code uses a limit of at least 79 columns. Therefore, please don't take the coding style from this course as a reference!

This course will teach you advanced topics of the Ada programming language. The Introduction to Ada course is a prerequisite for this course.

This document was written by Gustavo A. Hoffmann and Robert A. Duff, with contributions from Franco Gasperoni, Gary Dismukes, Patrick Rogers, and Robert Dewar.

This document was reviewed by Patrick Rogers and Tucker Taft.


Release 2023-05

  • First draft release including following parts:

    • Data Types

    • Control Flow

    • Modular Programming