TEAM-ADA Archives

Team Ada: Ada Programming Language Advocacy

TEAM-ADA@LISTSERV.ACM.ORG

Options: Use Forum View

Use Proportional Font
Show Text Part by Default
Show All Mail Headers

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

Print Reply
Subject:
From:
"Robert I. Eachus" <[log in to unmask]>
Reply To:
Robert I. Eachus
Date:
Fri, 3 Dec 1999 19:57:13 -0500
Content-Type:
text/plain
Parts/Attachments:
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...

ATOM RSS1 RSS2