Computer science is the study of the storage, transformation and transfer of information. The field encompasses both the theoretical study of algorithms (including their design, efficiency and application) and the practical problems involved in implementing them in terms of computer software and hardware.
An algorithm is a detailed and unambiguous sequence of actions for solving a problem or for performing some task. Algorithms are essential to the way computers process information because a computer program is basically just an algorithm that tells the computer what specific steps to perform (and in what sequence) in order to carry out a specified task.
Although its name contains the word science, computer science is usually considered to be a branch of engineering. This is in sharp contrast to most of the physical sciences, which separate the understanding and advancement of the science from its practical applications. Science is a technique for learning about the natural world by applying the principles of the scientific method (which includes making empirical observations, proposing hypotheses to explain those observations, and then testing those hypotheses); engineering is the application of science.
Computers are virtually indispensable to the field of computer science. Yet, as Edsger Dijkstra, a pioneering computer scientist, so aptly put it, "Computer science is no more about computers than astronomy is about telescopes."
Some of the major sub-specialties of computer science are algorithms and data structures, programming methodology and languages, software engineering, computer architecture, artificial intelligence, networking and communications, database systems, parallel computation, distributed computation, computer-human interaction, computer graphics and operating systems.
Computer science has its roots primarily in the fields of electrical engineering (i.e., electronics), mathematics and linguistics. It is still a relatively young field, mainly because it was only about a half century ago that electronics technology became sufficiently advanced to allow the construction of even primitive electronic computing devices.
Mechanical devices have long been employed to increase the efficiency of calculation. For example, the abacus was likely in use in Mesopotamia (the southern part of modern Iraq) by as early as 3000 B.C. And the ancient Greeks apparently possessed some surprisingly sophisticated mechanical computers, such as the geared device found by a Greek sponge diver off the isle of Antikythera in 19011.
However, the beginning of computer science is generally placed in the 1940s. At that time, World War II stimulated the development of the first digital electronic computers, particularly for use in calculating trajectories for projectiles and in breaking codes. Thus, it has only been a few decades since computer science became recognized as a distinct discipline and developed its own terminology and methods.
The word computer itself has been around for much longer than the type of device to which the term refers today. It originally referred to a person whose profession was to spend all day performing calculations, such as for creating tables of trajectories. (This would be considered a very tedious profession today.) After World War II, dictionaries began defining the word computer in terms of a machine as well as a person.
Computer science in universities was initially treated as a branch of mathematics and not as a separate discipline. The first computer science department in the U.S. was established in 1962 at Purdue University, and today most universities today have separate (and thriving) departments devoted to this field.
Linguistics is the study of languages, including their structure and evolution. An understanding of the structure of spoken languages and writing systems is crucial to computer science because of (1) the need to design efficient artificial languages, i.e., programming languages, for developing computer software, (2) the fact that written language (i.e., text) is still the main form of input and output for computers despite the success of GUIs (graphical user interfaces), (3) the fact that computers are used increasingly for natural language processing (e.g., comprehending and responding to human speech), (4) the growing demand for software that can easily be adapted to any human language (i.e., internationalization) and (5) the increasing demand for software that can provide high quality translations between various written and spoken human languages.
Causes of Advance in Computer Science
As is the case with the other sciences and fields of engineering, the understanding and application of virtually all aspects of computer science are continuing to advance and are showing no signs of slowing down. And nobody can predict if or when they ever will slow down.
A major factor stimulating and facilitating this relentless progress has been the continuous advance in computers themselves, particularly with respect to computational power and speed. This, in turn, is a result of advances in both computer science and electronics. The latter are particularly the result of the ability to fabricate semiconductor devices, mainly microprocessors and memory chips, with ever-finer circuit line widths and thus higher degrees of device integration (i.e., more transistors and other circuit elements per chip).
These advances in electronics, in turn, are heavily dependent on the continued breakthroughs in the fields of materials science and production technology. The higher degrees of device integration have been making possible the continued surge in processing speeds and memory capacities simultaneously with reductions in the cost (including power consumption) of processors and memory.
There are several additional, commonly used terms related to the study of computers. The most popular of these is information technology (IT), which can be defined as the branch of technology devoted to the study and application of data and the processing thereof. IT can also be thought of as applied computer systems, including both hardware and software, usually in the context of a business or other enterprise, and often including networking and telecommunications. The term computer science is usually reserved for the more theoretical, academic aspects of computing.
Another commonly used term, information systems (IS), refers to the application of computers to support the operations of businesses and other organizations. It includes the installation, operation and maintenance of computer hardware, software and data.
1This device appears to have been used for calculating the motions of planets and other heavenly bodies. An excellent article about it by Derek J. de Solla Price was published in Scientific American, June 1959, p.60-7. An updated version can be found online at .