Investigating the use of Software Engineering in Computer Science Research
Quick Links
About the project
Quick Links
Computer Science and Software Engineering
Method and results of investigation
Conclusions drawn
Recomendations

The advent of computing

Computer science is the discipline of solving problems through the use of computers (Comer, Gries, Mulder, Tucker, Turner and Young, 1989; Burch, 1999; University of Oxford, 2002). While most universities today have a computer science department, or equivalent, much research in the field of computer science also comes from other scientific disciplines. it is often only when a need is demonstrated, and an automated solution sought, that a new type of solution is found.

In order to automate the creation of staff charts for navigation at sea and other vital tables, Charles Babbage, a professor of mathematics at Cambridge, invented the difference Engine. Although not completed by Babbage, the difference Engine played an important role in the history of computing by providing Babbage with the idea for his Analytical Engine, and later gave rise to the Hollerith Tabulator (used for the census of 1890) from a company called Tabulating Machine Company, now known as International Business Machines (IBM) (Tuck, 2002; IBM, 1953). Babbage's Analytical Engine was the first \universal digital computer" (Turing, 1950), as such although mechanical, it had many of the features of a modern computer (Copeland, 2000; Charles Babbage Institute, 2002). Practical problems such as the generation of navigation and log tables and processing of census data have always been one of the key driving forces behind technological advances and improvements in computer science.

Another driving force in computer science is the desire to overcome, or at least explain, the limitations of the field. This can be seen in the Halting Problem that led Turing to the development of the abstract concept of a Turing machine (Turing, 1936). This machine is not only the basis of the modern theory of computation and computability, but it led to the development in 1943 of Colossus, the key to breaking the German Enigma ciphers during World War II (Zorpette, 1987). The advantage this gave the allies was said by Gen. Eisenhower to have \saved thousands of British and American lives and, in no small way, contributed to the speed with which the enemy was routed and forced to surrender" (Eisenhower, 1945). This has more recently been elaborated by Kahn who explains that the breaking of Enigma \saved the world two years of war, billions of dollars, and millions of lives", he also calls it the \the chief hidden factor that helped the Allies win" (Kahn, 1991).

That the general purpose computer that emerged after the war was primarily intended for scientific use can be clearly seen in the in the ENIAC patent (US patent No. 3,120,606). The ENIAC is the world's first general purpose electronic digital computer (Weik, 1961; Winegrad and Akera, 1996; Oldehoeft, 2000). The patent states: \The most advanced machines have greatly reduced the time required for arriving at solutions to problems which might have required months or days by older procedures. This advance, however, is not adequate for many problems encountered in modern scientific work and the present invention is intended to reduce to seconds such lengthy computations"(Eckert and Mauchly, 1947). This patent was later revoked, largely as a result of it being demonstrated that the Antanasoff-Berry Computer (the ABC) had already provided many of the key innovations making up the patent when it had gone operational in 1932 (Larson, 1973). In 1952 IBM released the IBM 701, its first large computer that was based on vacuum tube technology. Initially used mainly for government and research work, the 701 was soon also used for business applications (such as inventory control, billing and payroll) (IBM, 2002). The use of high end computers for scientific, government and commercial work has continued right up to today.

The field of computer science, based on theories such as those of Turing and working with machines descendants from the ENIAC, that aims to solve complex problems in its own domain, and the domains of other scientific disciplines, government, military, and industry.

References above can be seen in the Bibliography.