
GNAT Academic Program
Encouraging Safe and Secure Programming in Academia
More than 100 members across 35 countries are teaching Ada and SPARK through the GNAT Academic Program (GAP).
GAP Highlights
SAILGate - Capstone
A student team at Penn State Behrend explored the idea of building a domain-specific hardware language (DSL) embedded in ParaSail—one that lowers to VHDL for use with standard gateware toolchains.

R7D - Capstone
R7D, designed by a group of students is the first iteration of a Lattice ECP5 FPGA board enabling an Ada-first, Alire-managed ecosystem with flexible power, SRAM/FRAM, and modular I/O.

VDI Challenge - Capstone
A Penn State Behrend Capstone team used Ada for the VDI racing challenge: bare metal control with real time tasking and an OpenCV style Ada library, integrated into an event driven demo.


Why Teach Ada and SPARK?
In today's rapidly evolving technological landscape, educators face the challenge of preparing students for a world where software reliability, safety, and security are preeminent. Ada and SPARK offer unique opportunities to equip students with the skills and principles essential for success in this environment.

More than just a programming language
Ada is more than just a programming language; it embodies cutting-edge concepts in software engineering. Specifically designed for large-scale, long-lived applications and embedded systems, Ada prioritizes safety and security at its core. In an era where cyber threats and system failures can have dire consequences, Ada's strong typing, modularity, runtime checking, and concurrency concepts make it a top choice for developing engineering skills that will stand the test of time.

SPARK: Practical Formal Verification
Formal verification emerges as a pivotal technology for the future of safe programming, offering mathematical assurance that software behaves exactly as intended. The SPARK stands out as the premier language for teaching these critical concepts. It bridges the gap between theoretical formal methods and practical software development, providing an accessible platform for educators and a valuable skill set for students.
Building Skilled Programmers Early with Ada and SPARK
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
A Collaborative Platform
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 their professional experiences with these languages.
Resources
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 and SPARK concepts.
Membership is open to teachers and 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.
"Capstone" projects
GAP's "Capstones" are real-world industrial integration projects sponsored and mentored by AdaCore engineers. They are designed for end-of-curriculum bachelor's and applied master's students and typically last from a couple of months to a full year. The Capstones focus on using the Ada and SPARK programming languages and emphasize the development of high-integrity software.
First, a Capstone project is selected from a list of projects that interest the tutor, the students, and AdaCore. Second, in collaboration with the academic tutor, the project is adapted to fit the needs of the students and the educational objectives and context. If you want to participate in a Capstone project, please reach out. We would be delighted to hear from you and explore potential collaboration opportunities.

Continue your journey with Ada and SPARK
Explore interactive tutorials, hands-on exercises, and structured courses on learn.adacore.com. Build confidence step by step, from fundamentals to advanced topics.


