CS140 Lecture 09a: Brief History of Computing

"There is no reason anyone would want a in their home." -- Ken Olson, founder and CEO of Digital Equipment Corp., 1977

John Magee 17 February 2017 Some images courtesy Wikimedia Commons, IBM, DEC

1 Overview/Questions

– Where did come from? – When were computers first discovered?

– Why should you care about the history of computing?

2 Early History of Computing Abacus (2400 BC) Ancient device to record numeric values

Above: a reconstructed Roman abacus 3 Early History of Computing Blaise Pascal (1623-1662) Mechanical device to add, subtract, divide & multiply

4 Early History of Computing Joseph Jacquard (1801) Jacquard’s Loom, the punched card

5 Programmability

What tricks does your computer do? – Web browsing, email, instant messenger – Play games – Watch movies, organize photos – Word processing, spreadsheets, database

Programmability is the ability to give a general- purpose computer instructions so that it can perform new tasks.

6 3 Difference Engine Charles Babages’ mechanical calculating machine, designed in 1820s.

http://www.youtube.com/watch?v=B8tmfcOg8l8 http://www.youtube.com/watch?v=0anIyVGeWOI Ada Lovelace: First Algorithm

7 Finite State Machines

– AKA Finite State Automata – Think about a Traffic light operation . There are only a limited number of “states” – configurations of lights. . Each state transitions into a new state. . E.g. Green  Yellow  Red

8 Turing Machines

Alan Turing . Considered to be the father of . Also known for the “Turing Test” for Artificial Intelligence

Turing Machine - 1936 . A turing machine is an abstract thought experiment. . Mathematical proof of computability of algorithm. . Basis for Computer Science Theory.

9 Early Digital Computers

Harvard I (1944)

10 Harvard Mark I

IBM Archives 11 Early Digital Computers

Harvard Mark I (1944) First fully automatic digital computer to be completed • 51 feet wide, 8 feet high, 2 feet deep • Built out of , relays, and rotating mechanical shafts/clutches • Storage for 72 numbers, each 23 decimal digits in length • Read instructions from paper tape, one at a time

12 Early Digital Computers

ENIAC (1946) Electronic Numerical Integrator And Computer •first general-purpose electronic computer •80 feet wide, 8.5 feet high, 3 feet deep •No moving parts •Ability to conditional branch – do the next operation based on the result of the previous operation. •17,468 vacuum tubes, 7,200 crystal diodes, 1,500 relays, 70,000 resistors, 10,000 capacitors and around 5 million hand-soldered joints. •5,000 Hz, 324 multiplications/second

13 ENIAC

14 First Computer Bug

Log of first computer bug, discovered by , 1945 A Computer Science Pioneer, she later wrote the first Compiler. 15 Computer Programming, 0.X

The earliest digital computers were programmed by wiring them up to perform some specific logic.

Pictured: Harvard Mark I

16 Computer Programming, 0.X

Later, instructions were programmed by flipping switches.

Pictured: Digital Equipment PDP-8

Demo: http://www.youtube.com/watch?v=DPioENtAHuY 17 Stored Program Computer (a mathematician who worked on the atomic bomb) – Described a computer architecture in which instructions are read from the memory space (RAM), just like data. – This design enables programmability, by making it relatively easy to provide new instructions to the computer’s hardware.

18 Stored Program Computer ()

Figure 5.1 The von Neumann architecture

19 Architecture

: – Instructions separate from data.  Von Neumann Architecture: – Instructions = data. – All stored in the same memory. – A program can write a program! (Compilers) – All modern computers based on this.

20 Stored Program Computer

Data and instructions to manipulate the data are logically the same (binary code) and can be stored in the same place (RAM).

The machine language of a particular computer is the set of binary coded instructions built into its hardware.

21 Machine Language

Characteristics of machine language: – Every processor type has its own set of specific machine instructions. – The relationship between the processor type and the instructions it can carry out is completely integrated. – Each machine-language instruction does only one very low-level task.

22 Mainframes

IBM 704 (1954) First floating point hardware mass produced

Univac 1108 (1964)

23 1960’s-1970’s

 Interactive sessions  Multi-user systems – Time-sharing – Terminals  “mini”computers

DEC PDP-7

24 Grace Hopper

1944: One of the first programmers of Harvard Mark I. 1949: Suggested programming with English words. 1952: First compiler: “Nobody believed that," she said. "I had a running compiler and nobody would touch it. They told me computers could only do arithmetic.” 1959 – 1977: COBOL programming language. 1986: Retired as oldest active-duty commissioned officer in the US navy.

25 Grace Hopper

1989: Honorary Degree at Clark University.

2016: Presidential Medal of Freedom

2017: Yale announced plan to rename one of its undergraduate colleges Grace Murray Hopper College.

Annual Convention: The Grace Hopper Celebration of

26 Margaret Hamilton

Lead Apollo flight software designer.

Hamilton has published over 130 papers, proceedings, and reports about the 60 projects and six major programs in which she has been involved.

Legitimized the use of the term "software engineering“ as a disciplined approach to science and engineering of software.

CEO of two software companies she founded.

2016 Presidential Medal of Freedom

27 Rise of the PC

Video: Triumph of the Nerds PBS Series hosted by Bob Cringely https://vimeo.com/124201377

9:24 - Cringely explains digital computing, program, 10:00 - data, instructions in binary, flipping switches, etc. Grace Hopper, programming COBOL, mainframe computers, punch cards, Wozniak, Jobs on programming, 12:58 - microprocessor (vacuum tubes, transistors, chips ), Intel 15:30 - Altair 8800 19:20 - Homebrew computer club 20:30 - Mellon/Garland @ computer club, binary addition by flipping switches 22:30 - programming language/basic interpreter, Paul Allen, Bill Gates // 27:00

28 Rise of the PC

Video: Triumph of the Nerds

PBS Series hosted by Bob Cringely

27:00 - Microsoft in Albuquerque, basic for the Altair 29:12 - Steve Jobs, Jim Warren, sixties counter culture 31:30 - Apple Computer, Apple I, II // 35:00 35:00 - venture capital for apple, apple II, manufacture 37:10 - computer fair 40:00 - Intro VisiCalc on an Apple II 44:38 - wall street use of PC 46:15 - wrap up characters 48:50 - closing remarks

29 Rise of the PC (1979 --)

What happened next? – IBM PC and Microsoft . Disk Operating System (DOS) – Apple, Amiga, Tandy, Atari, IBM… – IBM “Clones” / PC Compatibles – … the Internet… to be continued…

– What is a “killer app”? – What’s next?

30 What happened to women in CS?

Right: Elsie Shutt founded one of the first software businesses in the U.S. in 1958. And the programmers were all women.

NPR: “When Women Stopped Coding”

http://www.npr.org/sections/money/2016/07/22/487069271/episode-576-when-women-stopped-coding http://www.npr.org/sections/money/2014/10/21/357629765/when-women-stopped-coding

“And these toys were marketed almost entirely to men and boys.” 31 Moore’s Law

32 Early Personal Computers

Computer Ads: http://blogs.pcworld.com/techlog/archives/002950.html

 Atari 400 (1980) http://www.youtube.com/watch?v=5sr28fygmOQ  Commodore VIC-20 (1981) http://www.youtube.com/watch?v=gVX5cyMOGAk  Compaq portable computer http://www.youtube.com/watch?v=YTMdXZ_QwTo

33