[comp.software-eng] Software Eng. vs Computer Sci.

palexand@Intrepid.ece.ukans.edu (Perry Alexander) (02/19/89)

A great deal of discussion is being dedicated lately to the desirability of a
BS or MS in Software Engineering.  While watching, I have discovered that there
seems to be a great many opinions of what the differences are.  I was taught
that Computer Science is to Software Engineering what Physics is to a more
traditional engineering discipline.   Although the distinction is fuzzy, and
oversimplified, the math/cs folks do the pure science and the software
engineers apply that to current problems. In fact, at the school I attend now,
Software Engineering is a part of the Computer Engineering degree, granted by
the school of engineering, rather than a part of the Computer Science degree
granted by college of liberal arts. 

In my undergraduate CS education, I learned 2 imperitive laguages (only 1 was
required) and 1 functional language.  I got the normal dose of theory of
computing, data structures, structured programming, compiler theory, formal
language theory, etc.  Not word one about software lifecycle models, formal
design methods, specification, testing,... all those things we attribute to
software engineering.  When I worked my first industry job, I realized that no
one had ever tested a single line of code that I wrote.  Before you start
flaming on my undergraduate education, please be aware that the department from
which I graduated was, at that time, highly acclaimed.  I use and appreciate
what I was taught there, but it was not software engineering. 

Obviously, there is a need for somftware engineering to be taught.  The
big question is should it be a seperate entity from CS.  If not, then why
do we have schools of engineering for other branches of engineering.  Why
don't we just have specialized physics degrees?  The only good argument
I have heard here is that software engineering is not an old enough discipline
yet.

I will argue that both degrees are equally valuable, much as an Electrical 
Engineering degree is as valuable as a Physics degree.  It seems to be more
a matter of specialty.  Someone who is to spend his/her professional career
studying formal language theory has little to gain from an in-depth software
engineering course, however someone who is to design software has little to
gain from an in-depth study of formal languages.  (I will *not* argue that a
basic knowledge of both is not useful to both parties.)  Although an
undergraduate degree in physics will begin much the same as an undergraduate
degree in electrical engineering, they diverge somewhere around the end
of the sophomore year.  I would propose that a CS degree and a software
engineering degree will behave much the same.

As I am very interested in computer engineering/science curriculum, I would
appreciate any experiences/comments that you might have.

- Perry

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Perry Alexander               | ARPANET : alexander@space-tech.arpa
Systems Programmer	      | BITNET  : palexander@UKANVAX
The University of Kansas      | CSNET   : alexander%coeds@kuhub.cc.ukans.edu
Center for Research/TISL      |		  palexander@kuhub.cc.ukans.edu
2291 Irving Hill Dr.          |
Lawrence, KS. 66045           | "No matter where you go, there you are"
(913)-864-7753                |			- Buckaroo Bonzai

     <Standard "my employer doesn't think this too" disclaimer here.>

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

greyham@hades.OZ (Greyham Stoney) (02/21/89)

in article <297@Intrepid.ece.ukans.edu>, palexand@Intrepid.ece.ukans.edu (Perry Alexander) says:
>					 Although the distinction is fuzzy, and
> oversimplified, the math/cs folks do the pure science and the software
> engineers apply that to current problems.

There seems to be an awful lot of overlap here; which is not necessarily a bad
thing - no doubt it's mainly political, but at my Uni there's very little
co-ordination between the schools of Math, Comp. Sci, and Engineering - all of
which offer subjects in "computing".

>					 In fact, at the school I attend now,
> Software Engineering is a part of the Computer Engineering degree, granted by
> the school of engineering, rather than a part of the Computer Science degree
> granted by college of liberal arts. 

I'm currently undertaking a Computer Engineering degree, granted by the school
of Electrical Engineering, at the Uni of Technology down here in .oz. It
certainly seems that the school of Computing Science (and hence their
students) aren't as far into Software-Engineering as the engineering people
are; but then all the CASE equipment we're using is brand new [we're the
first year to use it] so they aren't necessarily far behind. I get the
general impression though that Computer Science are teaching their students
LOTS of languages; whilst Engineering are teaching us LOTS of concepts
instead.

> Obviously, there is a need for somftware engineering to be taught.  The
> big question is should it be a seperate entity from CS.
.
>			 I would propose that a CS degree and a software
> engineering degree will behave much the same.

Ummmm..... well; there shouldn't really be any difference should there?. I
percieve my "Computer Engineering" course as being more Hardware oriented
than "Computer Science" but more Software oriented than "Electrical
Engineering"; this may be different in other institutions, but if this is
the case (CASE, get it? :-), isn't the logical place for "Software
Engineering", in Computer Science?

				regs,
					Greyham
-- 
# Greyham Stoney:    (disclaimer not necessary: I'm obviously irresponsible)
# greyham@hades.nucleus.oz - Ausonics.        +61 2 428-6476 (my_phone@work)
# replys WILL bounce; try:    greyham@utscsd.oz - Uni of Technology, Sydney.
# WARNING: Reply mail is VERY broken at present. Any replys to utscsd.oz pls

marc@metavax.UUCP (Marc Paige) (02/22/89)

This discussion is interesting.  I had the bulk of my under grad work at the
USAF Academy.  There the major was Comp Sci- Software Engineering.  Of the
classes that we were required to take, software life cycle maintaince was
THE class that everyone in the major had to take.  The class spanned two
semesters and involved a "real world problem" to be anylized and
implemented.  Our problem was the cadet clinic's paper explosion.  We used
several methodologies and learned all of them by representing the system in
each methology.  Once that was done, we used Yourdon's Managing the
Structured Techniques to pick the best analysis and start the
implementation.  We had data dictionaries and encyclopedias and DFD and HIPO
charts and the whole systems analysis acronym list!  In addition to this,
the life cycle of a software system was continually flashed in our faces.  I
guess that the academy is simply trying to build good managers and software
engineers, not technicians.  Oh, btw the class could only be taken in your
senior year.  It was assumed that you had had all of the rest of the
classes that would give you the skills to do the analysis.

So, that is one experience.  I think all the military academies have a
similar emphasis on software engineering (ie. managing) rather than on just
theory and programming.


---------------------------------------------------------------------------
"tired and shagged out from a prolonged squawk" - mpfc the parrot sketch