About HBAP | Home | Quick Page | Welcome | FAQ
What's New? | RM 95Your Feedback

Organization: Ada Resource Association (ARA)
Keywords: Ada, ARA, clarity, software engineering


A different contest seems to be planned for students only.

Welcome to the
Ada Lovelace Programming Contest
of the Ada Resource Association (ARA)

The Ada contest seeks to recognize the most readable, original, reusable, and clear working Ada programs. Like the Ada programming language, the contest is named in honor of the first programmer in history, Lady Ada Lovelace.

Enclosed are the rules and guidelines of the contest. For up-to-date information, see the Ada contest WWW home:

This contest is open to all.

Every three months, the ARA will pay US$ 750 to the best Ada code segment submitted. Submissions must be received by the 15th (midnight) of the "contest month" and the award will be announced at the end of the second month. A submission is made by emailing the source code to

The first contest closed December 15th, 1995. (Thus contest months will be March, June, September, and December.)

On the 15th of the contest month an email message will be sent to the ARA mailing list indicating the FTP site from where those submissions may be downloaded. Submissions received after the 15th will be included in the next contest.



  1. A submission may "with" previous winners, but should otherwise be self-contained and portable from compiler to compiler. The software may depend on a particular operating system or other commonly available software, if necessary.

  2. It should be a good, reusable component or an elegant exposition of software engineering in action (modularity, information hiding, efficiency, readability, maintainability, etc.). There is no specific "challenge" for each contest; submissions can be of any size and solve any (interesting) problem.

    A submission should be written to uphold the spirit for which Ada was created:

    [From the Ada Reference Manual, "Design Goals"]
    Ada was originally designed with three overriding concerns: program reliability and maintenance, programming as a human activity, and efficiency. This revision to the language was designed to provide greater flexibility and extensibility, additional control over storage management and synchronization, and standardized packages oriented toward supporting important application areas, while at the same time retaining the original emphasis on reliability, maintainability, and efficiency.

  3. The copyright must be assigned to the ARA; the ARA will ensure that the submitted components are readily available through the Internet and that these components can be freely used by all Ada programmers. The name of the original author(s) will be kept.

  4. Appropriate documentation (e.g. comments!) and tests cases should be provided.

  5. Each submission should be original, creative, and unique.

  6. Each submission should include a 10-line paragaph explaining what the author specifically values in Ada in the context of the submitted code.

  7. Errors (at compile- or run-time) are disqualifying.

A non-winning submission may be (improved and) submitted to the next bimonthly competition.


A panel of independant judges will do the actual evaluation and will use their own judgement to balance the criteria. Rather than micromanage the criteria, it is expected that the judges will use good reasoning to determine quality software.

The judges may submit more specific direction to the ARA mailing list for particular contests.

The judges may (at their discretion) request changes to a submission.

To an appropriate extent, the judges will communicate their discussions in a public forum, such as comp.lang.ada, so that others may come to understand the decisions of the judges, and see how the winning entry adequately embodies the virtues associated with the language. In this manner, the contest can also be viewed as a teaching/learning tool.

The judges may be sending additional info to the ARA mailing list or comp.lang.ada.

A submission is usually examined in a number of ways. The judges will typically apply the following tests to a submission: