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
Capstone Program

Why Teach Ada and SPARK?

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 and SPARK within an academic setting. It also encourages teachers to share experiences with these languages from their professional work.

Benefits of Membership

Membership in GAP includes access to a worldwide community of academic professionals and a wealth of knowledge, tools, and resources designed to provide educators with all they need to teach Ada and SPARK.

In addition, all members receive direct, professional support, including assistance in using the Ada/SPARK tooling, suggestions for workarounds when issues arise, and help in understanding Ada 2022, 2012, 2005, 95, and SPARK.

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. AdaCore provides the GAP Package to members at no cost.

Tools and Resources

AdaCore has assembled a number of useful tools and resources specifically designed to help GAP members teach Ada and SPARK, including:

The Community

Membership in GAP includes access to a worldwide community of academic and industry professionals offering a wealth of knowledge and resources to inspire new courses and projects, including:

  • Tutorials

  • Lecture modules and notes

  • Lab exercises

  • Slide presentations

  • Articles and papers

  • Ideas for student projects

  • Books and videos

  • Programming challenges

  • Capstone projects

  • Apprenticeship programs

  • GitHub


GAP members receive direct, professional support, including:

  • Assistance in using the Ada/SPARK tooling

  • Suggestions for workarounds when issues arise

  • Help in understanding Ada 2022, 2012, 2005 and 95

  • Help in understanding SPARK