CS154A History of Computation
Thaddeus AidDepartment of Computer Science
San Jose State UniversitySpring 2016
Creative Commons Attribution-ShareAlike 4.0 International License 1
Why Study Computer Science?
•The point is not to understand the world, but to transform it. ~ Karl Marx
Creative Commons Attribution-ShareAlike 4.0 International License 2
Before History….• Before numbers…..
Creative Commons Attribution-ShareAlike 4.0 International License 3
Source Wikipedia Commons
Then comes…• The tally sticks led to numbers, and numbers lead to mathematics• The formalization of numbers allowed for the discovery of arithmetic• The Hindu-Arabic numbering system allowed for the further development of
math• There is quite a lot that you can figure out with some numbers, some
operators, a piece of paper, and a stick of charcoal
• The purpose of computing is insight, not numbers. ~ Richard Hamming
Creative Commons Attribution-ShareAlike 4.0 International License 4
• [Computer science] is not really about computers -- and it's not about computers in the same sense that physics is not really about particle accelerators, and biology is not about microscopes and Petri dishes...and geometry isn't really about using surveying instruments. ~ Hal Abelson
• So what is Computer Science about?• Understanding problems in order to solve them.
• Is it a science? A math? An engineering discipline?• It is all of these, every computer built and every program engineered is an empirical
experiment into the realm of nature and mathematics. Does this experiment work?
Creative Commons Attribution-ShareAlike 4.0 International License 5
2400 BCE – The Babylonian Abacus
Creative Commons Attribution-ShareAlike 4.0 International License 6
100 CE - The Antikythera mechanism
Creative Commons Attribution-ShareAlike 4.0 International License 7
200 CE – The Chinese Abacus
Creative Commons Attribution-ShareAlike 4.0 International License 8
1000 CE – The Astrolabe
Creative Commons Attribution-ShareAlike 4.0 International License 9
1100 CE - The Torquetum
Creative Commons Attribution-ShareAlike 4.0 International License 10
Islamic Robots?• During this time, Islamic scholars also built analogue constructs that
could do a number of things like play flute.• Islamic Scholars also built the “Castle Clock” which could be
programmed to strike a gong/bell/noise maker in order to call Muslims to prayer at the right times of day.
Creative Commons Attribution-ShareAlike 4.0 International License 11
1822 CE – Charles Babbage's Difference Engine
Creative Commons Attribution-ShareAlike 4.0 International License 12
Babbage and Lovelace• Charles Babbage came up with the idea of a machine that could be
used to solve complex equations.• Ada Lovelace came up with the idea of using repeatable programs to
change the function of the machine. She is the mother of programming.
Creative Commons Attribution-ShareAlike 4.0 International License 13
1837 CE – Babbage’s Analytical Engine
Creative Commons Attribution-ShareAlike 4.0 International License 14
23 June 1912 – 7 June 1954 Alan Turing
Creative Commons Attribution-ShareAlike 4.0 International License 15
Turing• Mathematician• Logician• Cryptanalyst• Computer Scientist• Theoretical Biologist• Formalized the Algorithm• Formalized Computability• Artificial Intelligence
Creative Commons Attribution-ShareAlike 4.0 International License 16
The Enigma and Bletchley Park
Creative Commons Attribution-ShareAlike 4.0 International License 17
1947 CE – The Transistor
Creative Commons Attribution-ShareAlike 4.0 International License 18
1951 CE - UNIVAC
Creative Commons Attribution-ShareAlike 4.0 International License 19
1955 CE – The Pilot ACE
Creative Commons Attribution-ShareAlike 4.0 International License 20
1958 CE – The Integrated Circuit
Creative Commons Attribution-ShareAlike 4.0 International License 21
Dec 9, 1906 – Jan 1, 1992 – Admiral “Amazing” Grace Hopper
Creative Commons Attribution-ShareAlike 4.0 International License 22
Grace Hopper nee Murray• Early programmer• Invented the compiler• Lead the effort to build FORTRAN and COBOL• Coined the term “debugging”
Creative Commons Attribution-ShareAlike 4.0 International License 23
1957 CE - Fortran• Formula Translation• First Compiled Language• Considered one of the fastest languages in the world• Imperetive
Creative Commons Attribution-ShareAlike 4.0 International License 24
1958 - LISP• List Processor• Favored language for AI
Creative Commons Attribution-ShareAlike 4.0 International License 25
1959 CE - COBOL• Targeted business needs• Procedural
Creative Commons Attribution-ShareAlike 4.0 International License 26
1962 - Simula• The introduction of Object Oriented Programming
Creative Commons Attribution-ShareAlike 4.0 International License 27
1964 - Speakeasy• Object Oriented Numerical package• Lead to modern languages like Matlab and Mathmatica
Creative Commons Attribution-ShareAlike 4.0 International License 28
1969 - C• Dennis Ritchie and Ken Thompson developed this systems
programming language at Bell Labs.• It is hard to overestimate the influence that C has had on the world.
Creative Commons Attribution-ShareAlike 4.0 International License 29
1972 - Prolog• Logic Programming
Creative Commons Attribution-ShareAlike 4.0 International License 30
More languages• 1980 C++• 1984 Matlab• 1986 Objective C• 1987 Perl• 1990 Haskell• 1991 Python• 1995 Java• 2007 Clojure
Creative Commons Attribution-ShareAlike 4.0 International License 31
Top Related