of 44 /44
CSCE 181 1 CSCE 181 A Brief History of Computer Science Jinxiang Chai

CSCE 1811 CSCE 181 A Brief History of Computer Science Jinxiang Chai

Embed Size (px)

Text of CSCE 1811 CSCE 181 A Brief History of Computer Science Jinxiang Chai

  • CSCE 181*CSCE 181A Brief History of Computer Science

    Jinxiang Chai

  • CPSC 181*SourcesSchneider and Gersting, An Invitation to Computer Scienceprimary sourceSlides from Prof. Taylor, Welch, and KeyserAmerican Universitys Computing History Museumhttp://www.computinghistorymuseum.org/Virginia Techs History of Computing website:http://ei.cs.vt.edu/~historyComputer History Museumhttp://www.computerhistory.org/IEEE Annals of the History of Computing (Journal)http://www.computer.org/portal/site/annals/index.jsp

  • CPSC 181*Early Mathematics & ComputationBabylonians and Egyptians, > 3000 yrs agonumerical methods for generating tables of square roots, multiplication, trigApplications: navigation, agriculture, taxation

  • CPSC 181*Early Mathematics & ComputationBabylonians and Egyptians, > 3000 yrs agonumerical methods for generating tables of square roots, multiplication, trigApplications: navigation, agriculture, taxationGreeks, > 3000 yrs agogeometry and logic

    History

  • CPSC 181*Early Mathematics & ComputationBabylonians and Egyptians, > 3000 yrs agonumerical methods for generating tables of square roots, multiplication, trigApplications: navigation, agriculture, taxationGreeks, > 3000 yrs agogeometry and logicIndians, ~ 600 ADstarted using placeholders and a decimal number system and concept of zero, similar to modernidea spread to Middle East

    History

  • CPSC 181*Early Mathematics & ComputationBabylonians and Egyptians, > 3000 yrs agonumerical methods for generating tables of square roots, multiplication, trigApplications: navigation, agriculture, taxationGreeks, > 3000 yrs agogeometry and logicIndians, ~ 600 ADstarted using placeholders and a decimal number system and concept of zero, similar to modernidea spread to Middle EastArabs and Persians ~ 800 ADalgorithms

    History

  • CPSC 181*A Famous Arab MathematicianIn early 800s ADWorked at center of learning in BaghdadWrote book: Hisab Al Jabr Wal-MugabalahDescribed how to compute several practical problems, including linear and quadratic equationsTranslated into Latin, spread throughout EuropeSolidified number system in use now: Arabic numeralsAl Jabr gives us the word algebraAl-Khowarizmi gives us the word algorithmAbu Jafar Mohammed Ibn Musa Al-Khwarizmifig. from Donald Knuth's website

  • CPSC 181*Early Computing DevicesAbacusAbout 3000 BCDifferent types, developed over timeCommon wire/bead: about 500 BCSome still in use todayfig from http://www.ee.ryerson.ca/~elf/abacus

  • CPSC 181*Early Computing DevicesAbacusAbout 3000 BCDifferent types, developed over timeCommon wire/bead: about 500 BCSome still in use todayJohn Napiers Bones1617: Sticks with numbers on themUse to do 4 basic arithmetic operationsfig from http://www.ee.ryerson.ca/~elf/abacus

    History

  • CPSC 181*Early Computing DevicesAbacusAbout 3000 BCDifferent types, developed over timeCommon wire/bead: about 500 BCSome still in use todayJohn Napiers Bones1617: Sticks with numbers on themUse to do 4 basic arithmetic operationsWilliam Oughtreds Slide Rule1622: Sticks with logarithmic scale, slide alongMuch more complex calculationsUsed well into 20th century (replaced by handheld calculator)fig from http://www.ee.ryerson.ca/~elf/abacus

    History

  • CPSC 181*More Early Computing DevicesBlaise Pascal1642: First numerical calculating machine (addition and subtraction)Gottfried Leibniz1673: 4-function mechanical calculator (addition, subtractions, multiplication, division)

    Used cogs and gearsShowed mechanization can simplify and speed up numerical calculations

    fig from http://www.tcf.ua.edu/AZ/ITHistoryOutline.htm

  • CPSC 181*Are These Devices Computers?

  • CPSC 181*Are These Devices Computers?Not considered general-purpose computers.They lackmemoryability to be programmed

    History

  • CPSC 181*First Programmable Device with MemoryA loom! Used to weave cloth with patternsInvented by Joseph Jacquard, France, 1804 Automated loom using punched cards to create patternhole in card at a certain place causes change in the weave at corresponding place in the fabric

  • CPSC 181*Jacquard LoomMemory: ?Programmable: ?fig from Wikipedia, Jacquard loomentry

  • CPSC 181*Jacquard LoomMemory: the cardsProgrammable: change the cardsCapture human expertise in a machineTarget of Luddite movementriots against Industrial Revolutionthreatened craft guildsfig from Wikipedia, Jacquard loomentryfig from britannica.com

    History

  • CPSC 181*Charles Babbage & Difference EngineEngland, 1822-1830: Designed and worked on a Difference Engine for calculationsautomatic,mechanical calculatordesigned to tabulatepolynomial functions Never finished it: current manufacturing technology not able to provide required precision in cogs and gears

    figs from cbi.umn.edu/about/babbage.html

  • CPSC 181*Charles Babbage & Difference EngineEngland, 1822-1830: Designed and worked on a Difference Engine for calculationsautomatic,mechanical calculatordesigned to tabulatepolynomial functions Never finished it: current manufacturing technology not able to provide required precision in cogs and gears Others later built one: 7 feet by 11 feet, 3 tons, 4000 moving parts; The LondonScience Museum's difference engine, built from Babbage's design. fig from Wikipedia

    History

  • CPSC 181*Charles Babbage & Analytical Engine1833: Designed the Analytical Engine, a mechanical general-purposecomputer Could not get funding, since never finished first machine, but fully designedto be steam-poweredThis was the first general purpose computer!

  • CPSC 181*Charles Babbage & Analytical Engine1833: Designed the Analytical Engine, a mechanical general-purposecomputer Could not get funding, since never finished first machine, but fully designedto be steam-poweredThis was the first general purpose computer!Separate storage from calculationFamiliar parts:mill ALUstore memoryoperator control unitoutput input/output

    fig from www.sciencemuseum.org.uk

    History

  • CPSC 181*Charles Babbage & Analytical Engine1833: Designed the Analytical Engine, a mechanical general-purposecomputer Could not get funding, since never finished first machine, but fully designedto be steam-poweredThis was the first general purpose computer!Separate storage from calculationFamiliar parts:mill ALUstore memoryoperator control unitoutput input/outputUsed punched cardsfig from wikipediaInputting instructionsInputting data

    History

  • CPSC 181*Ada LovelaceAugusta Ada Byron, Countess of LovelaceFriend of Charles Babbage

    Translated, edited, and commented on document describing Babbages Analytical Engine

    Described its potential as a general purpose computer Wrote programs that could be run on it. As a result, she is often considered the worlds first computer programmer.Wrote about potential uses, even for computer music

    fig from women.cs.cmu.edu/ada

    History

  • CPSC 181*Following BabbageGeneral purpose computing waitedInstead, several different specific devicesMost computational devices still mechanicalTypewriters (1868)Adding machines (1875) and calculatorsCash registers (1879)

  • CPSC 181*U.S. CensusTaken every 10 yearsBy late 1800s, was becoming more difficult1880 census not tabulated until 1888Serious doubt that 1890 census could be finished before time for following censusCompetition held to develop automatic enumeration and tabulation of census dataA fundamental need for large-scale computing

  • CPSC 181*Herman HollerithHerman Hollerith developed tabulating machineDeveloped machines for encoding information on punched cardsCards could be sorted and tabulated1890 census completed in 2 years with Holleriths machinesAlso saved millions of dollars

    fig from www.columbia.edu/acis/history/census-tabulator.html

  • CPSC 181*Further DevelopmentWork continued on machines to add, tabulate, record.Charles Flint: Computing, Tabulating, Recording (CTR) company, followed up on Holleriths work.Thomas J. Watson renames CTR to International Business Machines (IBM) in 1924.Individual machines were created for each stage of a processFor example, separate machines to count, sort.Most machines encoded information on punched cards.fig from www-03.ibm.com/ibm/history/

  • CPSC 181*EncodingInformationPunched cards were used to store informationJacquards LoomBabbages machinesHolleriths tabulating machinesIBM machinesPunched cards and punched tape seen as a way of achieving compatibility, transfer of data.fig from www.columbia.edu/acis/history/census-tabulator.html

  • CPSC 181*Computer Programming in the Punch Card Era Computer users submit their programming assignments to their local computer center in the form of a deck of punched cards, one card per program line.

    Wait for the program to be read in, queued for processing, compiled, and executed.

    In due course, a printout of any results, marked with the submitter's identification, would be placed in an output tray, typically in the computer center lobby.

    History

  • CPSC 181*Impact of World War IIApplications of the 1940's:ballistics tablestroop deployment datasecret codes

    Several research projects, funded by military, focused on developing computers

    fig from www.diggerhistory.info

  • CPSC 181*Howard Aiken & MARK I (ASCC)Funded by Navy and IBM, at Harvard Started in 1931 and Completed in 1944One of the first working general-purpose programmable computerused relays, magnets and gearsused vacuum tubes and electric current (on/off) instead of 10-toothed gearsmemory: 72 numbersspeed: 23-digit multiplication in 4 secondsfig from www-03.ibm.com/ibm/history/

  • CPSC 181*Grace Murray HopperJoined Naval Reserve in 1943As Lieutenant, became one of the first programmers of the Mark IEventually reached rank of AdmiralNoted difficulty of programming in machine languageWanted way of specifying programming more naturallyCreated the first compiler, A-OSubsequently created other compilers, became strong proponent of compilers/programming languagesDeveloped programming languages, notably COBOL (1959)fig from computerhistory.orgfig from cs.vassar.edu/history/hopper

  • CPSC 181*ENIAC"Electronic Numerical Integrator and Computer"1940'sMotivating application: calculate firing tables (how to aim gun depending on distance, wind speed, temp, etc.)Funded by Army at Univ. of Penn.John Mauchly & Presper Eckert lead designersFirst fully electronic general-purpose computerused binary values (0/1) instead of decimal (0 to 9)Vacuum-tube basedRequired rewiring to change program originally100 feet long, 10 feet high, 30 tons1000 times faster than Mark Ifigs from www.library.upenn.edu/exhibits/rbm/mauchly/jwm8b

  • CPSC 181*Other Contemporary ProjectsZ1: Germany, Konrad Zusedestroyed during WWII before completedABC: Iowa State, John Atanasoff & Clifford Berrysolve systems of linear equationsColossus: England, Alan Turingcracked German Enigma codeshrouded in secrecy until 1970's

  • CPSC 181*Aspect Still MissingAll these projects still missing a key feature of modern computers

  • CPSC 181*Aspect Still MissingAll these projects still missing a key feature of modern computersProgramming these machines was done externally withwiresconnectorsplugboardsMemory stored only data, not instructionsTo change the program, need to rewireEx: 6000 switches on ENIAC

    History

  • CPSC 181*Von Neumann ArchitectureJohn Von Neumann, mathematician, physicist, chemist, computer scientist, at Princetonworked on ENIACrealized shortcomingKey idea: encode instructions as binary values and store in memory along with dataTo change program, rewrite sequence of instructionsfig from mathdl.maa.orgfig from cs.cmu.edu/ref/pgss/lecture/11

  • CPSC 181*Storing ProgramsEDVAC Electronic Discrete Variable Automated CalculatorJohn von Neumann describedUPenn, 1950Designed before ENIAC operationalBecame commercial UNIVAC I, bought by Census Bureau in 1951EDSAC Electronic Delay Storage Automated CalculatorMaurice Wilkes, CambridgeBased on EDVAC ideas, but completed first (1949)

  • CPSC 181*The Modern Era, 1950 - PresentChanges more evolutionary than revolutionaryFocused on making computersfastersmallercheapermore reliableeasier to useConventionally divided into rough "generations"

  • CPSC 181*First Generation, 1950-1959First commercial computersFirst symbolic programming languagesbinary arithmeticvacuum tubes for storagepunched card I/O

  • CPSC 181*Second Generation, 1959-1965transistors and core memoriesreduced size and cost, increased reliabilityfirst disks for mass storagefirst high-level programming languages and programmersFORTRAN, COBOLfirst operating systems

  • CPSC 181*Third Generation, 1965-1975Integrated circuitscomponents are photographically etched onto pieces of siliconfurther reduction in size and costfirst mini-computersdesk-sized instead of room-sizedtime-shared operating systemsappearance of software industryintroduction of computing standards for compatibility

  • CPSC 181*Fourth Generation, 1975-1985Very large scale integrated circuits (VLSI)complete system on one circuit boardfurther reduction in size and cost, increased reliabilityfirst micro-computer from IBMdesk-top machine, instead of desk-sizedfurther growth of software industrycomputer networksgraphical user interfaces

  • CPSC 181*Fifth Generation, 1985 - ?Ultra-large scale integrated circuits (ULSI)more than 1,000,000 elements on one chipsuper computers and parallel processorslaptops and hand-held computerswireless computingon-line terabyte storage devicesglobal networks and distributed systemsartificial intelligencehi-res graphics, visualization, virtual realitymultimedia user interfaces

  • CPSC 181*The Future?Speed of light limitation suggests that it won't be possible to continue the exponential increases in speed with a single processorvon Neumann bottleneck of sequentialitySolution is concurrency, doing more than one thing at a timeparallel computing, distributed computinglatest buzzword is "multicore"challenge is how to design algorithms to exploit the multiple cores

    ********************************************