Anda di halaman 1dari 3

The Science in Computer Science

Keshav Pingali, Professor, Department of Computer Science


October 12, 1999

The sturm and drang surrounding the establishment of the Faculty of Computer and Information Sciences
(CIS) at Cornell has brought to the surface an important question about the field of CIS. If the invention of the
printing press did not require a Faculty of Books, why does the invention of the computer require a Faculty of
Computer and Information Sciences? More bluntly, is there science in Computer Science?
This essay attempts to answer this question.
If one views a computer as nothing but a storage device for information, it is true that the difference between a
computer and a book is merely one of scale. A computer holds more information than a book, but there would
be no reason to establish a Faculty or for that matter, a Department of Computer Science.
However, this view of a computer is so narrow as to be distorted. A book is a passive receptacle for
information; it presents verbatim to the reader whatever was put in it by the author. Far from being a passive
receptacle regurgitating information on demand, a computer is an active device that can process its input to
produce output of an entirely different form. Admittedly, this description fits many devices other than
computers; an automobile after all will process the chemical energy of gasoline given to it as "input" into
kinetic energy of motion. Three things however make the computer an active device unprecedented in human
history.
1. It processes information, not atoms.
2. It can make autonomous decisions during this processing.
3. These processes can be altered at will by suitable instruction.
Thanks to materials scientists, we can move information ("bits") a lot faster than we can move atoms. Thanks
to electrical engineers, we can quickly and selectively combine this information, as it moves, with other
information, giving us processors that can react autonomously to external input with unprecedented speed. The
ability to react autonomously to external input is fundamental to intelligence, and the ubiquity of fast and
intelligent information processors is a testament to the genius of engineers.
The role of the computer scientist emerges from point (3) above - it is to design systematic procedures for
producing the desired output from the input ("algorithm design"), and to instruct the computer on how to carry
out these procedures ("programming").
Computer science is a science because the design and programming of efficient algorithms is a serious
intellectual activity. Automatic translation of natural languages provides an example of the difficulties of
algorithm design. There are now sites like <http://babelfish.altavista.digital.com>Babelfish that offer free
translation between European languages. Incorporating more than 30 years of research in this area, some of
these programs actually do reasonably well, but their output can often seem strange to a native speaker. One
technology columnist recently described how he gave a phrase in English to Babelfish, had it translated into
German, and then had the German phrase translated back into English. The result was the sentence "A penny,
which becomes secured, is an acquired penny." Even a middle-school student could tell you that this sentence,
although grammatically correct, is not idiomatic English (its Sergeant Schultz undertones though are eerie!);
furthermore, he would be able to identify instantly the English saying that was originally typed into the

computer.
How do we codify this middle-schooler's knowledge and common sense in an algorithm for machine
translation? How do we make this algorithm efficient enough for online translation? The necessary insights
may come from cognitive science, medicine or linguistics. Of course, algorithms for other problems such as
those in engineering simulation will come from areas such as Applied and Engineering Physics(A&EP) or
Theoretical and Applied Mechanics (T&AM). Many more will come from computer scientists like Dean of
Engineering John Hopcroft who won the <http://www.acm.org/awards/taward.html>Turing Award a few
years back for inventing, among other things, a remarkably beautiful algorithm for determining planarity of
graphs, a problem whose roots go back to Euler and other mathematicians of a different era.
No matter how intelligent, a child must still be instructed on how to put that intelligence to use. Similarly, the
most powerful computer in the world must still be programmed with efficient algorithms before it will do
anything useful.
And that is the realm of the computer scientist.
Not that I love Caesar less, but that I love Rome more
Granted that the role of the computer scientist is to design and program efficient algorithms, we must ask what
problems motivate the development of algorithms. Motivating applications have usually come from
engineering simulation, but this has changed significantly over the past 5 years as is evidenced by recent
faculty appointments in the CS department.
The appointment of Professor Ron Elber in the CS department in 1997 is perhaps the most obvious
manifestation of this change. Elber has a Ph.D. in Chemistry, and his research area is computational biology.
He collaborates with CS faculty working on combinatorial algorithms and computational geometry, and with
faculty in Chemistry and Biochemistry working on problems like the 3-D structure of proteins. There is
biological research in other parts of the engineering college, but it is also clear that computational biology has
a much larger interface with the Division of Biological Sciences and the College of Arts and Sciences.
Professor Bill Arms who joined the CS department this year is another example of this change. Arms is part of
a large group working on problems in Digital Libraries such as multimedia storage, indexing and retrieval. As
anyone who has used the grep program on UNIX can testify, computer scientists have developed
breathtakingly fast algorithms for searching for text. How does one search efficiently for images and sounds?
Library scientists such as University Librarian Sarah Thomas are playing a major role in the multi-disciplinary
group addressing such problems. There would seem to be an obvious role for information technologists from
EE, but one gathers that no one from EE participates in this effort.
Even CS faculty in areas like numerical analysis that have traditionally focused on engineering problems are
now moving in directions away from Engineering. Professor Tom Coleman is applying his numerical
optimization research to solving problems in Computational Finance and e-commerce with Professor Jarrow
and others in the Johnson Business School. The establishment of a Center for Computational Finance on Wall
Street, run jointly by Cornell and Silicon Graphics, is evidence of the seriousness of this collaboration.
Ironically, my own research interests are aligned more closely with Engineering than with any other
discipline. My group works closely with Tony Ingraffea's group in Civil Engineering; together with Professor
Steve Vavasis and others, Ingraffea and I share more than $5 million of funding for building tools for parallel
finite-element simulation. I also have a 0% appointment in EE, and I have taught courses in the past with EE
faculty members on overload when there was an alignment of research interests.
I intend to maintain and nurture these relationships, and represent the interests of Engineering in the FCI. If we
ensure that Engineering is well-represented on the Advisory Board of the FCI and that this board has teeth,

there is no reason why the interests of Engineering should not be represented aggressively in the FCI even as
the FCI establishes a broad interface with the rest of the University.
The success and vitality of the FCI demands nothing less.

Anda mungkin juga menyukai