Learn Ada At The Online University

Sept. 25, 2013
The AdaCore University is a great way to learn Ada and its free. That includes the GPS IDE and Ada compiler.

Open source training has been getting a lot of publicity lately with organizations like the MIT OpenCourseWare and Khan Academy leading the charge. I have even set up a KA-Lite site at a local school that replicates the Khan Academy videos and lessons on the local server. This is because many of these platforms deliver video content and having a dozen or more students streaming video can bring an Internet link to its knees compared to a gigabit Ethernet link within the school.

Related Articles

MIT and others address some programming languages but Ada tends to be one that gets left out. I have written and recommended Ada in the past (see C Programmers, Time To Try Ada) because I think that it is a great platform for embedded development. It is better than C and even C++ in many ways except that most schools teach C and C++ or even Java although Java is getting more of a push in the embedded space again (see New Java ME Targets IoT Embedded Devices).

So what do you do if you want to learn Ada? Well check out the free AdaCore University, supported by AdaCore of course. It is free, and, like most of the open source training sites, it is covered by the Creative Commons license.

Like most video-based training platforms there is the player (Fig. 1). The PowerPoint slides are available as a download too. I find the slides to useful for paging back and forth while watching and listening to the presentation.

Figure 1. The AdaCore University training sessions are video based.

At the end of each session is an interactive quiz (Fig. 2). There is a description of the problem or issue and then the user selects an area where the problem occurs. The approach uses a simple interface but it works.

Figure 2. The interactive quiz asks you to find issue within sample Ada source code.

The training sessions address Ada but they are designed for testing on a real system. The sessions utilize the GNAT Programmable Studio (GPS) IDE (Fig. 3). GPS can be downloaded for free from Adacore Libre site. This has a number of other free and commercial downloads including an Eclipse IDE plug-in.

Figure 3. The GPS IDE is simpler than using Eclipse with the GNAT plug-in. Both are free downloads.

The training sessions and sample applications include the usual data manipulation but graphics do come into play. The bouncing ball application (Fig. 4) is only one of a growing number of graphical examples. The source code is available for modification and enhancement. Functionally there will be no surprises for those familiar with graphics primitives.

Figure 4. The bouncing ball application provides visual feedback highlighting Ada's ability to handle visual embedded chores.

At this point, the overview winds up with 10 bouncing balls. The training sessions address the basics from types, arrays to subprograms and packages. More will be added in the future but this is a good starting point. I am hoping that Ada's contract support (see Ada 2012: The Joy of Contracts) will be one of the next items added. Starting with good programming practices is the best way to learn a language.

I suspect that SPARK will be a future addition as well. SPARK is to Ada as MISRA C is to C, sort of. SPARK is much more. It is a subset of Ada that can be used for system proofs. That tends to be rather important when one is designing flight systems or powerplant control systems. Another is the Ravenscar profile.

Until then, the Technical Papers section contains these papers that I recommend.

You may not wind up using Ada in a production environment. Switching an organization from C to any language let alone Ada is not easy although the long term benefits can be significant.

So if making robust, reliable and safe programs is something you need to do then check out the courses at AdaCore University.

Sponsored Recommendations

The Importance of PCB Design in Consumer Products

April 25, 2024
Explore the importance of PCB design and how Fusion 360 can help your team react to evolving consumer demands.

PCB Design Mastery for Assembly & Fabrication

April 25, 2024
This guide explores PCB circuit board design, focusing on both Design For Assembly (DFA) and Design For Fabrication (DFab) perspectives.

What is Design Rule Checking in PCBs?

April 25, 2024
Explore the importance of Design Rule Checking (DRC) in manufacturing and how Autodesk Fusion 360 enhances the process.

Unlocking the Power of IoT Integration for Elevated PCB Designs

April 25, 2024
What does it take to add IoT into your product? What advantages does IoT have in PCB related projects? Read to find answers to your IoT design questions.

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!