Lessons
Ada · Expert
Ada · Expert. Ten lessons. Open-book quizzes. Lesson 1 free.
10 lessons · The Host · Lesson 1 free
Pass all ten lessons for the certificate. Sample · Claim

Lesson 1 · On the house
SPARK: provable Ada
SPARK_Mode, Global and Depends contracts, loop invariants, and what gnatprove proves.

Lesson 2
Real-time tasks
Ada.Real_Time clocks, periodic tasks with delay until, priorities, and drift-free scheduling.

Lesson 3
Custom storage pools
Control allocation with Root_Storage_Pool subclasses, arenas, and Storage_Size.

Lesson 4
Interfacing with C
Import and Export aspects, Convention C, Interfaces.C types, and C strings.

Lesson 5
User-defined iteration
Make for ... of work on your own types with Default_Iterator, Iterator_Element, and indexing aspects.

Lesson 6
Formal packages and signature generics
Pass whole generic instances as parameters to build layered, reusable abstractions.

Lesson 7
Streams and serialization
'Write, 'Read, 'Output, 'Input attributes with Stream_IO, and custom stream representations.

Lesson 8
Fixed-point and decimal types
Ordinary fixed-point with delta, decimal types with digits, and exact money arithmetic.

Lesson 9
Barriers and suspension objects
Synchronous_Barriers to release groups of tasks together and Suspension_Object signals.

Lesson 10
Validity, checks, and overflow
'Valid for untrusted data, check suppression, overflow modes, and when to turn checks off.
Sample certificate
Certificate of completion
Sign in to claim your certificate of completion.
Certificate
Finish all ten lessons, then sign in
Pass every lesson on this device (quizzes and checks). Then sign in or create an account to type your name and download the JPG.