AdaIC News Winter 1995

Spotlight on Education:

An Educator's Perspective on Ada

Getting Ada into Computer Science classrooms hasn't been easy, but it's happening.

By Charles B. Engle, Jr., Ph.D.
Associate Professor and Chair
Computer Science, Florida Institute of Technology

Computer Science is an evolving discipline, and it periodically adopts new ideas to incorporate in the knowledge base that is its core. New methodologies and new tools are constantly introduced, tried, and, for the most part, discarded. Only the best of the ideas, tools , and methodologies remain. Thus, structured programming is a technique that has stood the test of time, as has step wise refinement and top down design.

Languages, however, are not so well entrenched in Computer Science. New languages are designed every year, and new enhancements are made to old languages. Therefore, when the U.S. Government announced that it had designed and developed a new language for its Department of Defense applications, it was with an underwhelming sigh that the computing community examined the newest language, Ada.

It seemed to have all of the latest features; indeed, it even had some innovative ones. But in the early 1980s, Ada was too big for microcomputers and too slow on minicomputers, and it was too expensive, and it was too complex, and it was, well, too specified. If one wanted to be strictly "official," there were no supersets or subsets, and it required that the compilers be validated.

A matter of attitude

Bah, humbug! How can the education computing community experiment with modifications to the compiler when that will invalidate the validation? How can we add our favorite gong or whistle when it wasn't a part of the standard? This was not a language with which to experiment (and get research dollars!), but rather, a language to solve complex, large scale software applications. Why do educators need this?

Unfortunately, for too many educators in too manyinstitutions for too long, this attitude was prevalent. Ada has had a difficult time in getting established.

Fortunately, some educators saw the merit of the enforced (encouraged?) software development discipline embodied in Ada. They used it in their courses. Some schools even adopted it in their curricula as the introductory language. They learned that Ada was a very good language to introduce to freshmen. The main pedagogic principles that have evolved over the years for software development practices were supported quite nicely. The language was designed specifically to support good development (engineering?) principles, and this proved to be very valuable. These pioneers spread the word. Ada isn't so terrible for academia after all. It may have a legitimate purpose and serve us well!

And changing attitudes

The number of schools using Ada has been increasing each year. Professor Michael Feldman of The George Washington University keeps track of the schools using Ada in introductory computer science or data structures courses. By the latest count, at least 79 schools use Ada as their primary introductory language. This is a significant increase over even three years ago when only 20 schools used Ada for this purpose. Further, 38 more schools use Ada in computer science major courses at the second or third semester level (CS2 and CS7 of the ACM Curriculum), even if they don't use it for the introductory computer science course. According to the Catalog of Resources for Education in Ada and Software Engineering (CREASE), published by the Ada Information Clearinghouse, there are several hundred schools using Ada somewhere in their curriculum.

Professor Richard Reid of Michigan State University also records what language various schools use for their introductory computer science course. It is interesting to note that on his list of over 404 schools, only 20 report using C++ as an introductory language. Even if his data is incomplete, this seems to negate the rumors of the overwhelming use of C++ in academia, at least at the introductory computer science level!

New software

So what is the perspective on Ada today?

Ada, especially with the changes adopted in Ada 9X, will continue to be accepted in academia, not because of mandates, but because it is pedagogically sound. C++ is simply not a language to introduce to new freshmen, and Pascal is becoming somewhat of a graybeard. Ada, as can be seen by the numbers in Feldman's list and in Reid's survey, is growing in popularity for many educators.

What comes with this increasing awareness and popularity? The obvious answer is the increased availability of tools and bindings to make Ada easier to use with legacy systems. Already vendors have made tools readily available to educators; tools that are free or have limited fees. Bindings to many powerful software development toolkits are also available either inexpensively or free. I predict the future will see more of this vendor support for academia simply because it makes sense for the vendors. After all, who are their future customers?

Textbooks are also becoming increasingly available. There are at least nine textbooks that use Ada as the language of discourse in introductory programming and over 23 textbooks available that use Ada as their primary illustration language. There are even more textbooks that mention Ada to some extent in the course of illustrating the topics. The old excuse that "there are no textbooks available" simply does not hold anymore.

Compilers used to be a major problem for educators using Ada. The few that were available required large resources and were very expensive. Increasingly compilers have become available that were less and less expensive. First, The George Washington University made available free their GW Ada/Ed, which is a very nice programming environment wrapped around the Ada/Ed "virtual compiler" built at New York University for Ada 83. Over 600 institutions, including about 300 non academic organizations, have obtained copies of GW Ada/Ed.

Recently the GNU Ada Translator (GNAT), the New York University Ada 9X compiler built in cooperation with the Free Software Foundation, has also been made available free to anyone with an interest in the next generation of Ada.

Further, both compilers are available in source code, and this makes them very attractive to research institutions. Experimentation with the compiler, even the use of the compiler as an artifact, is a long awaited development for academics.

And new hardware and new opportunities

Finally, the hardware on which to run the compilers has matured to the point that it has now caught up with Ada. By this I mean that inexpensive, very powerful computers are available with the computing power to handle a language like Ada. Intel 80486 processors and PowerPC processors have more than enough computing power to facilitate Ada, and their prices have been reduced to the point that most schools can easily afford them. In short, compilers and the machines to do them justice are now within the limited resource reach of most universities.

In summary, Ada now has compilers and hardware readily available, textbooks, tools, bindings, and renewed interest. I think the outlook for Ada is brighter now than it ever has been. Educators are adopting, and adapting to, Ada in increasing numbers.

From this educator's perspective, I have looked into the future, and it contains Ada!

Back to AdaIC News Winter '95 Contents