Powerpoint slides - School of Computer Science Student WWW Server

Download Report

Transcript Powerpoint slides - School of Computer Science Student WWW Server

History of Computer
Science
Mechanical Inventions
Before 1900s
Antikythera
• 80 B.C.E.
navigational aid
• predicted motion
of stars and
planets
Other Early Inventions
• Abacus
• Astrolabe (one below dated 1212
A.D.)
John Napier
1614 Napier “bones” calculate logarithms
Blaise Pascal
• Mechanical adding machine (16421645), the “pascaline”
“First” Calculating Machine
• Originally credited
Gottfried Wilhelm
Leibniz (1671)
• , , 
• Wilhelm Schickard
invented one in
1623 to calculate
ephemerides
Joseph-Marie Jacquard
• Jacquard loom used punched cards
for patterns in weaving silk (1801)
First Computer Graphics?
Charles Babbage
• Difference engine:
calculate trigonometric
and logarithmic tables
(1823-1834), completed
1991
• Analytical engine:
precursor to modern
computer (~1834, never
built)
• Broke Vigenère cipher
Ada Lovelace
• Interested in
Babbage’s
Analytical engine
• First “programmer”
algorithm  program
William Stanley Jevons
• 1869 “Logic Piano”
solved Boolean logic
problems (syllogisms)
faster than could be
done by hand
– ~ 3 feet tall
– keys (logical operations)
+ levers + letters
– press keys and
appropriate letters
appear showing the
result
Herman Hollerith
• Punched cards for US 1890 census
data (saved $5 Mil and several years
of processing time)
• Tabulating Machine Company  IBM
Ideas Advance in
Mathematics
1900-1940s
Russell & Whitehead
• 1910-1913 Write Principia
Mathematica, which attempted to
construct the foundations of
mathematics on a rigorous logical
basis.
Bertrand
Russell
Alfred North
Whitehead
Leonardo Torres y Quevedo
• 1911-1913: Built some electromechanical calculating devices,
including one that played simple chess
endgames against a human.
David Hilbert
1928
(1) Is mathematics complete?
Can every mathematical statement be either
proved or disproved?
(2) Is mathematics consistent?
Is it true that statements such as "0 = 1"
cannot be proved by valid methods?
(3) Is mathematics decidable?
Is there a mechanical method that can be
applied to any mathematical assertion and
(at least in principle) eventually tell whether
that assertion is true or not?
Kurt Gödel
• Answered Hilbert’s first two
questions in 1931
Alan Turing
• 1936 Answered Hilbert’s
last question (as did
Alonzo Church) and
proved the Halting
Problem
• 1936 Turing Machine
• Breaking Enigma
– 1939-40 “bombes”
(secret until 1970)
• 1950 Turing test for AI
1941 Konrad Zuse
• Developed the “Z3”
• first operational, general-purpose,
program-controlled calculator
1944 Howard Aiken
• 1943: Automatic Sequence Controlled
Calculator (renamed Harvard Mark I)
for simple arithmetic.
• Used by US Navy for ballistics and
gunnery calculations
1946 ENIAC vs Pentium
• 5000 +/second
• stores 200 digits
• 10ft tall, 1800 ft.2,
30 tons
150MHz 16Mb RAM
IBM ThinkPad 755 CX:
• 150x106 +/second
• stores 16x106 digits
• 11.7”x8.3”, 6.1 lbs
[ENIAC considered first electronic digital computer
(Mauchly & Eckert) until info. on Colossus released
in 1970]
1944 EDVAC
• stored-program electronic computer
• Mauchly, Eckert, and John von
Neumann
• Maurice Wilkes builds EDSAC in 1948
(based on EDVAC), first storedprogram digital computer
Grace Hopper
• Worked with:
– 1944: Aiken on
Harvard Mark I
– 1949: Eckert and
Mauchly on UNIVAC
• Credited with:
– 1951: first
“computer” bug
– 1952: first compiler
– 1959: COBOL
Hardware Revolutions
• 1947: Transistor invented by John
Bardeen, Walter Brattain, and William
Shockley who were awarded the 1956
Nobel Prize in physics.
• 1949: Jay Forrester invents magnetic
core memory
• 1959: Jack Kilby (Texas Instruments)
and Robert Noyce (Fairchild
Semiconductor) invent the integrated
circuit
1950s Idea Revolutions
• 1956: Edsger Dijkstra develops
algorithms for minimum spanning trees
and shortest path in a graph
• 1957: FORTRAN by John Backus et. al.
• 1958:
– LISP by John McCarthy,
– Algol by Alan Perlis, John Backus, Peter
Naur, et. al.
1960s
•
•
•
•
•
•
More programming languages
Fred Brooks: operating systems
Chomsky and Rabin: automata theory
Hoare: program correctness + quicksort
1968: computer mouse by Engelbart
1969-1971: Hoff and Faggin (Intel) design
first microprocessor.
• Knuth’s 3-volume “The Art of Computer
Programming”
• ARPAnet: precursor to Internet
1970s
• Major advances in database theory (Codd)
• UNIX (Thompson & Ritchie), C (Kernighan
and Ritchie)
• RISC architecture
• Cray supercomputers
• Advances in algorithms and computational
complexity (Karp, Cook)
• Public-key cryptosystems (RSA)
• Start of Usenet
1980s
• Rise of personal computers (Jobs
and Wozniak, founders of Apple)
• 1981:
– first computer viruses
– first successful marketable PC
• 1984: Apple Macintosh
• 1987: the US National Science
Foundation starts NSFnet, precursor
to part of today's Internet.
1990s
• Parallel computing
• Biological computing e.g. Human
Genome Project
• Quantum computing
• Growth of Internet and WWW
• Size/cost decrease and power
increase of hardware
• Nano-technology