Computer Science as a Science?

Computer Science as a Science?

Post by Ronda Haube » Sat, 02 Jan 1999 04:00:00



I have been reading some articles from computer scientists like
J.C.R.*lider in the 1960s and get much more of a feeling
of how computer science is a science than I see around now.

I'll try to post some examples when I get a chance, but I wondered
if there are others who have a notion ofhow to understand
computer science as a science, of the principles that help
to define it as a science.

I have gotten the sense that there is a new science of
communication computer science that has to do with some of the
breakthroughs that have emerged from the important computer
science and networking theory and practice of the past 30 years.

However, it doesn't seem much discussed or documented.

For example, there seems to be an experiential base to computer
science, there seems to be the need to collaborate to understand
what is particular about ones work and what is more general,
but those are general principles.

Also there seems to be the need to have a social rathre than a
commercial purpose.

But the more specific principles seem to be more like
the fact that the Internet is made up of diverse networks and
the process of creating the Internet represented the challenge
of solving the problem of how to make it possible for
diverse networks to communicate. The solution seemed to be
to need to recognize the autonomy of each of the different
networks and not ask them to change their basic structure
or requirements, but merely to agree to a convention to communictate,
i.e. what was then called Transport Control Protocol.

And that when you can remove the constraints to communication
among different networks or people, you have the basis to create
something important and new.

Ronda

                  Netizens: On the History and Impact
                    of Usenet and the Internet
                http://www.veryComputer.com/~hauben/netbook
                also in print edition ISBN 0-8186-7706-6

 
 
 

Computer Science as a Science?

Post by Joe Thomps » Sat, 02 Jan 1999 04:00:00




> I have been reading some articles from computer scientists like
> J.C.R.*lider in the 1960s and get much more of a feeling
> of how computer science is a science than I see around now.

In the fields of user interface and protocol/algorithm design there is
true art.  You can do all the focus group research you want, but in the
end one man's unified vision of how the thing should be is often a more
elegant and workable solution than the way a group of 6, or 6 000, or 6
000 000 people agree together that it should be.

I think of computer "science" much the same way I think of medical
"science": there are no 100% hard-and-fast laws, and odd synergies are
often discovered, because the systems each one deals with are true chaotic
systems.

As far as science goes, computer science, like medical science, is at base
a compilation of statistics based on experience.  There is always a
preferred approach to any problem -- and conversely there is always a
situation where that approach fails miserably.  The perfect example is
sorting algorithms; which one to implement in a given case depends on the
data itself and the judgement of the implementer.  There are cases (though
admittedly not many) where a humble bubble sort will easily outperform the
"faster" insertion sort or quicksort.

Also, in both fields, there are times when it is better to make a poor
decision rather than none, because making none in such cases will always
result in disaster (EMTs know this lesson well -- if you apply a
tourniquet to a slashed wrist the hand may have to come off later when it
could have been saved, but if you do nothing the patient will die).

And the final (and to me, clinching) analogy between the two is that in
both fields, the folks in charge of maintenance have to deal with clients
who often lie to them (how many times have doctors heard "no, I haven't
eaten that lately?"  How many tech support folks have heard "I didn't
change *anything*, I swear"?)

Experienced IT professionals should be honorary M.Ds. -- Joe
--
        Joe Thompson | http://www.veryComputer.com/

"While preceding your entrance with a grenade is a good tactic in
 Quake, it can lead to problems if attempted at work." -- C Hacking

 
 
 

Computer Science as a Science?

Post by Ken Nels » Sun, 03 Jan 1999 04:00:00



>I have been reading some articles from computer scientists like
>J.C.R.*lider in the 1960s and get much more of a feeling
>of how computer science is a science than I see around now.
>I'll try to post some examples when I get a chance, but I wondered
>if there are others who have a notion ofhow to understand
>computer science as a science, of the principles that help
>to define it as a science.
>I have gotten the sense that there is a new science of
>communication computer science that has to do with some of the
>breakthroughs that have emerged from the important computer
>science and networking theory and practice of the past 30 years.
>However, it doesn't seem much discussed or documented.
>For example, there seems to be an experiential base to computer
>science, there seems to be the need to collaborate to understand
>what is particular about ones work and what is more general,
>but those are general principles.
>Also there seems to be the need to have a social rathre than a
>commercial purpose.
>But the more specific principles seem to be more like
>the fact that the Internet is made up of diverse networks and
>the process of creating the Internet represented the challenge
>of solving the problem of how to make it possible for
>diverse networks to communicate. The solution seemed to be
>to need to recognize the autonomy of each of the different
>networks and not ask them to change their basic structure
>or requirements, but merely to agree to a convention to communictate,
>i.e. what was then called Transport Control Protocol.
>And that when you can remove the constraints to communication
>among different networks or people, you have the basis to create
>something important and new.
>Ronda

>                  Netizens: On the History and Impact
>                    of Usenet and the Internet
>                http://www.veryComputer.com/~hauben/netbook
>                also in print edition ISBN 0-8186-7706-6

        As one who is and has been a programmer for the past several years
and who has never had a computer science course, I'll add my 2 cents.  I
have advanced scientific degrees but when I grew up  there were no computers.
        Computer science isn't really a science as computers don't exist in
nature but are defined and built by man.  Computer science is more like
mathemathics.  Do you believe algebra is a science?  Some do hence the basis
for discussion.  Computer science as developed by Turing and the rest of the
folks in the 30s and 40s is the basis of it.  Now, most of the books are
about how to cook with windows 95.  Today computers are so useful that most
people just want to know more about how to use them.

regards ken

 
 
 

Computer Science as a Science?

Post by W. R. Smit » Sun, 03 Jan 1999 04:00:00



> I have been reading some articles from computer scientists like
> J.C.R.*lider in the 1960s and get much more of a feeling
> of how computer science is a science than I see around now.

[snip]

The following is a recent posting to the comp.lang.fortran NG that
touches on the issue of "computer science as science".  It was part of a
thread that bemoaned the putting down of FORTRAN by CS-types, and their
general ignorance of its modern features.

Maybe some sociology of science types can respond?

This is "preaching to the converted" in this NG, but...

I don't think the "active research thing" quite cuts it.  After all,
artists don't "put down" the classical art masters.  They show a deep
respect for their work, but they still try to do new things themselves.
And, of course, many artists end up producing "consumer art" for a
living (the parallel of CS types doing FORTRAN programming for
well-heeled patrons  - i.e. engineering industires - comes to mind)

The putting down of FORTRAN by CS types is also a much deeper issue, and
relates to academic politics (past and present) and to the insecurity of
CS as a "discipline" in the classical sense (when the telephone was
invented, did there emerge a discipline of "telephone science"?). I
would suggest that this is a good topic for a PhD thesis in the area of
the "Sociology of Science" (maybe someone has already done this?)

The more successful that CS types are in putting down FORTRAN as being
obsolete, the more the rest of the world will be convinced that CS (i.e.
their academic department) is really needed in the scheme of things.

Many would argue that computer hardware and software are simply the
tools to carry out an objective (science or whatever else).  If this is
the motivation, then one should use the best tools for the job at hand -
whether FORTRAN, C, BASIC, ...  (Can anyone think of any "discipline"
whose goal is the development of tools for others?)  A very real
question is the extent to which the emergence of CS as a discipline has
furthered the development of such tools.  

As for CS as a discipline, if one looks carefully at CS, what
sub-disciplines are evident?  One obvious rejoinder is "artificial
intelligence" - but I would claim that AI has nothing intrinsicly "CS"
about it, and research in this area is carried out by many workers in
other fields.  

As for the political asspect, a recent phenomenon is the emergence of
"computer engineering" programs, which combine chunks of engineering and
CS.  These programs generally have CS Departments scared out of their
wits, since the best students go there rather than to CS.

CS started out in the 60's as a response to the need for maintenance of
the then-current IBM 360 series of computers.  It had as part of its
founding group many numerical analysis types who were disenchanted with
the "pure math" approach of some math departments; these people saw a
political opportunity and seized it at a time when academia was in a
(historically rare) period of expansion.  

As for FORTRAN, it was around even before CS started as a "discipline".
First, CS promoted PL/1 as its replacement (what younger types have even
heard of it?); then there was PASCAL (Borland's Visual Pascal - aka
Delphi - is nice, but still no cigar - now if MS had grabbed it instead
of Borland?...); currently, CS promotes C (oh, and what about ADA?)

Also (lest we forget), what about BASIC?  Actually many CS types don't
put _it_ down as much as they put down FORTRAN.  This is likely because
many CS graduates get jobs that require its (i.e., BASIC) use.

Finally, please don't put the above down as "CS bashing", but as "very
amateur" speculations in the realm of the "sociology of science".

-- W. R. Smith, PhD, P. Eng., Senior Scientist, Mathtrek Systems --

support_at_mathtrek_dot_com      
--------------------- http://www.veryComputer.com/ ---------------------
-Mathtrek Systems - Home of EQS4WIN Chemical Equilibrium Software -

 
 
 

Computer Science as a Science?

Post by phi » Mon, 04 Jan 1999 04:00:00




Quote:>I have been reading some articles from computer scientists like
>J.C.R.*lider in the 1960s and get much more of a feeling
>of how computer science is a science than I see around now.

>I'll try to post some examples when I get a chance, but I wondered
>if there are others who have a notion ofhow to understand
>computer science as a science, of the principles that help
>to define it as a science.

<snip>
Yes, i have a view. AFAIAC, the closest job definition is that of an
architect and assistants. For example, iIn the early days of structure
design, there was concern over the mechanisms that could be employed
(like, will the building remain standing one year from now after it's
been windy). Once these were understood (or even before they were),
another objective was to make it as cheaply as possible and yet
another was to make it as attractive as possible. Then there was the
need to make it disaster-proof,  accessible to disabled folk, and
enjoyable to use etc.

There is some science involved in the operation, but it is borrowed
from elsewhere. Computer science is an applied discipline and i
suspect that the word "science" is really a mechanism more for college
recruitement than anything else.

To quote from later in the thread (i hope that this doesn't create
some sort of  time anomaly like that episode in the Simpsons):

On Sat, 02 Jan 1999 11:20:25 -0600, Bob and Kelly Crispen


>Apologies if this has been said already, but Jim Blinn said in his
>keynote at SIGGRAPH last year that one of the characteristics of a
>science is that it doesn't have "science" in its name.

phil.
 
 
 

Computer Science as a Science?

Post by Charlton W Wilbu » Mon, 04 Jan 1999 04:00:00



> In the fields of user interface and protocol/algorithm design there is
> true art.  You can do all the focus group research you want, but in the
> end one man's unified vision of how the thing should be is often a more
> elegant and workable solution than the way a group of 6, or 6 000, or 6
> 000 000 people agree together that it should be.

I read someone's opinion somewhere that said that Unix was as powerful
and elegant as it is because it spent the first several years of its
life as the implementation of a very pure and singular vision shared
by three men, rather than as an operating system designed by
committee to match what the marketing department was telling people.
I wish I could remember where I read it, since it got the point across
much better than I can.

Quote:> I think of computer "science" much the same way I think of medical
> "science": there are no 100% hard-and-fast laws, and odd synergies are
> often discovered, because the systems each one deals with are true chaotic
> systems.

I think you need to make a distinction between computer science as
extension of formal systems theory and computability, and computer
science as software engineering.  In the math side of computer
science, things are often provable and quite hard-and-fast.  In the
engineering side of computer science, it is often a question of
tradeoffs.  For my money, the engineering side is fun, but the math
side is fascinating.

Charlton

 
 
 

Computer Science as a Science?

Post by Scott Daniel » Sun, 10 Jan 1999 04:00:00





> ...
> >I'll try to post some examples when I get a chance, but I wondered
> >if there are others who have a notion ofhow to understand
> >computer science as a science, of the principles that help
> >to define it as a science.
> <snip>
> Yes, i have a view. AFAIAC, the closest job definition is that of an
> architect and assistants. For example, iIn the early days of structure
> design, there was concern over the mechanisms that could be employed
> (like, will the building remain standing one year from now after it's
> been windy). Once these were understood (or even before they were),
> another objective was to make it as cheaply as possible and yet
> another was to make it as attractive as possible. Then there was the
> need to make it disaster-proof,  accessible to disabled folk, and
> enjoyable to use etc.

> There is some science involved in the operation, but it is borrowed
> from elsewhere. Computer science is an applied discipline and i
> suspect that the word "science" is really a mechanism more for college
> recruitement than anything else.

OK, here's my bit.  I agree that the art of designing and building
software is much like architecture, but I'd push it.  As far as I know,
architecture works because it is a design effort (almost exclusively)
which requires the kind of rigor and calculation that we don't expect a
sculptor, for example, to need to exercise.

In order to build programs or design buildings, you need to understand
the range of materials you may use, and make decisions about when and
which materials to use "off the shelf" and which will be done
specifically for your design.  Architects may look at strength and
durability of a material, while programmers may use speed and
reliability in choosing components or designs.  Building these
components seems fundamentally an engineering discipline: learn which
approaches work best in which situations, choosing solutions to fit a
particular blend of constraints: cost, speed, reliability, ....  

However, there is a science as well.  When you start asking fundamental
questions, you edge into the "science" area.  Here are some of the basic
questions of computer science that I feel merit the term science:

(1) Is there a limit to what can be computed?  Are there questions that
can be simply stated as computations which can never be solved, even if
we build much faster computers with new, as yet unanticipated
technology?  Of course, here the answer is yes, there are intractable
problems.

Extra credit: Characterize the "impossible" problems above?

(3) How about "hard" problems?  Are there problems whose solution, while
clearly possible, will always be "slow".  To answer this, you may have
to make some more specific models of what a computer can do than for
(1), yet still attempt a characterization that will remain correct for
decades.  Discovering ways to characterize the complexity of problems
(not just particular solutions) seems to me a fundamentally scientific
endeavor.

(4) How can you tell which programs are "correct?"  We've given up on
this one, since we know it can't be solved (there: a scientific
result).  It is possible, however, to build "provably correct" programs,
for all different kinds of definitions of "correct program."  How do we
build such programs, and what are our standards of proof?

(5) In particular sub disciplines, we have more experimental science to
deal with, but they are not so easily described: you need to know more
of their world:
        The analysis and design of algorithms is a mix of math and
experimentation.  I would call this "core" computer science myself.

        In operating systems it is possible to build systems that will not
deadlock, as well as systems that may deadlock, but never undetectably.
The production of those design elements is, it seems to me, a scientific
endeavor.

        To show real experimental science, we often build programs as
"existence proofs" of certain disputed propositions.  "FORTRAN,"
"LISP," and relational databases all first came into existence in order
to prove that such things were possible.

I would call computer science that part of the computer field that talks
about "all" programs, rather than "a particular" program.  Computer
science is the statements in the field that we expect to be true in,
say, a hundred years.  These things are not declarations of how we
should do things, they are discoveries about the nature of the problems
we are attempting to solve, or even discoveries about the nature of the
solutions themselves.  

This process of discovery seems to me to be science, but if you call
math an art, I wouldn't quibble with putting this stuff over into the
"art" field.

And yes, I think Jim Blinn's comment is extremely clever, if not
necessarily completely correct.

-Scott David Daniels

 
 
 

1. Computer Science Engineering vs. Computer Science

Hi,

I am 16 years old and am looking at colleges. Whenever I browse through the
programs I see C.S under engineering and its own category. What's the
difference.

If you have majored in computer anything, I'd appreciate it if you could
email me explaining the program. Anything will be great.

-Thanks


2. help with slow mousing and missing icons!

3. More on Computer Science and Arts & Sciences

4. E-List for GEOS

5. PhD in Computer Science vs. Computer Engineering

6. Need QA Tester Burlington, MA (JOB ID 0204)

7. Software Engineering - Computer Science - Computer Engineering

8. Ethics in Computer Science

9. Rankings of Undergraduate Computer Science Programs

10. To all Computer Science Pros!

11. Computer Science: A.A.S vs BS

12. Switching to Computer Science