CS 152 Programming Paradigms A History of Computation




![• [Computer science] is not really about computers -- and it's not about • [Computer science] is not really about computers -- and it's not about](https://slidetodoc.com/presentation_image_h/7b4c452d3530ee05caf0d52590692e28/image-5.jpg)


























- Slides: 31
CS 152 Programming Paradigms A History of Computation Thaddeus Aid Department of Computer Science San Jose State University Spring 2016 Creative Commons Attribution-Share. Alike 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-Share. Alike 4. 0 International License 2
Before History…. • Before numbers…. . Source Wikipedia Commons Creative Commons Attribution-Share. Alike 4. 0 International License 3
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-Share. Alike 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-Share. Alike 4. 0 International License 5
2400 BCE – The Babylonian Abacus Creative Commons Attribution-Share. Alike 4. 0 International License 6
100 CE - The Antikythera mechanism Creative Commons Attribution-Share. Alike 4. 0 International License 7
200 CE – The Chinese Abacus Creative Commons Attribution-Share. Alike 4. 0 International License 8
1000 CE – The Astrolabe Creative Commons Attribution-Share. Alike 4. 0 International License 9
1100 CE - The Torquetum Creative Commons Attribution-Share. Alike 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-Share. Alike 4. 0 International License 11
1822 CE – Charles Babbage's Difference Engine Creative Commons Attribution-Share. Alike 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-Share. Alike 4. 0 International License 13
1837 CE – Babbage’s Analytical Engine Creative Commons Attribution-Share. Alike 4. 0 International License 14
23 June 1912 – 7 June 1954 Alan Turing Creative Commons Attribution-Share. Alike 4. 0 International License 15
Turing • Mathematician • Logician • Cryptanalyst • Computer Scientist • Theoretical Biologist • Formalized the Algorithm • Formalized Computability • Artificial Intelligence Creative Commons Attribution-Share. Alike 4. 0 International License 16
The Enigma and Bletchley Park Creative Commons Attribution-Share. Alike 4. 0 International License 17
1947 CE – The Transistor Creative Commons Attribution-Share. Alike 4. 0 International License 18
1951 CE - UNIVAC Creative Commons Attribution-Share. Alike 4. 0 International License 19
1955 CE – The Pilot ACE Creative Commons Attribution-Share. Alike 4. 0 International License 20
1958 CE – The Integrated Circuit Creative Commons Attribution-Share. Alike 4. 0 International License 21
Dec 9, 1906 – Jan 1, 1992 – Admiral “Amazing” Grace Hopper Creative Commons Attribution-Share. Alike 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-Share. Alike 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-Share. Alike 4. 0 International License 24
1958 - LISP • List Processor • Favored language for AI Creative Commons Attribution-Share. Alike 4. 0 International License 25
1959 CE - COBOL • Targeted business needs • Procedural Creative Commons Attribution-Share. Alike 4. 0 International License 26
1962 - Simula • The introduction of Object Oriented Programming Creative Commons Attribution-Share. Alike 4. 0 International License 27
1964 - Speakeasy • Object Oriented Numerical package • Lead to modern languages like Matlab and Mathmatica Creative Commons Attribution-Share. Alike 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-Share. Alike 4. 0 International License 29
1972 - Prolog • Logic Programming Creative Commons Attribution-Share. Alike 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-Share. Alike 4. 0 International License 31