Computer science (CS) is the study of computers, including their mathematical properties, design, operation, and use in processing information. CS combines theoretical and practical aspects of engineering, electronics, information theory, mathematics, logic, and human behavior. Modern computer science consists of many diverse fields, from programming and computer architecture to artificial intelligence and robotics.
The roots of computer science are indistinguishable from engineering and mathematics. In the seventeenth and eighteenth centuries, men such as French mathematician Blaise Pascal (1623-1662) and German mathematician Gottfried Leibniz (1646-1716) created small mechanical devices for adding and multiplying numbers. The first computer, in any recognizable sense of the word, was probably the analytical engine conceived by English mathematician and engineer Charles Babbage (1791-1871) around 1835. Though never completed by Babbage, his analytical engine was to have many attributes that would be used by various computers of the twentieth century, such as input of instructions by punched cards as well as a device called a "store" to hold the intermediate results of calculations (today called fast or working memory). The analytical engine contained gears, shafts, cams, and other mechanical parts to perform its computations, and was to have been driven by a steam engine.
The use of mechanical parts such as wheels, shafts, and gears would continue after long Babbage. For the 1890 United States census, the Hollerith tabulating machine was used. Like Babbage's analytical engine, the machine invented by American statistician Herman Hollerith (1860-1929) used paper cards for input and employed moving gears and other parts to perform calculations. (Hollerith cards were used by the Nazis in the early 1940s to facilitate roundup of Jews for transport to concentration camps.) In the late 1800s, Scottish physicist William Thomson (1824-1907; later called Lord Kelvin) produced mechanical computers with limited success. In the 1920s American engineer Vannevar Bush (1890-1974) picked up where Lord Kelvin left off and produced a computer using chains, gears, and shafts to perform fairly sophisticated computations. However, "reprogramming" the Bush computer meant taking much of it apart and then reassembling it to solve the new problem.
Enormous advances in computer design took place in the 1930s and 1940s. A number of computers were built using electromagnetic relays (metal contacts that opened and closed to form circuits) such as had long been used for automated telephone switching. The series of Bell Laboratories relay computers constructed from 1939 to 1949 used relay technology to perform binary number calculations. Data input and output was performed using punched paper tape. In 1941 German engineer Konrad Zuse (1910-1995) built the world's first working stored-program computer. His Z3 machine was also based on electromechanical relays, and was used for military aircraft design.
Theoretical work on computing that began in the 1930s provided the necessary design ingredients so that calculations could be performed without the need of human intervention. In 1936 British mathematician Alan Turing (1912-1954) conceived the Turing machine, an imaginary device that manipulates an indefinite string of 0s and 1s. Turing's machine is widely accepted as the theoretical precursor to, and conceptual basis of, the modern digital computer.
In spite of the real successes achieved by relay-type computers, the future of computing lay in the use of electronic components due to the great speed of electronic parts relative to mechanical relays. Electronic computers originally used vacuum tubes; tubes were replaced by transistors in the 1950s. The first of the vacuum-tube computers was the Atanasoff-Berry Computer (ABC) constructed from 1939 to 1942 by American physicist John Atanasoff (1903-1995) and his assistant Clifford Berry (1918-1963). The ABC employed many advanced features in addition to electronic computing, including the representation of data in binary form (as zeros and ones). Unfortunately, Atanasoff's and Berry's work on the ABC was interrupted by World War II and it was never completed. In 1943 the British computer Colossus was built to decipher German messages in the Enigma code. The Colossus used vacuum tubes for code breaking and was, therefore, an electronic computer. However, Colossus was never intended as anything but a specialty computer, and could not perform general computations. In contrast to the special-purpose Colossus, the ENIAC (Electronic Numerical Integrator and Computer) is generally considered the world's first general-purpose electronic computer. The ENIAC owed its existence to a team of engineers and technicians, but most especially to computer pioneers John Mauchly (1907-1980) and J. Presper Eckert (1919-1995). Like the ABC, the ENIAC used vacuum tubes to perform computations. However, it manipulated data using the decimal system instead of the binary system. The ENIAC was very fast for its day, performing some 5,000 additions per second. The ENIAC could be reprogrammed to solve all sorts of different mathematical problems, but reprogramming was accomplished by resetting switches and wiring, resulting in delays of hours to days between one run and the next.
At the University of Manchester in England the Small-Scale Experimental Machine (SSEM, nicknamed the "Baby") was designed and built and in 1948 became the first computer to store a user program in electronic memory and to process it at electronic speeds. Developed from the Baby, the Manchester Mark I became available in 1949 for scientific computations, and later became the prototype for one of the first commercially available computers, the Ferranti Mark 1, in 1951.
The theoretical basis of computer science eventually converged upon Boolean algebra, which mathematically operates upon information represented in binary form, such as true/false or one/zero. This approach was based on the mid-19th century work of English mathematician George Boole (1815-1864), who proposed a mathematics of logic operating on the values "true" or "false." Boole's logic was a perfect match for two-valued circuit elements, whether mechanical or electrical. The ease with which two-state devices (e.g., switch open or closed; voltage high or low) can be realized in electronic devices led naturally to the binary digit, or bit, as the basic unit of data storage and transmission in computer systems.
Hungarian-American mathematician John von Neumann (1903-1957) and others from the ENIAC team developed the concept of the stored-program computer in 1945. This architecture, in which both programs and data are accessed directly (e.g., in random access memory, or RAM), allows code and data to be treated interchangeably. Many historians consider the stored-program principle to be one of the most critical developments in the computer field during the twentieth century. Another important aspect of the von Neumann architecture was the central processing unit (CPU), which allowed all a computer's functions to be coordinated through a single mechanism. Von Neumann is considered a major contributor to the first-generation computers and languages (around 1940-954), in which programming was characterized by the use of instructions that were made to order for specific computer tasks. The first-generation computers were all dedicated systems (that is, only one person at a time could use the machine). Each computer had a different binary code, its machine language, that told it how to operate. (This remains true of all computers, but machine language was the only way to program the first-generation machines.) First-generation computers also included the EDVAC (Electronic Discrete Variable Automatic Computer) and EDSAC (Electronic Delay Storage Automatic Calculator). These, too, utilized the idea of an electronically stored program. In 1951, Mauchly and Eckert built the UNIVAC (Universal Automatic Computer), which used magnetic tape for input/output rather than the punched paper tape used in earlier machines. The vacuum-tube-based UNIVAC was the first commercially produced computer, and is considered to have begun the commercial computer industry. Introduced in 1954 by International Business Machines Corporation (IBM), the IBM 650, with its powerful punched-card input and output capabilities, is generally considered the most successful first-generation computer.
The difficulty of writing programs in a machine language of 0s and 1s led to the development of the second-generation computers and languages (around 1955-1960). Instead of the difficult binary codes, the new assembly languages allowed programmers to use simple programming codes for instructions (e.g., SUB for subtraction) and symbols for variables (e.g., X, Y, Z). Programs in assembly language were translated by an assembler program into the machine language used by the computer. Other software tools known as linkers and loaders combined pieces of assembled code and loaded them into the main memory unit for execution. The concept of linking pieces of code was important since it allowed "libraries" of programs to be built in order to carry out routine tasks, a first step toward software re-use. These new features dramatically lowered computer costs.
The concept of a high-level programming language was developed during the 1950s. As both computers and programs became more complex, communication between computers and users also became more complex, necessitating a less complex way to communicate. During the mid-1950s, sophisticated computer languages such as FORTRAN (FORmula TRANslator), the first high-level programming language, and COBOL (Common Business-Oriented Language) were developed. These high-level languages replaced assembly language with words and easily-understood mathematical formulas, making it much easier to program a computer. Specialized hardware and software computer careers such as programmer, analyst, and computer systems expert began with second-generation computers.
The 1947 invention of the transistor at Bell Laboratories brought about the demise of the vacuum tube. Among their many advantages, transistors allowed computers to operate much faster and to be far smaller. By 1959 computer systems were delivered featuring the total replacement of vacuum tubes with transistors. The most successful second-generation computer was the IBM 1401, being the first mass-produced, digital, all-transistorized business computer. In its day, more IBM 1401s were installed than all the other computer systems combined.
Computer science as an independent field of scientific study appeared about 1960, and has since branched off into numerous disciplines. The major subdisciplines of computer science today are (1) computer architecture, including hardware design and integration of hardware and software components to form computer systems; (2) software, further subdivided into software engineering, programming languages, operating systems (computer programs that provide a useful interface between computer and user), information systems and databases, artificial intelligence, and computer graphics; and (3) theory, including computational methods, numerical analysis, and data structures and algorithms.
In 1958 the first integrated circuit was constructed. This invention, more than any other, led to the widespread use of computers today. With assembly language becoming more and more inconvenient to use, higher-level languages and integrated circuit technology became the standard for the third-generation computers and languages (around 1961-971). Operating systems allowed individual machines to run many different programs at once, overseen by a central program that monitored and coordinated the computer's memory. Along with operating systems came the need for compilers, programs that translate higher-level language programs into machine code. Increasing use of computers in the early 1960s provided the impetus for the development of more advanced operating systems, which consisted of system-resident software that automatically handled input and output and the execution of "jobs." Increasingly sophisticated integrated-circuit technology made possible the production of small but powerful minicomputers, the most important being Digital Equipment Corporation's PDP-8 (1962). Two years later IBM used integrated circuits (chips) in its IBM 360 family of computers. Every IBM unit, no matter how big or small, was compatible with every other ,so that as a business's needs grew it could transfer to larger IBM computers without losing stored data. This brilliant concept made the IBM 360 the best-selling computer of the 1960s.
Moreover, third-generation designers realized that better utilization could be achieved by allowing several users to jointly share the machine. This concept, called multiprogramming, proved to be hugely successful. In the early 1960s computer groups pioneered the concept of timesharing, a method of sharing a computer in which hundreds of users accessed the central computer through computer terminals.
Fourth generation computers and languages (around 1971 to the present) have been notable for their user-friendly designs. In 1971 Intel created the first microprocessor, a large-scale integrated circuit (LSI) that contained thousands of transistors. The transistors on this chip were capable of performing all functions of a computer's CPU. The reduced size, reduced cost, and increased speed of the microprocessor led to the creation of the first microcomputers, today called personal computers. In 1976, Apple Computer founders Steve Jobs (1955- ) and Steve Wozniak (1950- ) built the first Apple computer, and in 1981 IBM introduced its first IBM personal computer, the IBM PC, a milestone in computer development. The Macintosh offered an operating system that allowed users to use a mouse to move screen icons instead of typing instructions; this operating system inspired Microsoft's Windows operating system, which today dominates the home and office computer markets, although Macintosh continues to sell many millions of units. Windows evolved from MS-DOS (Microsoft Disk Operating System), which Microsoft purchased from Seattle programmer Tim Paterson, who had originally named it Quick and Dirty Operating System (QDOS).
The World Wide Web (WWW or simply "the Web") is a computer-based worldwide computer network of information resources that a user can navigate by using links from one document to another. In 1989 British computer scientist Timothy Berners-Lee (1955- ), generally considered the inventor of the Web, designed the Web as a communications enhancement among physicists working for the European Laboratory for Particle Physics throughout the world. The Web began to be a popular in 1993 as a computer resource when it became possible to view text, images, and other multimedia on the Internet, a worldwide network of computers.
Computer scientists are striving to design more reliable, powerful computers; to enable networks of computers to efficiently exchange vast amounts of information; and to make computers behave intelligently. As computers become an increasingly integral part of modern society, computer scientists are striving to invent better methods of solving old problems, and along the way are creating some new ones too, many of them social in nature. The goals of computer science range from putting existing computers better use to highly speculative research into technologies that may not be viable for decades--if ever.
This is the complete article, containing 2,288 words
(approx. 8 pages at 300 words per page).