Introduction to Computer Science


This web page is Science.html
Copyright © 2001, 2002, 2003, 2010 Herbert J. Bernstein and other parties. All rights reserved.

Introduction and History

Computer Science is a very young subject, changing rapidly, and drastically changing the way we live. Some portions of the subject are very rigorous and and theoretical, drawing on the ancient traditions of mathematics and physics. Other portions of the subject are more empirical using the techniques of the experimental sciences and engineering, and major portions of the subject are based entirely on artistic inspiration and craftsmanship. Those who study and practice the subject of computer science may be mathematicians, computer scientists, engineers, programmers, business people, or just ordinary people with no special training, but we choose to become involved with computers.

In such a diverse field, it is hard to achieve agreement about what it is, much less what its history has been, and a full and fair review of the alternative views is beyond the scope of this course. To study the subject more fully, see the many journals and magazines on the subject, such as

What is Information?

Information consists of things we can tell one-another, of messages about the condition, the state of something, of a system. If a system can only be in one possible state, there is nothing to say about it. If we live at the artic and have only one phrase for snow, there really is much we can say. If a system might be in one of two possible states, it might be soft powder or packed ice, then there is one useful message we can send: soft powder. If we don't send that message then we must have packed ice. By counting possible labels of things and assigning a number to each one, we reduce information to numbers. (If you are interested in learning more about the issues involed in representing information as numbers, see van Lint, J. H., "Introduction to Coding Theory", Springer -Verlag, New York, Heidelberg, Berlin, 1982, 171 pp., ISBN 0-387-11284-7 or 3-540-11284-7).

One surprising result of this definition of information is that the more organized and clearly specified things are, the less information we have, and the more varied and chaotic a system is, the more information we have.

In working with computers, it is not always convenient to handle numbers using the conventional decimal notation. Sometimes is is easiest to work with numbers represented base 2, base 8 or base 16 instead of base 10.

What is a computer? A computer is a device to process information. All information can be represented as numbers, and a computer processes information as numbers; it performs calculations. The subject of computer science tends to focus on "stored program digital computers" which perform calculations upon number represented as string of digits, where the calculation is under the control of a program stored within the digital memory of the computer. The history of mechanical devices to aid in calculations is ancient. Here are some of the more modern milestones (see Richard C. Dorf, "Introduction to Computers and Computer Science", 2nd ed., Boyd and Fraser Publishing Company, San Francisco, CA, 1977, 650 pp.), and the web site of the Charles Babbage Institute of Computer History at the University of Minnesota (see

Computer Hardware

The classic von Neumann architecture for a computer consists of a digital memory to hold both programs and data, a control unit to obey the program instructions in memory, either in sequence or jumping to specified locations in memory, modifying the contents of memory according to those instructions, various arithmetic units to perform calculations required by the program as directed by the control unit, and input/output units.

Despite many serious efforts to come up with a better, "non-von-Neumann" computer architecture, and the vast increase in power and complexity of computers over the years, this is still be basic structure of modern computers.

External View of a Computer

From a modern user's point of view, a typical desk-top computer consists of a system unit, input devices, such as a keyboard and a pointing device (a mouse, trackball, trackpad, etc.), a display device (usually called a monitor) to show text and graphics, and additional perpiheral devices to store data, to print text or graphics and to transfer data to other computers.

Prepared by Herbert J. Bernstein, revised 29 August 2010.