Computer Science Dept switches to Ada for More Effective Learning

Western Washington University (Bellingham, Washington, US)

In 2004, the faculty of the Computer Science department at Western Washington University conducted a comprehensive review of the undergraduate curriculum. At the heart of their considerations was the choice of programming language for the introductory programming courses. The faculty agreed that their current choice, C++, was not effective because students were spending so much of their time and intellectual effort on the idiosyncrasies of the language and much less time on problem solving and scalable programming practices.

After much discussion, the department decided to change to Ada. At a time when many computer science departments were switching to Java, faculty at WWU remained unconvinced. They considered Java’s virtual machine concept and the “objects first” approach as major contributors to confusion among introductory students as to just what is really happening during program execution.

“We felt that the clarity of Ada’s syntax and semantics would make it easier for students to learn and work with”, said Prof. David Bover. “We also felt that Ada’s package and generic features would support and encourage students in the use of good, scalable programming practices.”

As a result of this change, the department was able to reduce its introductory programming sequence from four courses to three, in the trimester system, with improved results in terms of students’ problem solving and programming ability.

The use of Ada in the curriculum has now spread beyond the introductory programming sequence. The department has an upper division course on concurrent and distributed programming, where students learn about Ada tasking, C Pthreads, and the functional approach of Erlang.

The department’s switch to Ada was initially opposed by the vast majority of students who saw far more job opportunities for software development in C++, Java, and later, C#. However, Prof. Bover explained that their opinion has changed: “Students have come to realize that the computer science program at WWU is not about preparing them for a particular job. It is about preparing them for a career, and they see that using Ada at the start and at appropriate points later in the curriculum is providing them with an excellent basis for career-level training.”