[comp.edu] What is Computer Science?

thornton@ssc-vax.UUCP (11/11/87)

The study of computers isn't science, unless one extends the definition
of computer beyond the digital instruments we all are familiar with.
After all, anyone with a background in chemistry and physics knows
exactly how a computer works.  Writing compilers and computer languages
is not science.

Most CS majors are not scientists. They are programmers.
-- 
     /\          
  /\/  \/\   
 / / /\/  \ Ken Thornton  {decvax,ihnp4}!uw-beaver!ssc-vax!ssc-bee!thornton   
/ / /  \   \

perez@devvax.UUCP (11/12/87)

Article <933@ssc-bee.ssc-vax.UUCP> thornton@ssc-vax.UUCP (Ken Thornton) writes:
>Most CS majors are not scientists. They are programmers.

 Excuse me... FLAME ON!!!

    Being a CS major myself...  I hate to see the equation:

             Computer Science Major = Computer Programmer

   I DO NOT CONSIDER MYSELF A PROGRAMMER!!!  I went to school and
   have gained a good general background in science and engineering.
   This enables me to use the computer as a tool to help others.
   I strive to try and use the computer in ways it has not already
   been used.

   If I wanted to be a programmer I could have gone to a local college
   and not spent $$$ to go to a good technical school.

   There is obviously difficulty in defining a CS major but I HATE
   being called A PROGRAMMER!!

 FLAME OFF...

   Now I grant you that most CS majors might go on to be programmers,
but I am going to do my best not to take that route.

   Sorry for wasting the nets time with my flames but I simply take
offense at being considered a programmer.  I wish people would not
categorize CS majors before taking a closer look at one's background.

                         Craig (Perez@devvax.JPL.NASA.Gov)

DISCLAIMER: I'm myself and no one else... This is MY opinion!!!
              Send flames about me to me and not the net...

pattis@uw-june.UUCP (Richard Pattis) (11/12/87)

No flames here, but I am happy to be called a programmer;  I teach an
introductory course in programming, not computer science - in much the
same way that others at my university teach an introductory course in
calculus, not mathematics.  I believe the analogy apt.

One of my favorite pieces of writing comes from John Gardner:

  "  An excellent plumber in infintely more admirable than an incompetent
   philosopher.  The society that scorns excellence in plumbing because
   plumbing is a humble activity, and tolerates shoddiness in philosophy
   because it is an exalted activity, will have neither good plumbing nor
   good philosophy.  Neither its pipes nor its theories will hold water."

Now, I understand that when one says computer scientist, the world thinks
programmer; and we all know that it's not true. But this is common: a friend
of mine reminds me that whenever he labels himself a mathematician, the next
comment from the other person is, "I was always bad at long division."  I
guess the approprate response to a computer scientist is, "I was always bad
at punctuation with semicolons.

lamaster@pioneer.arpa (Hugh LaMaster) (11/13/87)

In article <3597@uw-june.UUCP> pattis@uw-june.UUCP (Richard Pattis) writes:

>No flames here, but I am happy to be called a programmer;  I teach an

>Now, I understand that when one says computer scientist, the world thinks
>programmer; and we all know that it's not true. But this is common: a friend

I am sometimes given to wonder, though, about the supposed shortage of
programmers and computer scientists.  It seems to me that there are enough
computer scientists, (at each level of BS MS and PHD); most research teaching,
and "creative" fields have "enough" practitioners because many people enjoy
doing such thinggs.  It also seems to me that there are plenty of programmers
being turned out by lower tier "computer science" programs.  At least, I
haven't noticed the great programmer shortage that the papers keep talking
about.  (I think it lasted for about two years, 1977-1978 or so).  But I have
noticed a significant shortage of what I call software engineers, and I wish
more good quality engineering schools would take software engineering more
seriously.

On the same subject, namely, engineering, are there any schools left which
follow the once popular 5-year plan?  I see many complaints in this newsgroup
about the fact that most computer science and EE programs don't have enough:
Math, Physics, Humanities, etc., but 8 semesters is not really enough time to
cover all the Science and Humanities material AND provide depth in an
engineering discipline.  Back in the fifties and sixties, many schools had
five year programs for engineers, but I never seem to hear about them anymore.
Ten semesters would make it lot easier to fit it all in.



  Hugh LaMaster, m/s 233-9,  UUCP {topaz,lll-crg,ucbvax}!
  NASA Ames Research Center                ames!pioneer!lamaster
  Moffett Field, CA 94035    ARPA lamaster@ames-pioneer.arpa
  Phone:  (415)694-6117      ARPA lamaster@pioneer.arc.nasa.gov

(Disclaimer: "All opinions solely the author's responsibility")

retrac@titan.rice.edu (John Carter) (11/13/87)

Sender:


In article <933@ssc-bee.ssc-vax.UUCP> thornton@ssc-vax.UUCP (Ken Thornton) writes:
>The study of computers isn't science, unless one extends the definition
>of computer beyond the digital instruments we all are familiar with.
>After all, anyone with a background in chemistry and physics knows
>exactly how a computer works.

    You seem to be confusing Computer Science and Computer Engineering!
The study of computer science is NOT the process of learning how these piles
of silicon and metal work physically.  Computer science is the study of the
fundamental abstractions and practices that are used with computers.


>Writing compilers and computer languages is not science.
    In general I agree, but I would also say that the design of *new*
varieties of language (i.e. a language with fundamentally new semantics),
data communication protocols, algorithms, compiler optimizations, etc. ARE
science.  Writing code from specifications is "science" in the sense that
a chemist sitting in his lab doing a standard process/test is.  Nothing
theoretical - merely putting known practices in to use.


>Most CS majors are not scientists. They are programmers.
    Sure, at the BS level.  Are most BA/BS physicists or chemists really
doing SCIENCE?  From what I've seen the answer is no - many are basically
lab technicans and the like.  The theoretical work in even the "pure"
sciences is done by people with PhD's - this is also true in Computer
Science.  What do you think constitutes SCIENCE - do you have to be a lab
measuring physical phenomena?  If that's what you think SCIENCE is then I
can understand why you don't think CS is science. That's not my view.


    To summarize, I think that developing new ideas/practices for languages,
communications, algorithms, models, etc., etc. in computer science is just
as much "science" as what is considered science in biology, chemistry and
physics.  I don't think there have to be physical phenomena involved to
constitute science.  I agree that most people coming out with an
undergraduate degree in CS from most schools are more "programmers" that
"scientists", though I don't see how this affects the basic argument that CS
is a science.

John Carter
Rice University, Dept. of Computer Science

P.S. The CS department here is in the School of Engineering (along with
     the Mathematical Sciences department and the standard engineering
     departments).  The School of Natural Sciences has physics, bio, chem,
     and mathematics.

=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
*   UUCP: {Backbone or Internet site}!rice!retrac       oo                   =
=   ARPA:  retrac@rice.edu                              <                    *
*   CSNET: retrac@rice.edu                              U  - Bleh.           =
=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*

lmurray@wdl1.UUCP (Lance Murray) (11/16/87)

I believe the fundemental problem in defining what Computer Science is,
or is not, is that the major is actual fragmented into many smaller
disciplines. I would divide CS into three distinct groups: programmer,
software engineer, computer scientist. Here is *my* understanding of each
of these professions:
    programmer: a coder. This person takes specifications and develops the
corresponding code.
    software engineer: takes the "tools of the trade" (abstraction, information
hiding, algorithms, data structures, etc.) and *builds* new system.
    computer scientist: developer of new languages and theories.

I know there is a lot left out in these classifications, but people must be
aware of the difference. Should there be seperate majors for all of these fields?
I do not think that is the answer. A definition of *what* Computer Science is
will not help define what a computer scientist does. All the demand for CS
people is really the industries misunderstanding of what our higher institutions
are generating in this day and age. An ad for a "Computer Science" major
could me almost anything these days, from micro code to AI. Industry employment
personnel must become more in tune with what is available.

	-lance murray-
/* Usual disclaimers here . */

jjboritz@watcgl.UUCP (11/18/87)

In article <3620002@wdl1.UUCP> lmurray@wdl1.UUCP (Lance Murray) writes:
>I believe the fundemental problem in defining what Computer Science is,
>or is not, is that the major is actual fragmented into many smaller
>disciplines. I would divide CS into three distinct groups: programmer,
>software engineer, computer scientist. Here is *my* understanding of each
>of these professions:
>    programmer: a coder. This person takes specifications and develops the
>corresponding code.
>    software engineer: takes the "tools of the trade" (abstraction, information
>hiding, algorithms, data structures, etc.) and *builds* new system.
>    computer scientist: developer of new languages and theories.

I agree with this division.  The chnunks are large enough to cover more than
a trivial amount of information.  They are distict enough to present a
viable classification.

>
>I know there is a lot left out in these classifications, but people must be
>aware of the difference. Should there be seperate majors for all of these fields?

Definitely not! If you view the three areas mentioned as sort of a heirarchy
then each level builds upon the knowledge of the previous level.  They may
be distinct areas, but they are not disjoint.  A computer scientist without
the knowledge of programming requirements and constraints would have a rough
time developing a new language.

>I do not think that is the answer. A definition of *what* Computer Science is
>will not help define what a computer scientist does. All the demand for CS
>people is really the industries misunderstanding of what our higher institutions

That is exactly right.  You don't need a "Computer Scientist" to write code
or patch bugs or perform system maintenance.  If a company thinks it needs a
computer scientist to generate code, then they are making a big mistake, and
many of them do.  However, this problem is confounded by the fact that many
people enter university and receive the instruction necessary for becoming a
computer scientist, simply to get a better / higher paying job as a coder.
The companies feel that these people must make better coders due to their
"superior" :-) training.  I don't believe that this is true.  In fact since
these people are likely to concentrate more on theories than on coding, it
is likely that they would make poorer coders than those that spend most of
their time coding.

>are generating in this day and age. An ad for a "Computer Science" major
>could me almost anything these days, from micro code to AI. Industry employment
>personnel must become more in tune with what is available.
>
>	-lance murray-
>/* Usual disclaimers here . */

	--Jim Boritz

	{allegra,decvax,utzoo,clyde}!watmath!watcgl!jjboritz

cd@bu-cs.BU.EDU (Clarence K. Din) (11/20/87)

In article <450@ra.rice.edu> retrac@rice.edu (John Carter) writes:
>
>    You seem to be confusing Computer Science and Computer Engineering!
>The study of computer science is NOT the process of learning how these piles
>of silicon and metal work physically.  Computer science is the study of the
>fundamental abstractions and practices that are used with computers.

     How true!  However, at some universities, particularly Boston
University, the once separate CS and CE departments are now attempting to
intermingle.  What this means is the CS major won't be able to graduate without
knowing AT LEAST a fundamental knowledge of circuit design and the CE major
likewise with programming.

     Mr. Carter certainly has some valid views of what CS is.  A science
is just what it implies: taking knowledge and using it to gain or develop
new insights... and, hence, new knowledge.  Let me add to Mr. Carter's
already well-made argument... writing compilers and computer languages
IS a science because the basic principles underlying language design are
being applied to produce an end product (ie. a compiler).  Of course, the
design of new languages is a science (explained by my first statement), 
but so is the study of past knowledge.  Where would the world's greatest
minds be if they had no knowledge of the fundamentals of their specialty?

>The theoretical work in even the "pure"
>sciences is done by people with PhD's - this is also true in Computer
>Science.

Not entirely true.  There do exist individuals at the BA/BS level doing
serious scientific research.  One does not need a PhD to delve into
research.  I believe the PhD is merely an indication that an individual
is capable of doing research without excessive supervision.

>    To summarize, I think that developing new ideas/practices for languages,
>communications, algorithms, models, etc., etc. in computer science is just
>as much "science" as what is considered science in biology, chemistry and
>physics.  I don't think there have to be physical phenomena involved to
>constitute science.  I agree that most people coming out with an
>undergraduate degree in CS from most schools are more "programmers" that
>"scientists", though I don't see how this affects the basic argument that CS
>is a science.

     Sure, they're programmers, but EXPERT programmers.  Lots of CS people
are REALLY INTO CS.  But let's take this thought a little further... a vast
number of CS people are creative.  Many have expressed their creativity
through projects in their courses or on their own (ie. computer graphics or
algorithm design).  An example... weighing all of the potential
possibilities when designing a new algorithm.

     What are my views as to what CS is?  It's both an art and a science.
A CS education has many advantages as well as faults... but so does everything
else.

  *****************************
 ***     Clarence K. Din     ***
  *****************************
 ***  Boston University       ***
 ***  Computer Science Dept.  ***
 ***  cd@bu-cs.buacca.bu.edu  ***
  *****************************