comp.lang.ada
 help / color / mirror / Atom feed
From: agate!spool.mu.edu!news.nd.edu!thor.cc.nd.edu!wessels@ucbvax.Berkeley.EDU (Andy Wessels)
Subject: Re: CS/SE curricula (was: Is CM important? (was: Use pragma I...
Date: 19 Jul 91 17:59:27 GMT	[thread overview]
Message-ID: <1991Jul19.175927.16632@news.nd.edu> (raw)

OK, here is my $0.02.  Yes, it is true that I am a student, but there are some
observations that I have made over the last couple of years and especially the
lasst couple of weeks.  Please bear in mind that this is from a computer 
engineering standpoint (the degree that I am working towards).

First, calculus is important.  Granted, I somewhat loathe doing it, but after
taking calculus, I am able to recognize the math, even if all is not remembered
.
But, I do know where or more importantly, HOW to look up the answer.

Second, the humanities are _very_ _very_ important.  Engineering in a broad
sense is 'applied physics'.  Engineering is a combination of laws from physics
and taking those laws and (attempting) to put those laws to good use.  Good
use is a judgment call made by humanity or the target group  for the 
engineering.  All of the physics/nature laws in the world will not make a 
good product.  Nor will all humanities.  But, there is a happy medium in there
where all sorts of magic happens.  Someone who understands the needs of others
and someone who understands the laws of physics and nature has a higher 
probabilty of doing an exceptional job.  Persons doing  programming need to
understand where the system is going in order to do a good job; understanding
_why_ a triple redundant system is needed in air-traffic control and the
potential for lost lives is a fundamental underlying problem in the design
of such a system.

Third, a broad base of programming languages is highly important, as well as th
e
history of programming languages.  Knowing _why_ a language is the way it is
leads to better use of that language whether it be Pascal, Ada, or C, or even
Fortran or Cobol.  These languages are just _tools_ to do a job, and some are
better than others.  As an example, one of the classes that I was in taught
programming targeted for imbedded systems.  The host language that was used was
Pascal, and assembly, although C is also on the system.  Pascal by itself could
not do all; assembly was needed  for parts of the program. Learning _how_ to
interface other languages into a host language is very important in this arena,
as there may not be an OS on the imbedded system.  Another class that I was 
involved in was a surevey of programming languages.  We covered something like
seven major languages, and talked about the history and ramifications of ~24
others.  Granted, there was no 'deep' understanding of the languages, but there
was a general understanding of features/benefits  of the language.  Teaching
only  one or two languages is akin to showing someone how to use a hatchet,
but not an axe.  They do the same fundamental thing--they cut wood--but are
different in there  use and techniques.  This is the type of teaching that need
s
to be done.  I am a firm believer in making students think for themselves (in
a classroom situation) and not babied.  The interesting thing is that the
profs. that are CS only tend to 'baby' students, whereas the engineering profs.
tend to make the students think.  Granted, this is a general oversimplification
,
but the trend is still there.  And this is scarry to me, as I realize that 
many of my friends from 'other institutions' have similiar experiences.

andy
wessels@thor.cc.nd.edu

flames to above address, if you wish.

                 reply	other threads:[~1991-07-19 17:59 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox