TEAM-ADA Archives

Team Ada: Ada Programming Language Advocacy


Options: Use Forum View

Use Monospaced Font
Show Text Part by Default
Condense Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
"Team Ada: Ada Advocacy Issues (83 & 95)" <[log in to unmask]>
Geoff Bull <[log in to unmask]>
Fri, 3 Dec 1999 19:57:13 -0500
"Robert I. Eachus" <[log in to unmask]>
"Robert I. Eachus" <[log in to unmask]>
text/plain; charset="us-ascii"
text/plain (25 lines)
At 01:11 PM 12/3/1999 +1100, Geoff Bull wrote:
>"Richard L. Conn" wrote:
>> The VB controls
>> operate at such a high
>> level of abstraction that you don't have to worry about
>> the low-level details and can concentrate on the problem.
>Actually, I wonder if that's not part of your problem.

     I totally agree.  When teaching Ada in a programming course, I have found it is very gratifying to the students to be given a package specification and a description of what they have to do to implement correctly the body of the package.  This completely eliminates the need for the students to know anything about with clauses, Text_IO, program organization, etc. to complete the first few assignments.   Two other advantages are that you can provide decent diagnostics in your driver, so they don't have to get into the debugger or for that matter exceptions.  And second you can write a grading program to make it easy on the instructor.   Some examples--I certainly haven't used all of them:

     Towers of Hanoi (works nicely as an intro to tasking...)
     Runge-Kutta (great for engineers.)
     Grammar recognizer (Finite state machines)

     Now obviously I haven't taught Ada at a CS1 level in (hmmm...) 15 years, but for grad level course not directed at CS majors it is great.  Spend one hour on an intro to Ada (that notes that a lot is delayed until later) and the students can concentrate on the algorithms.

                                        Robert I. Eachus

with Standard_Disclaimer;
use  Standard_Disclaimer;
function Message (Text: in Clever_Ideas) return Better_Ideas is...