Encouraging Safe & Secure Programming in Academia

Over 100 members in 35 countries are currently teaching Ada and SPARK using the GNAT Academic Program.

The GNAT Academic Program (GAP) links teachers of Ada and SPARK the world over and provides a way for members to exchange knowledge and resources.


See the full list of GAP member universities »

From the Blog
GAP Newsletters

Ada embodies the best contemporary ideas in software technology.

Ada is a modern programming language designed for large, long-lived applications – and embedded systems in particular – where safety and security are essential. It sees significant usage worldwide in the high-integrity and safety-critical domains, including commercial and military aircraft avionics, air traffic control, railroad systems, and medical devices.

SPARK expands the boundaries of safe and secure programming.

SPARK is a software development technology specifically designed for engineering high-reliability applications. It consists of a programming language, a verification toolset and a design method which, taken together, ensure that ultra-low defect software can be deployed in application domains where high-reliability must be assured, for example where safety and security are key requirements.

Students exposed to Ada and SPARK at an early stage of their career become more skilled and principled programmers.

With their embodiment of modern software engineering principles, Ada and SPARK are excellent teaching languages for both introductory and advanced computer science courses in elementary programming, data structures, software engineering and advanced courses in compiler construction. Ada, in particular, has been the subject of significant university research especially in the area of real-time technologies.

The GAP Package

GAP helps put Ada and SPARK at the forefront of university study.

GAP’s primary objective is to provide a collaborative platform for educational materials, knowledge, and resources. It enables the creation and exchange of ideas about using Ada, SPARK and GNAT within an academic setting. It also encourages teachers to share experiences with these languages from their professional work.

In addition to gaining access to worldwide GAP and GNAT Communities, all members receive a comprehensive toolset and support package specifically designed to provide educators with the tools they need to teach Ada and SPARK.

AdaCore provides the GAP Package to members at no cost.

Membership is open to teachers, as well as graduate students using Ada or SPARK technologies in the context of a master’s thesis or Ph.D.

Tools and Resources

GAP provides an integrated binary distribution of the GNAT and SPARK Communities, which includes a variety of add-ons and libraries for:

  • Windows 64 bits
  • GNU/Linux 64 bits
  • ARM bare metal hosted on Windows, and Linux
  • RISC-V bare metal hosted on Linux

The Community

Membership in GAP includes access to a worldwide community of academic professionals and a wealth of knowledge and resources, including:

  • Tutorials,
  • Lecture modules and notes
  • Lab exercises
  • Slide presentations
  • Articles and papers
  • Ideas for student projects
  • Books and videos
  • Programming challenges
  • GNAT Community
  • GitHub


GAP members receive direct, professional support for all academic versions of GNAT, including:

  • Assistance in using the system
  • Suggestions for workarounds when system issues arise
  • Help in understanding Ada 2012, 2005 and 95
  • Help in understanding SPARK