[comp.lang.ada] educational flame on

ROGERS@CL.UH.EDU ("Pat Rogers, High Tech Lab") (05/20/88)

The following was recently posted by Roger Vossler, in reply to a note 
from Richard Pattis:

>from: trwrb!trwspf!dragon@ucbvax.Berkeley.EDU  (Roger Vossler)
>Subject: Ada Compiler for Educational Use
>
>In article <8805121644.AA02786@june.cs.washington.edu> pattis@JUNE.CS.
>WASHINGTON.EDU (Richard Pattis) writes:
>*
>*  I have been teaching the CS-1 and CS-2 courses here at the University of
>*Washington in Modula-2 for the past 4 years.  I am now strongly considering
>*teaching Ada in these classes.  I would like to solicit recommendations for
>*compilers: we use a large VAX/VMS for instruction, but will also ultimately
>*need compilers for our own department's machines (mostly VAX/ULTRIX and Suns).
>
>In a word: DON'T! We have used Modula-2 a lot in our laboratory ...
>
>.... omitted material
>
>I would much prefer to hire people trained thoroughly in Modula-2
>before we hit them with Ada. Why? As a hiring manager, I want my
>young people to know how good it can be before I show them how bad
>it can get. I do not want universities damaging their minds any more
>than necessary before I hire them.

    Having people trained in Modula-2 prior to training them in Ada WOULD
    be preferable to having no prior training, but frankly, what students
    should be getting first is EDUCATION, then training! In particular,
    software engineering education is much needed. The "mind damage" you 
    mention is what we have been doing for too long - teaching syntax and
    hoping that on-the-job training will provide the rest, which it obviously 
    hasn't.  With proper rationale in the issues of how a language can be 
    used to support LARGE, complex systems via software engineering, Ada is 
    not hard to successfully teach to students - we do it here at the 
    University of Houston at Clear Lake and they come out the better for it.
    

>While many parts of Ada are useful, much of it is unnecessary for
>teaching basic concepts, particularly, in something like CS-1 or
>CS-2 (I'm assuming that these are entry level courses). If you really
>must teach Ada, do it after they have a solid foundation - not when
>their minds are soft and tender. 

    You seem to assume that Ada courses should 1) be just syntax/semantics 
    courses, (which is a disservice discussed above) and 2) cover all of the 
    language defined by the reference manual (which isn't all the language,
    anyway). For entry-level classes, there is no reason that a subset of
    Ada cannot be used. For example, not every feature needs to be covered,
    such as generics or tasking, and not every feature discussed needs 
    to be covered completely! For example, using a package to hide advanced 
    details, such as the generics used for I/O, works quite well. The point 
    is that software engineering education is MOST appropriate when their 
    minds are "soft and tender". Ada can be used to reinforce the concepts
    involved (if you have competent instructors) in providing that solid 
    foundation.
 
>I am not anti-Ada. Ada is a real
>advance in software engineering when compared to assembly language
>and Fortran which is still widely used on defense systems. I have
>argued that Modula-2 is the subset of Ada that Ada should have been
>before committees and contractors realized that they could get
>rich from it. Sigh.
>-- 
>-- Roger Vossler
>   TRW, Bldg O2-1395, One Space Park, Redondo Beach, CA 90278
>   BIX: rvossler      UseNet: dragon@trwspf.trw.com
>   ATT: 213.535.2804          ....!trwrb!trwspf!dragon

    Committees did NOT design the language! (Does anybody really still
    not know that??) Furthermore, contractors aren't getting rich from it,
    if you believe the stories of doing business with the government. You
    obviously do not have sufficient information. Coming from an organization 
    as well-versed in the issues of software engineering and the Ada language 
    as is TRW (especially in Redondo Beach), I can't imagine how that can be.
    Modula-2 is a good language for small to moderate  systems. However, now 
    that Ada implementations are often as good as the language design team's 
    definition, I don't see as much reason to use Modula-2 on small 
    systems either.
                      
Regards, with the usual disclaimers,

Patrick (Pat) Rogers
Software Engineering Research Center
University of Houston at Clear Lake (not just UH)
progers@ajpo.sei.cmu.edu