Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
15 views5 pages

Maths

The document discusses the history and evolution of computer science as a discipline. It traces the roots of computer science to mathematics, engineering, and logic. It outlines key developments like the invention of the stored-program electronic computer in the 1940s and the establishment of core principles in areas like algorithms, programming languages, and artificial intelligence over subsequent decades.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views5 pages

Maths

The document discusses the history and evolution of computer science as a discipline. It traces the roots of computer science to mathematics, engineering, and logic. It outlines key developments like the invention of the stored-program electronic computer in the 1940s and the establishment of core principles in areas like algorithms, programming languages, and artificial intelligence over subsequent decades.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

The Science of Computing: What is computer science?

Author(s): Peter J. Denning


Source: American Scientist , January-February 1985, Vol. 73, No. 1 (January-February
1985), pp. 16-19
Published by: Sigma Xi, The Scientific Research Honor Society

Stable URL: https://www.jstor.org/stable/27853057

JSTOR is a not-for-profit service that helps scholars, researchers, and students discover, use, and build upon a wide
range of content in a trusted digital archive. We use information technology and tools to increase productivity and
facilitate new forms of scholarship. For more information about JSTOR, please contact [email protected].

Your use of the JSTOR archive indicates your acceptance of the Terms & Conditions of Use, available at
https://about.jstor.org/terms

is collaborating with JSTOR to digitize, preserve and extend access to American Scientist

This content downloaded from


197.221.253.167 on Tue, 14 Nov 2023 16:39:46 +00:00
All use subject to https://about.jstor.org/terms
subtraction, multiplication, division, and square root
The Science of Computing were available. The electronic flip-flop provided a nat
ural bridge from these machines to digital versions with
What is computer science? no moving parts.
Logic is also an old discipline, concerned with cri
teria of validity of inference and formal principles of
Peter J. Denning reasoning. Since the days of Euclid, it has been a tool for
rigorous mathematical and scientific argument. By 1830,
it was obvious that all the known deductive systems
were incomplete because paradoxes could always be
found. This led to a century-long search for a "complete"
deductive system?within which it would be possible
Because computer science affects every other scientific discipline, it seems
to determine mechanically whether or not any given
appropriate for a journal that spans the disciplines to have a regular statement is either true or false. In 1931, G?del published
column devoted to examining this field and its pervasive influence. As its his "incompleteness theorem" showing that there is no
name suggests, the column will focus on the science of computing, rather such system. In the late 1930s, Turing discovered a
than on the computers themselves. This first installment is somewhat similar result, that there are problems that cannot be
longer than its successors will be, because columnist Peter Denning begins, solved by any mechanical procedure. The importance
fittingly, with a definition of computer science, and in so doing maps out of logic was not only its deep insight into the limits of
territory he will cover in future columns. He turns in the next issue, for
automatic calculation, but also its focusing on the pos
example, to networking, with a look at sup er computing and the proposed
Sciencenet. sibility that strings of symbols, perhaps encoded as
Peter Denning is director of the Research Institute for Advanced
numbers, can be interpreted both as data and as pro
Computer Science at the NASA Ames Research Center. His doctorate, from
grams.
MIT in 1968, is in electrical engineering. He is Editor-in-Chief of the This insight is the key idea that distinguishes the
monthly magazine of the Association for Computing Machinery, stored-program computer from calculating machines.
Communications of the ACM. The steps of the algorithm are represented as binary
codes and stored in the memory for later decoding and
Computer science is the body of knowledge dealing with execution by the processor. The binary code can be de
the design, analysis, implementation, efficiency, and rived mechanically from a higher-level symbolic form,
application of processes that transform information. The the programming language.
fundamental question underlying all of computer It is the explicit, and intricate, intertwining of the
science is "what can be automated?" (2). This discipline ancient threads of calculation and logical symbol ma
was born in the mid-1940s with the invention of the nipulation that marks the birth of the discipline of
stored-program electronic computer and has grown computer science.
rapidly ever since. Computer science has grown from infancy in the
Computer science has deep roots in mathematics, 1940s to a broad discipline in the 1980s. The box below
engineering, and logic. For several thousand years, a traces this development, showing times at which new
principal concern of mathematics has been calculation. subfields made the transition from poorly understood
Many models of physical phenomena have been used sets of techniques to well-understood sets of core prin
to derive equations whose solutions yield predictions ciples. The dates shown in the box are, of course, ap
of those phenomena?for example, calculations of or proximate. They represent my estimates of when these
bital trajectories, weather forecasts, and fluid flows. areas were included in the required courses in a signif
Many general methods for solving such equations have icant number of computer science departments. Artificial
been devised?for example, algorithms for systems of intelligence, which has been an active research area
linear equations, differential equations, and integrating since the early days of computer science, is now making
functions. For almost the same period, a principal con the transition from elective to required status at many
cern of engineering has been calculations that aid in the universities.
design of mechanical systems. Examples include algo The eleven areas are by no means mutually exclu
rithms for evaluating stresses in static objects, calculating sive. Each has its own theoretical component; most have
momenta of moving objects, and measuring distances devised specialized programming languages as notation
much larger or smaller than our immediate percep for algorithms and data structures; most implementa
tion.
One product of the long interaction between en
gineering and mathematics has been mechanical aids for The evolution of computer science
calculating. Some surveyors' and navigators' instruments Theory 1940
date back a thousand years. Pascal and Leibniz built Numerical computation 1945
arithmetic calculators in the middle 1600s. In the 1830s, Architecture 1950
Programming languages and methodology 1960
Babbage conceived of an "analytical engine" that could
Algorithms and data structures 1968
mechanically and without error evaluate logarithms, Operating systems 1971
trigonometric functions, and other general arithmetic Networks 1975
functions. His machine, never completed, served as an Human interface 1978
inspiration for later work. In the 1920s, Bush constructed Database systems 1980
an electronic analog computer for solving general sys Concurrent computation 1982
tems of differential equations. By the 1920s electrome Artificial intelligence 1986 (?)
chanical calculating machines capable of addition,
16 American Scientist, Volume 73

This content downloaded from


197.221.253.167 on Tue, 14 Nov 2023 16:39:46 +00:00
All use subject to https://about.jstor.org/terms
tions are on machines with operating systems connected ARCHITECTURE. This area deals with methods of
to networks; most deal with problems having compo organizing many hardware and software components
nents that can execute in parallel. Some subdisciplines, into efficient, reliable systems. The fundamental ques
such as software engineering, embrace all eleven tions are: What are the best methods of implementing
areas. processing, memory, and communication functions in
a machine? How do we build large computational sys
The following paragraphs outline the principal
tems in such a way that we can convincingly demon
content of the eleven areas, listing the fundamental
questions and the major accomplishments of each.
strate that they work as intended despite various types
of errors and failures? The major accomplishments
THEORY. This area deals with the basic mathematics are:
underlying computation. The fundamental questions
1. Finite-state machine theory and boolean circuit al
are: What problems can machines solve? What are opti
gebra, which relate hardware function to structure.
mal algorithms for given classes of problems? 2. What
The isso-called von Neumann machine, which is the
the intrinsic best- and worst-case performance of given
single-instruction sequence stored-program com
classes of machines for given classes of problems? What
puter.
problems are equivalent to each other in computational 3. Hardware units for fast arithmetic.
difficulty? The major accomplishments are:
4. Efficient methods of encoding and storing informa
1. Computability theory, which defines what machines tion in various media.
can and cannot do. Branches include automata and for
5. Theory of reliable computing systems, including re
mal language theory. dundant components, reconfiguration, diagnostics, and
2. Complexity theory, which tells how to measure the
testing.
time and space requirements of computable functions.
6. Methods of synthesizing large complex systems from
This theory relates a problem's size with the basic best- or
components.
worst-case performance of algorithms that solve that
7. Prototypes of multiprocessor machines capable of
problem. supporting hundreds or thousands of simultaneously
3. Classification of problems into complexity classes, executing processors.
such as those solvable deterministically in polynomially
8. Microelectronic circuit technology and computer
bounded time (P-problems) and those solvable non aided design of very large scale integrated (vlsi) cir
deterministically in polynomially bounded time (NP cuits.
problems).
4. Automatic theorem proving. PROGRAMMING LANGUAGES AND METHODOLOGY.
NUMERICAL COMPUTATION. This area deals with This area deals with notations for expressing algorithms
and data, with efficient translations from high-level
general methods of efficiently and accurately solving
languages into machine codes, and with methods of ef
equations resulting from mathematical models of sys
ficiently constructing correct programs. The funda
tems. The fundamental questions are: How can we ac
mental questions are: What are the basic data types and
curately approximate continuous or infinite processes
operations that arise in various classes of problems and
by finite discrete processes? How do we cope with the
how should they be represented? What are the basic
errors arising from these approximations? How rapidly
methods of controlling the execution of a computation?
can a given class of equations be solved for a given level
How can syntactic descriptions of language be used to
of accuracy? How can symbolic manipulations on
construct efficient compilers and optimal code genera
equations, such as integration, differentiation, or re
duction to minimal terms, be carried out? How can the tors? What methods should be used to aid in the process
of proving that a program performs its intended func
answers to these questions be incorporated into efficient,
tion? The major accomplishments are:
reliable, high-quality mathematical software packages?
1. Procedure-oriented programming languages such as
The major accomplishments are:
Cobol, Fortran, Algol, Pascal, or Ada. Functional lan
1. Theories of stability of methods and error propagation
guages such as apl, Lisp, Prolog, and val. Object-ma
resulting from finite and discrete representations?in
nipulating languages such as Smalltalk or clu.
particular, backward error analysis.
2. Codification of basic concepts of programming lan
2. Fast algorithms for certain problems such as the fast
guages such as basic data types (e.g., scalars, arrays, rec
Fourier transform and solution of Poisson's equation.
ords, strings) and control structures (e.g., sequencing,
Extensive assessment of algorithms for accuracy and iteration, selection, subroutines, recursion).
efficiency.
3. Theory of compiling and code generation and its
3. The finite element model for a large class of problems
application in real compilers.
specifiable by regular meshes and boundary values.
4. Verification, which deals with establishing that a
Associated iterative methods and convergence theory.
program's functional specifications are satisfied by its
Automatic grid refinement during numerical integra
tion. implementation.
5. Syntax-directed editors that monitor program con
4. Mathematical software packages for handling general
struction and alert the user to potential errors.
problems involving matrices, ordinary differential
equations, and statistics; and less general problems in ALGORITHMS AND DATA STRUCTURES. This area
volving partial differential equations, optimizations, and deals with specific classes of problems and their efficient
nonlinear equations. solutions. The fundamental questions are: For given
5. Symbolic manipulators capable of powerful and classes of problems, what are the best algorithms? How
nonobvious reductions, differentiations, and integra much storage and time do they require? What is the
tions of expressions. tradeoff between space and time? What is the worst case

1985 January-February 17

This content downloaded from


197.221.253.167 on Tue, 14 Nov 2023 16:39:46 +00:00
All use subject to https://about.jstor.org/terms
of the best algorithms? How well do algorithms behave contention for shared channels? What strategies (pro
on average? How general are algorithms?i.e., what tocols) should be used for connecting computers across
classes of problems can be dealt with by similar meth long distances? short distances? How can the fact that
ods? The major accomplishments are: a system is made of components connected by networks
1. Identification of good and bad algorithms for im be hidden from users who do not wish to see that level
portant classes of problems such as searching, sorting, of detail? The major accomplishments are:
random-number generation, and textual pattern 1. Prototypes for long-haul, computer-to-computer
matching. communication networks that served as the bases for
2. Identification of general methods applicable across commercial networks.
many classes of problems, such as storage of information 2. Local networks for high-speed connections among
in tables or lists, graph algorithms, or tree algorithms. close computers, such as Ethernet, pronet, or token-ring
3. Categorizing the effects of data structure on time and nets.
space requirements of programs for various classes of 3. Protocols that allow computers to establish and
problems. maintain connections across unreliable networks.
OPERATING SYSTEMS. This area deals with the 4. Protocols that mediate high-speed contention on
shared or broadcast channels.
control mechanisms that allow multiple resources to be
5. Cryptographic protocols that permit secure authen
efficiently coordinated in the execution of programs. The tication and secret communication.
fundamental questions are: At each timescale in the
6. Structural principles for operating systems that allow
operation of a computer system, what are the visible
hiding the network from those who do not wish to see
objects and permissible operations on them? For each it.
class of resource (objects visible at some level), what is
a minimal set of operations that permit their effective human interface. This area deals with the
use? How can interfaces be organized so that users deal transfer of information between humans and machines
only with abstract versions of resources and not with via various human senses and motor skills. The funda
physical details of hardware? What are effective control mental questions are: What are efficient methods of
strategies for job scheduling, memory management, representing objects and automatically creating pictures
communications, access to software resources, commu for viewing? What are efficient methods for receiving
nication among concurrent tasks, reliability, security, input or presenting output? How can the risk of mis
and the like? What are the principles by which systems perception and subsequent human error be minimized?
can be extended in function by repeated application of The major accomplishments are:
a small number of construction rules? The major ac 1. Core graphics systems for representing objects, for
complishments are: displaying them efficiently, and for creating displays
1. Prototypes of timesharing systems, interrupt systems, that rotate, translate, pan, and zoom in real time. This
automatic storage allocation, schedulers, and file systems includes a wide range of algorithms for constructing
that served as the bases of major commercial systems. pictures from basic components, smoothing, shading,
Libraries of utilities such as text editors, document for and removing hidden lines.
matters, compilers, linkers, and device drivers. 2. Interactive methods for computer aided design.
2. Powerful, hierarchical abstraction principles that 3. Advanced forms of input and output such as optical
permit users to operate on idealized versions of resources readers, light pens, touch sensitive pads, and the
without concern for physical detail?for example, pro "mouse" pointer.
cesses instead of processors, files instead of disks, data 4. Psychological studies leading to modes of interaction
streams instead of program input/output. that reduce human error and increase human effi
3. Theories of process management including reliable ciency.
interprocess synchronization, communication, and database systems. This area deals with the or
deadlock control.
ganization of large sets of data for efficient queries. The
4. Theories of memory management including optimal
fundamental questions are: What basic models should
swapping policies for virtual memory, file access
be used to represent data elements and relations among
methods, and secondary storage optimization.
5. Hierarchies of directories. them? What operations are used to store, locate, retrieve,
and match data? How can these operations most effi
6. Theories of job scheduling, queueing network mod
eling, and other forms of performance modeling.
ciently be expressed in language forms? How can
7. Models of access control for files owned by specific high-level descriptions of queries be translated into ef
users. ficient codes for sifting through the database? What
machine architectures lead to the fastest retrievals? How
8. High-level command interfaces that permit users to
can thecom
easily express computations consisting of several data be protected against unauthorized access,
disclosure,
ponents selected from among the files in a system. This
or destruction? How can large databases be
protected from inconsistencies generated by simulta
includes interactive "windows," command "menus,"
and pointers such as the "mouse." neous access, especially when the data are distributed
among many machines? The major accomplishments
are:
NETWORKS. This area deals with the organization
1. Major
of systems comprising interconnected computers. The models for representing large data sets and
relations among the data elements, including the rela
fundamental questions are: What are the most efficient
methods of error checking and correction? oftional,
reliably hierarchical, and network models. Special rep
exchanging information across various media resentations
(e.g., of files for fast retrieval, such as inverted
trees and associative stores.
telephone lines, microwaves, laser optics)? of mediating

18 American Scientist, Volume 73

This content downloaded from


197.221.253.167 on Tue, 14 Nov 2023 16:39:46 +00:00
All use subject to https://about.jstor.org/terms
2. Design principles for locking records when they can are: What is intelligence? What basic models of intelli
be simultaneously accessed by many users. gence are there and how do we build machines that
3. Design principles for maintaining consistency among simulate them? To what extent is intelligence described
multiple copies of data stored on different machines of by rule evaluation and what is the ultimate performance
a network. of machines that simulate intelligence by evaluating
4. Principles for preventing unauthorized disclosure or rules? To what extent is intelligence unpredictable, and
alteration of information in the data base, including can this be modeled by randomness in the machine? The
protection against statistical inference in real-time query major accomplishments are:
systems. 1. Theories of cognition and thought expressed in terms
5. High-performance database machines. that could be realized by computer.
CONCURRENT COMPUTATION. This area deals with 2. Efficient methods of knowledge representation and
searching through knowledge bases.
the organization of computations that require many 3. Powerful software systems for logic programming,
processing elements working concurrently. The fun theorem proving, and rule evaluation.
damental questions are: What are the basic models of 4. Special applications such as robotics, image process
concurrent computation? What classes or problems are ing, vision, and speech recognition.
most effectively served by each model? What types of 5. Expert systems based on rule evaluation for simulat
machines are most suited for efficient implementation ing expert human behavior in a few narrow domains.
of programs in each model? What high-level visual tools
should be provided so that massively parallel compu
tations can be expressed quickly and correctly? How can Computer science includes in one discipline its own
the large numbers of resources required in such com theory, experimental method, and engineering. This
putations be efficiently managed? The major accom contrasts with most physical sciences, which are separate
plishments are: from the engineering disciplines that apply their find
1. General models for parallel computation such as tree ings?as, for example, in chemistry and chemical engi
machines, mesh array machines, dataflow machines, and neering. I do not think the science and the engineering
communicating sequential processes; new programming can be separated within computer science because of the
languages for these machines. fundamental emphasis on efficiency. But I do believe
2. Development of parallel algorithms for important that the discipline will endure, because the fundamental
problem classes on these machines; methods of parti question underlying all of computer science?what can
tioning problems into parts that can be executed con be automated??will not soon be answered.
currently; division of parallel algorithms into time and
space complexity classes.
3. Interactive aids for programming and debugging Reference
parallel computations. 1. Readers interested in a detailed treatment of the subjects covered
here are invited to examine the report of the NSF Computer Science
ARTIFICIAL INTELLIGENCE. This area deals with the and Engineering Research Study (COSERS), What Can Be Automated?
simulation of intelligence. The fundamental questions ed. B. Arden, 1980, MIT Press.

-.& a -i -t ""-o

. . . . . . ....... . - - -..... - . :.. . . . - -

This content downloaded from


197.221.253.167 on Tue, 14 Nov 2023 16:39:46 +00:00
All use subject to https://about.jstor.org/terms

You might also like