methods and simple tools e.g., abacus -3000 now CALCULATION methods and simple tools e.g., abacus First calculating machines ~1650 electronic computing era 1940-now
mathematical logicians merchants ARITHMETIC MACHINES now SLIDE RULES LOGIC engineers mathematical logicians
Newton, Leibniz calculus ~1680 US Army starts ENIAC 1940 DARPA starts MULTICS 1965 ARPANET 1967 Pascal calculator 1650 Newton, Leibniz calculus ~1680 US Army starts ENIAC 1940 now ARITHMETIC MACHINES SLIDE RULES LOGIC HP portable calculator 1972 Babbage difference engine 1820 Napier logarithm 1620 Shannon 1942 Boolean Algebra, 1948 information theory Babbage analytical engine 1840 Frege “Thought” 1880 Turing, Church, Gödel, Post computabillity 1936
Newton, Leibniz calculus ~1680 Pascal calculator 1650 Newton, Leibniz calculus ~1680 Newton Leibniz now ARITHMETIC MACHINES SLIDE RULES Napier logarithm 1650 Pascal Napier
ARITHMETIC MACHINES & SLIDE RULES Babbage difference engine 1820 Babbage analytical engine 1840 now ARITHMETIC MACHINES & SLIDE RULES Babbage Difference Engine Lovelace
ARITHMETIC MACHINES & SLIDE RULES IBM Card machines 1920 Vannevar Bush differential analyzer 1930 US Army ENIAC 1940 DARPA MULTICS 1965 ARPANET 1967 now ARITHMETIC MACHINES & SLIDE RULES Cloud 2005 HP portable calculator 1972 WWW 1993 Atanasoff 1937 Zuse 1936 Internet 1983
Vannevar Bush John Atanasoff Konrad Zuse
ARITHMETIC MACHINES & SLIDE RULES IBM Card machines 1924 Vannevar Bush differential analyzer 1930 US Army ENIAC 1940 DARPA MULTICS 1965 ARPANET 1967 now ARITHMETIC MACHINES & SLIDE RULES Alan Turing computable numbers 1936 Alan Turing artificial intelligence 1950 Alan Turing
Initial theories of computing 1936-1937 Alan Turing Alonzo Church Emil Post
First digital electronic computer 1946 J Mauchley J Presper Eckert Engineering, not theory, influenced design of computers
ENIAC
EDSAC Maurice Wilkes
John Backus FORTRAN 1957 First scientific HL language RDML Grace Hopper COBOL 1958 First business language First compiler
Always a computer in the background What is computer science? 1950 1970 1980 2000 now COMPUTER SCIENCE Phenomena surrounding computers Programming Automation Information processes artificial and natural Always a computer in the background
Phenomena surrounding computers Allen Newell Alan Perlis Herbert Simon
Programming Donald Knuth Edsger Dijkstra
Automation Bruce Arden CP3O / R2D2
World Wide Web Tim Berners-Lee
Natural information processes Ken Wilson David Baltimore
IBM Blue Gene Computer (250,000 cores)
Moore’s Law for transistors
Koomey’s law 2011
What’s in Computer Science Technology view Principles view
Technology View (ACM 2013) Algorithms & complexity Architecture & organization Computational science Discrete structures Graphics & visualization Human-computer interaction Information Assurance & security Information management Intelligent systems Network & communications Operating systems Platform based development Parallel & distributed computing Programming languages Software development fundamentals Software engineering Systems fundamentals Social & professional practice + 175 subtopics under these
Computational science Principles View (Denning and Martell 2004) communication Algorithms Architecture Computational science Discrete structures Graphics HCI … design computation evaluation coordination recollection
Computing Domains – Where the Action is