CS154 A History of Computation Thaddeus Aid Department of Computer Science San Jose State University...

31
CS154 A History of Computation Thaddeus Aid Department of Computer Science San Jose State University Spring 2016 Creative Commons Attribution-ShareAlike 4.0 International License 1

description

Before History…. Before numbers….. Creative Commons Attribution-ShareAlike 4.0 International License 3 Source Wikipedia Commons

Transcript of CS154 A History of Computation Thaddeus Aid Department of Computer Science San Jose State University...

Page 1: CS154 A History of Computation Thaddeus Aid Department of Computer Science San Jose State University Spring 2016 Creative Commons Attribution-ShareAlike.

CS154A History of Computation

Thaddeus AidDepartment of Computer Science

San Jose State UniversitySpring 2016

Creative Commons Attribution-ShareAlike 4.0 International License 1

Page 2: CS154 A History of Computation Thaddeus Aid Department of Computer Science San Jose State University Spring 2016 Creative Commons Attribution-ShareAlike.

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

Page 3: CS154 A History of Computation Thaddeus Aid Department of Computer Science San Jose State University Spring 2016 Creative Commons Attribution-ShareAlike.

Before History….• Before numbers…..

Creative Commons Attribution-ShareAlike 4.0 International License 3

Source Wikipedia Commons

Page 4: CS154 A History of Computation Thaddeus Aid Department of Computer Science San Jose State University Spring 2016 Creative Commons Attribution-ShareAlike.

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

Page 5: CS154 A History of Computation Thaddeus Aid Department of Computer Science San Jose State University Spring 2016 Creative Commons Attribution-ShareAlike.

• [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

Page 6: CS154 A History of Computation Thaddeus Aid Department of Computer Science San Jose State University Spring 2016 Creative Commons Attribution-ShareAlike.

2400 BCE – The Babylonian Abacus

Creative Commons Attribution-ShareAlike 4.0 International License 6

Page 7: CS154 A History of Computation Thaddeus Aid Department of Computer Science San Jose State University Spring 2016 Creative Commons Attribution-ShareAlike.

100 CE - The Antikythera mechanism

Creative Commons Attribution-ShareAlike 4.0 International License 7

Page 8: CS154 A History of Computation Thaddeus Aid Department of Computer Science San Jose State University Spring 2016 Creative Commons Attribution-ShareAlike.

200 CE – The Chinese Abacus

Creative Commons Attribution-ShareAlike 4.0 International License 8

Page 9: CS154 A History of Computation Thaddeus Aid Department of Computer Science San Jose State University Spring 2016 Creative Commons Attribution-ShareAlike.

1000 CE – The Astrolabe

Creative Commons Attribution-ShareAlike 4.0 International License 9

Page 10: CS154 A History of Computation Thaddeus Aid Department of Computer Science San Jose State University Spring 2016 Creative Commons Attribution-ShareAlike.

1100 CE - The Torquetum

Creative Commons Attribution-ShareAlike 4.0 International License 10

Page 11: CS154 A History of Computation Thaddeus Aid Department of Computer Science San Jose State University Spring 2016 Creative Commons Attribution-ShareAlike.

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

Page 12: CS154 A History of Computation Thaddeus Aid Department of Computer Science San Jose State University Spring 2016 Creative Commons Attribution-ShareAlike.

1822 CE – Charles Babbage's Difference Engine

Creative Commons Attribution-ShareAlike 4.0 International License 12

Page 13: CS154 A History of Computation Thaddeus Aid Department of Computer Science San Jose State University Spring 2016 Creative Commons Attribution-ShareAlike.

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

Page 14: CS154 A History of Computation Thaddeus Aid Department of Computer Science San Jose State University Spring 2016 Creative Commons Attribution-ShareAlike.

1837 CE – Babbage’s Analytical Engine

Creative Commons Attribution-ShareAlike 4.0 International License 14

Page 15: CS154 A History of Computation Thaddeus Aid Department of Computer Science San Jose State University Spring 2016 Creative Commons Attribution-ShareAlike.

23 June 1912 – 7 June 1954 Alan Turing

Creative Commons Attribution-ShareAlike 4.0 International License 15

Page 16: CS154 A History of Computation Thaddeus Aid Department of Computer Science San Jose State University Spring 2016 Creative Commons Attribution-ShareAlike.

Turing• Mathematician• Logician• Cryptanalyst• Computer Scientist• Theoretical Biologist• Formalized the Algorithm• Formalized Computability• Artificial Intelligence

Creative Commons Attribution-ShareAlike 4.0 International License 16

Page 17: CS154 A History of Computation Thaddeus Aid Department of Computer Science San Jose State University Spring 2016 Creative Commons Attribution-ShareAlike.

The Enigma and Bletchley Park

Creative Commons Attribution-ShareAlike 4.0 International License 17

Page 18: CS154 A History of Computation Thaddeus Aid Department of Computer Science San Jose State University Spring 2016 Creative Commons Attribution-ShareAlike.

1947 CE – The Transistor

Creative Commons Attribution-ShareAlike 4.0 International License 18

Page 19: CS154 A History of Computation Thaddeus Aid Department of Computer Science San Jose State University Spring 2016 Creative Commons Attribution-ShareAlike.

1951 CE - UNIVAC

Creative Commons Attribution-ShareAlike 4.0 International License 19

Page 20: CS154 A History of Computation Thaddeus Aid Department of Computer Science San Jose State University Spring 2016 Creative Commons Attribution-ShareAlike.

1955 CE – The Pilot ACE

Creative Commons Attribution-ShareAlike 4.0 International License 20

Page 21: CS154 A History of Computation Thaddeus Aid Department of Computer Science San Jose State University Spring 2016 Creative Commons Attribution-ShareAlike.

1958 CE – The Integrated Circuit

Creative Commons Attribution-ShareAlike 4.0 International License 21

Page 22: CS154 A History of Computation Thaddeus Aid Department of Computer Science San Jose State University Spring 2016 Creative Commons Attribution-ShareAlike.

Dec 9, 1906 – Jan 1, 1992 – Admiral “Amazing” Grace Hopper

Creative Commons Attribution-ShareAlike 4.0 International License 22

Page 23: CS154 A History of Computation Thaddeus Aid Department of Computer Science San Jose State University Spring 2016 Creative Commons Attribution-ShareAlike.

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

Page 24: CS154 A History of Computation Thaddeus Aid Department of Computer Science San Jose State University Spring 2016 Creative Commons Attribution-ShareAlike.

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

Page 25: CS154 A History of Computation Thaddeus Aid Department of Computer Science San Jose State University Spring 2016 Creative Commons Attribution-ShareAlike.

1958 - LISP• List Processor• Favored language for AI

Creative Commons Attribution-ShareAlike 4.0 International License 25

Page 26: CS154 A History of Computation Thaddeus Aid Department of Computer Science San Jose State University Spring 2016 Creative Commons Attribution-ShareAlike.

1959 CE - COBOL• Targeted business needs• Procedural

Creative Commons Attribution-ShareAlike 4.0 International License 26

Page 27: CS154 A History of Computation Thaddeus Aid Department of Computer Science San Jose State University Spring 2016 Creative Commons Attribution-ShareAlike.

1962 - Simula• The introduction of Object Oriented Programming

Creative Commons Attribution-ShareAlike 4.0 International License 27

Page 28: CS154 A History of Computation Thaddeus Aid Department of Computer Science San Jose State University Spring 2016 Creative Commons Attribution-ShareAlike.

1964 - Speakeasy• Object Oriented Numerical package• Lead to modern languages like Matlab and Mathmatica

Creative Commons Attribution-ShareAlike 4.0 International License 28

Page 29: CS154 A History of Computation Thaddeus Aid Department of Computer Science San Jose State University Spring 2016 Creative Commons Attribution-ShareAlike.

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

Page 30: CS154 A History of Computation Thaddeus Aid Department of Computer Science San Jose State University Spring 2016 Creative Commons Attribution-ShareAlike.

1972 - Prolog• Logic Programming

Creative Commons Attribution-ShareAlike 4.0 International License 30

Page 31: CS154 A History of Computation Thaddeus Aid Department of Computer Science San Jose State University Spring 2016 Creative Commons Attribution-ShareAlike.

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