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