n301/cs01history n301.tplt Computer Science – Where do we begin?
- Let’s begin with some background information
- Computer Science is not the study of computers
- Computer Science is the study of algorithms
Algorithms – a brief history The word algorithm was not listed in Webster’s New World Dictionary until 1957 An older form "ALGORISM", which is the process of doing arithmetic using Arabic numerals Algorithm The word is derived from the last name of a famous Persian mathematician
- Muhammad ibn-Musa Al-Khowarizimi He was also an author in the 8th and 9th centuries and wrote a book about the base-10 positional numbering system
What is an algorithm? It is a well-ordered collection of unambiguous and effectively computable operations that, when executed, produces a result and halts in a finite amount of time.
An Invitation to Computer Science Schneider, et al, 1999
Why is this important? If we can specify an algorithm, we can automate the solution
- a computing agent can carry it out
- is able to understand and perform instructions
- humans, robots, computers
What about computers? The need for fast numeric calculation inspired Charles Babbage (1823) to start building his difference engine – a complex mechanical machine for calculating logarithms and trigonometric functions Construction of tables for ballistics calculations Analytic Engine In the midst of constructing the difference engine, amongst financial and technical difficulties, Babbage started to design a much more flexible, general purpose machine – the Analytic Engine Analytic Engine Concepts Four main components of modern computers -
input
processing
storage
output
Lady Ada Lovelace Worked closely with Babbage on his design and she used her mathematical and literary skills to promote the analytical engine Often called the first programmer because she wrote a program to calculate Bernoulli numbers using the analytical engine Calculating Machines Babbage was unsuccessful in completing his vision Complex calculating machines were constructed and in 1890, the first US census was counted with the help of a ‘tabulating machine’ developed by Herman Hollerith, whose company in 1924, became International Business Machines Corp (IBM) World War II Electronic Numerical Integrator and Computer (ENIAC) was developed as a general-purpose electronic digital computer Used to calculate missile trajectories Completed in 1946, used 18,000 vacuum tubes, 500 miles of wire and weighed more than 35 tons Grace Hopper A US Navy Commodore, also a mathematician who worked on early computers Wrote the first paper on compilers (programs that translate instructions into the 1s and 0s the computer understands) Created the first programming language, COBOL, that could be used on more than one machine Shift in Use Main use of computers has shifted from calculation to communication Development of the microprocessor in the 1970s initiated the personal computer Small enough and cheap enough to have on your desk or in your home ‘paperless office’ had opposite effect – computers could not communicate between each other Communication LAN (Local Area Network) allowed computers within an organization to communicate with each other Mid-1980s computers popular in the home market, could not speak directly with each other – many had different operating systems (Mac vs. PC) No uniform way to describe and transform information across computing platforms