Computing and Its Developments CS 160: Computer Science Orientation Today’s Schedule • • • • • • • • • Programmable Computer Electronic Computing 1st Generation 2nd Generation High-Level Languages 3rd Generation Mainframes, Supercomputers, Minicomputers 4th Generation Personal Computers 1 July 24, 2016 Charles Babbage • “father of modern computer” • 1800s London • Developed Analytic Engine (1837) • Calculations based on instructions fed to it • Could be “programmed” to solve any math problem 2 July 24, 2016 Ada Lovelace • First “computer programmer” • Worked with Babbage on AE • Predicted modern computers • • • • Not just math Graphics Music Other scientific use • ADA language named in her honor 3 July 24, 2016 Today’s Schedule • • • • • • • • • Programmable Computer Electronic Computing 1st Generation 2nd Generation High-Level Languages 3rd Generation Mainframes, Supercomputers, Minicomputers 4th Generation Personal Computers 4 July 24, 2016 George Boole • Developed Boolean algebra • Logical AND, OR, NOT • Mathematically prove true/false • Foundation of digital logic circuits 5 July 24, 2016 Thomas Edison • Among other things, invented the vacuum tube • Basically an electronic switch • Critical component of first electronic computers 6 July 24, 2016 Nikola Tesla • Developed electronic logic gates • Composed of small number of vacuum tubes • Could execute logical operators AND, OR, NOT • Key component to modern computer 7 July 24, 2016 Eccles and Jordan • Developed flip-flop switching circuit • Able to “flip flop” between stable states • Always in one of two states • Provides form of electronic storage (memory) 8 July 24, 2016 George Stibitz • Developed combinational circuits • Circuits built of combinations of logic gates • Can be designed to execute logic and arithmetic • E.g., full binary adder circuit 9 July 24, 2016 Claude Shannon • “father of information theory” • Showed that Boolean algebra could be simulated electronically • Fundamental concept of digital computing • Also developed Fundamental Theorem of Information Science • all information can be represented using only two symbols, 0 and 1 10 July 24, 2016 Today’s Schedule • • • • • • • • • Programmable Computer Electronic Computing 1st Generation 2nd Generation High-Level Languages 3rd Generation Mainframes, Supercomputers, Minicomputers 4th Generation Personal Computers 11 July 24, 2016 1st Generation Computers (1940s – mid 1950s) • Electromechanical, programmable computers • Z3 • Mark I – developed by Zuse in Germany – first computer project in USA electromechanical computers were very slow 12 July 24, 2016 1st Generation Computers (1940s – mid 1950s) • Fully electronic computing devices • ABC – “Atanasoff-Berry Computer” (1942) • • • • First binary computer First to use vacuum tubes for calculations and memory storage Not general purpose, could only solve particular math problems Size of a desk 13 July 24, 2016 1st Generation Computers (1940s – mid 1950s) • Fully electronic computing devices • Bombe and Colossus • • • • Used to break German encryption in WWII Fully electronic binary computer Alan Turing involved w/ both Helped win the WWII 14 July 24, 2016 1st Generation Computers (1940s – mid 1950s) • ENIAC • • • • “Electronic Numerical Integrator and Computer” First fully electronic programmable computer Developed to calculate ballistic trajectories Had to be physically reprogrammed • Move wires and change switches • 18,000 vacuum tubes => unreliable 15 July 24, 2016 1st Generation Computers (1940s – mid 1950s) • EDVAC • First store program computer • Program stored in memory • Based on von Neumann model of computer • Still used today 16 July 24, 2016 1st Generation Computers (1940s – mid 1950s) • Whirlwind • First real-time computer (1951) • Developed by Forrester • Revolutionized memory storage • Used magnetically charged, doughnut-shaped ceramic ferrite “cores” • Electronically magnetized in clockwise or counter-clockwise direction • Any bit (or core) of memory could be written / read in same amount of time (Random Access Memory) 17 July 24, 2016 1st Generation Computers (1940s – mid 1950s) • Regarding commercialization: “I think there is a market for maybe five computer in the world” - Watson, president of IBM 18 July 24, 2016 Today’s Schedule • • • • • • • • • Programmable Computer Electronic Computing 1st Generation 2nd Generation High-Level Languages 3rd Generation Mainframes, Supercomputers, Minicomputers 4th Generation Personal Computers 19 July 24, 2016 2nd Generation Computers (mid 1950s – mid 1960s) • Transistor developed by Shockley, Bardeen, and Brattain • Solid-state semiconductor device • Replaced vacuum tubes • Much more reliable, smaller • Developed at Bell Labs 20 July 24, 2016 2nd Generation Computers (mid 1950s – mid 1960s) • solid-state – composed of solid material • Unlike vacuum tube (filled with air) • semiconductor – electrical conductivity lies between insulators and conductors • Degree of conductivity can be electronically altered 21 July 24, 2016 2nd Generation Computers (mid 1950s – mid 1960s) • First transistor based computer built at Univ. of Manchester • Contained 0 vacuum tubes 22 July 24, 2016 Today’s Schedule • • • • • • • • • Programmable Computer Electronic Computing 1st Generation 2nd Generation High-Level Languages 3rd Generation Mainframes, Supercomputers, Minicomputers 4th Generation Personal Computers 23 July 24, 2016 High-Level Programming Languages • Computers used to be extremely tedious to program • Programmer had to write machine code (e.g., 1001 = add) • Early 1950s, assembly language introduced • Based on mnemonics (e.g., “add” instead of 1001) • Still very tedious • Each instruction performs simple task • E.g., A = B + C requires several assembly language instructions 24 July 24, 2016 High-Level Programming Languages • Grace Hopper conceived new type of programming language • Help “automate” task of programming • Came up with idea of high-level language and compiler • Programmers could write instructions more naturally • High-level language translated into machine code • E.g., “A = B + C” as single instruction 25 July 24, 2016 High-Level Programming Languages • IBM created FORTRAN in 1957 • “FORmula TRANslation” • Other high-level languages developed around same time: • • • • COBOL ALGOL LISP BASIC 26 July 24, 2016 High-Level Programming Languages • First programming “bug” was literally a bug • A moth found inside the Mark II computer 27 July 24, 2016 Today’s Schedule • • • • • • • • • Programmable Computer Electronic Computing 1st Generation 2nd Generation High-Level Languages 3rd Generation Mainframes, Supercomputers, Minicomputers 4th Generation Personal Computers 28 July 24, 2016 3rd Generation Computers (mid 1960s - early 1970s) • Development of integrated circuit (IC) • Addressed problem of wiring all transistors together • IC • Replace method of wiring together components to printing “wiring” on a thin wafer of semiconductor material • => transistors and circuits were “integrated” together • Made circuits smaller and cheaper 29 July 24, 2016 3rd Generation Computers (mid 1960s - early 1970s) • Space race sparked progress and innovation • ICs needed for space travel • Smaller, lighter, more reliable • MIT engineers developed Apollo Guidance Computer on the Saturn V rocket • Weighed 70 lbs • Only 2’ x 1’ x 6” • Contained 4000 ICs 30 July 24, 2016 3rd Generation Computers (mid 1960s - early 1970s) • Each IC was special purpose • Needed to be used together in “chip set” • Different chip set needed for each particular computing device • Intel engineer Ted Hoff designed microprocessor • • • • General purpose chip Can be programmed to perform any task Put all necessary circuits on single IC First was Intel 4004 (1971) 31 July 24, 2016 Today’s Schedule • • • • • • • • • Programmable Computer Electronic Computing 1st Generation 2nd Generation High-Level Languages 3rd Generation Mainframes, Supercomputers, Minicomputers 4th Generation Personal Computers 32 July 24, 2016 Mainframe Computers • Large • Multiple cabinets • Store CPUs, memory, tape drives, etc. • Took up an entire room 33 July 24, 2016 Supercomputers • Seymour Cray is “father of supercomputing” • Today’s PCs would be considered supercomputers in not so distant past 34 July 24, 2016 Minicomputers • Stepping stone to personal computer • E.g., Digital Equipment Corp (DEC) • PDP-8 • PDP-11 • VAX-11 35 July 24, 2016 Today’s Schedule • • • • • • • • • Programmable Computer Electronic Computing 1st Generation 2nd Generation High-Level Languages 3rd Generation Mainframes, Supercomputers, Minicomputers 4th Generation Personal Computers 36 July 24, 2016 4th Generation Computers (early 1970s – Present) • Microprocessor allowed hobbyists to build their own computer • Before microprocessors, CPUs were too technically sophisticated • Intel 8080 allowed people to build a PC around it • 2 MHz speed • 6,000 transistors 37 July 24, 2016 4th Generation Computers (early 1970s – Present) • Altair 8800 • First commercially available microcomputer kit • Box of levers and lights • Very crude 38 July 24, 2016 Today’s Schedule • • • • • • • • • Programmable Computer Electronic Computing 1st Generation 2nd Generation High-Level Languages 3rd Generation Mainframes, Supercomputers, Minicomputers 4th Generation Personal Computers 39 July 24, 2016 Personal Computers (Microsoft) • Gates and Allen created BASIC for new Altair system • Mid 1980s, Microsoft produced MS-DOS • Operating system for PCs • 100% text-based • Graphical user interface (GUI) did not come until 1990s 40 July 24, 2016 Personal Computers (Apple) • Steve Jobs and Wozniak created Apple II • Color graphics came standard • Plugged into television 41 July 24, 2016 Personal Computers (IBM) • IBM introduced IBM-PC in 1980s • Sold over 65,000,000 PCs by mid 1980s! 42 July 24, 2016 Personal Computers (Apple) • Apple Macintosh • First successful computer with GUI interface and mouse • Very famous television commercial during 1984 super bowl 43 July 24, 2016 Questions? • Computers are everywhere!! • Great time to learn computer science! > 44 July 24, 2016