Today AdaCore announced that the 5th annual “Make with Ada” programming competition will be launched on Friday, July 31st. Over the past four years this AdaCore-sponsored competition has produced impressive software engineering projects developed by participants worldwide, and this year’s competition promises to be equally successful. Geared to both experienced and new Ada and/or SPARK users, the contest has as its objective the design and implementation of an innovative embedded software project using Ada and/or SPARK as the primary language. Entrants must demonstrate that their system meets all requirements and uses sound software engineering practices.
The contest will start July 31, 2020, and run to January 31, 2021, offering over $9,000 in total prizes. Participants can register on the Hackster.io developer platform. High placing submissions from previous years include a smart base IoT adjustable bed, an electrocardiogram detection device, a high integrity sumobot, a Swiss Army smart watch, an automated plant sprinkler and many more!
The competition is open to both individuals and team participants. Individuals must be at least 18 years of age. Teams can be composed of up to four participants, each of whom must be individually eligible. Student projects must be submitted either by a student participant (age 26 or less with a valid student ID), or a team composed of student participants. Business-supported people/projects are not eligible.
Evaluation Criteria and Prizes
Projects will be judged based on the documentation supplied in project logs, and prizes will be awarded to those projects that best meet the overall criteria:
- Software quality - Does the software meet its requirements?;
- Openness - Is the project Freely Licensed Open Source Software (FLOSS)?; and
- “Buzz factor” - Does it have a wow effect to appeal to the software community?
The following prizes will be awarded (US dollars):
- One First Prize, in the amount of $2000
- Ten Finalist Prizes, in the amount of $600 each
- One Student-only Prize, in the amount of $1000, will go to the best-ranking student finalist. A project submitted by a student is eligible for both the Student-only Prize and the cash prizes.
Award winners will be announced in March 2021.
Project submissions will be evaluated by a judging panel consisting of Bill Wong, Senior Technology Editor at Electronic Design; and Fabien Chouteau, AdaCore software engineer and an author of the Make with Ada blog post series.
“I have followed or judged the Make with Ada Competition since its inception, and I am amazed at how the competitors have raised the bar in terms of quality and complexity”
“I have followed or judged the Make with Ada Competition since its inception, and I am amazed at how the competitors have raised the bar in terms of quality and complexity," said Bill Wong. "The number of entries utilizing SPARK has also grown, which I find very encouraging.”
“The Make with Ada competition is a wonderful demonstration of the benefits and tools of Ada and SPARK in programming embedded systems, for new and experienced Ada users alike,” said Fabien Chouteau. “Each year we are continuously impressed and inspired by the innovation of the project entries. Best of luck to all!”
The Make with Ada competition is part of an overall AdaCore initiative to foster the growth of Ada and SPARK for developing embedded systems and more generally for developing software that matters. For those new to these languages, or looking to brush up on programming skills, AdaCore has developed an interactive e-learning platform to learn Ada and SPARK. Other elements of this initiative also include resources for free software developers and students/hobbyists at the GitHub repository, and the free GNAT Community development environment available to download.
About Ada and SPARK
Ada is a modern, internationally standardized programming language with a long and successful track record in the development of high-reliability embedded systems. Its strong typing and compile-time checking help catch errors early when they are easiest and least expensive to correct. The most recent version of the Ada standard, Ada 2012, supports contract-based programming (pre- and postconditions for subprograms), which in effect embeds the software’s low-level requirements as checkable assertions in the source code.
In critical systems where testing alone might not provide sufficient confidence, the SPARK subset of Ada supports mathematics-based assurance that relevant program properties are met (for example, the absence of run-time errors such as buffer overflow). SPARK can be introduced incrementally into a project, and contracts can be verified either statically (by the SPARK proof engine) or dynamically (with run-time checks).