[net.cse] Computer Science Degree Discussion

conrad@wucs.UUCP (03/07/86)

	There has been a considerable discussion about the "value of a
computer science degree" in recent weeks.  Now that I have a few
minutes I'll throw in a few comments that I have.

	I'm not sure that the terms "field" or "discipline" should be
applied to the "computer science" programs taught by many colleges in
the U.S.  The programs of study are often a mishmash of topics drawn
from the "proto-fields" that I list below.

1) _computing science_, the study of the principles underlying computation,
is really a branch of applied mathematics (or perhaps the various
subfields of mathematics could be viewed as branches of computing
science :-) ).  Teaching computing science should primarily involve guiding
students to learn to THINK clearly and formally about problems and to
devise desirable, correct, and efficient solutions.  The computing
science program should present intellectual tools that (are/may be)
helpful in this THOUGHT process.

2) _computation engineering_ (i.e., "software engineering"), on the
other hand, is the engineering discipline build upon the  "computing
science" foundation.  To the intellectual techniques of computing
science it should add a methodological framework and professional
culture.  It emphasizes building computations to a greater extent
than computing science and also has to take into account more of the
"real-world" environment of the computation, e.g., economic, legal, and 
social issues.

3) _computer engineering_ is probably better defined than the above
"proto-fields".  This term seems to be applied to the subfield of
electrical engineering that deals with the engineering of
computational devices.  (Perhaps in a more general setting this should
be viewed as a subfield of computation engineering.  For example,
design of computational devices based on biological/organic technology
rather than electronic technologies would still be computer
engineering.)

4) _computer technology and applications_ is study of "current"
technologies and how to apply them to particular application areas.

	I believe that categories 1 thru 3 are valid foci for programs
of study at the college level.  I'm not sure that category 4 is a
valid basis for a "four-year" college program.  If so, then perhaps
at a "engineering technology" level.  It would probably be a valid
focus for junior-college programs or an applied minors.  Unfortunately
many "computer science" programs indiscriminantly mix topics from the
areas and end up focusing excessively on computer technology. 

	Don't get me wrong here, I am not opposed to the study of
current technology and applications at the college level.  Computing
scientists can benefit from the concreteness of "real-world"
applications.  To completely ignore the "job training" aspects of
college degrees would be unrealistic and unnecessarily elitist.
However, I do believe that the best career or life (if not job)
training is to to concentrate on broad and long-lived principles
instead of specific job training. 

	Our computer science programs probably concentrate too much on
the PRODUCTS and not enough on the PROCESSES.  For example, teaching
a programming language instead of the analysis, reasoning, and
specification techniques needed to solve problems--or building courses
around topics such as operating systems and compilers instead of around
general concepts such as concurrent/distributed computation and language
processing.

Conrad Cunningham
Washington University in St. Louis
	

ladkin@kestrel.ARPA (Peter Ladkin) (03/11/86)

In article <1487@wucs.UUCP>, conrad@wucs.UUCP writes:
> 1) _computing science_, the study of the principles underlying computation,
>
> 2) _computation engineering_ [..] is the engineering discipline 
> built upon the  "computing science" foundation. 
>
> 3) _computer engineering_ [..] the subfield of
> electrical engineering that deals with the engineering of
> computational devices.  
> 
> 4) _computer technology and applications_ is study of "current"
> technologies and how to apply them to particular application areas.
> 
Where does AI fit here?                                             
                                                                
Peter Ladkin                                                  
                                                       
                                                            
                                                           
                                                              
                                                                 
                                                         
                                                       
                                                                 
                                                             
                                                                  

fine@nmtvax.UUCP (Andrew J Fine) (03/13/86)

In article <> ladkin@kestrel.ARPA (Peter Ladkin) writes:
>In article <1487@wucs.UUCP>, conrad@wucs.UUCP writes:
>> 1) _computing science_, the study of the principles underlying computation,
>>
>> 2) _computation engineering_ [..] is the engineering discipline 
>> built upon the  "computing science" foundation. 
>>
>> 3) _computer engineering_ [..] the subfield of
>> electrical engineering that deals with the engineering of
>> computational devices.  
>> 
>> 4) _computer technology and applications_ is study of "current"
>> technologies and how to apply them to particular application areas.
>> 
>Where does AI fit here?                                             
>                                                                
>Peter Ladkin                                                  
>                                                       
>                                                       

   5) knowledge engineering : the study of programming based on the 
operation of production rules on a data-base.

conrad@wucs.UUCP (03/14/86)

In article <5665@kestrel.ARPA> ladkin@kestrel.ARPA (Peter Ladkin) writes:
>In article <1487@wucs.UUCP>, conrad@wucs.UUCP writes:
>> 1) _computing science_, the study of the principles underlying computation,
>>
>> 2) _computation engineering_ [..] is the engineering discipline 
>> built upon the  "computing science" foundation. 
>>
>> 3) _computer engineering_ [..] the subfield of
>> electrical engineering that deals with the engineering of
>> computational devices.  
>> 
>> 4) _computer technology and applications_ is study of "current"
>> technologies and how to apply them to particular application areas.
>> 
>Where does AI fit here?                                             

If you are talking about AI "research", then it probably doesn't fit in any of
the categories.  AI "applications" would perhaps fit in either 2 or 4,
or perhaps a new "knowledge engineering" category.

From my limited understanding and appreciation for AI, I don't see it
as a "science".  AI is exploring some areas that aren't well enough
understood yet to be dealt with scientifically.  As a better
understanding of an area evolves, then it moves out toward the
mainstream of computer science/applications--it is no longer AI.
Perhaps it's role is somewhat analogous to the role that the field of
Philosophy has played with the traditional sciences.  New areas of
investigation are often explored first by "philosophers" and then, based
on the conceptual frameworks that evolve, the "scientists" can explore
the area scientifically--in an existing field or in a new field.  (How
can you form a scientific hypothesis when you don't know how to begin
to think about the problem? --I don't mean to imply that the
"philosopher" and the "scientist" can't be the same person.)

To me, the "field" of AI as it exists in 1986, is part computing
science, part psychology, part "art", part theology (some of the
issues AI deals with have a theological component), part public
relations hype, part con game, and part mysticism.  :-)

Conrad Cunningham
"Does AI stand for _Ain't Intellegence_?"