Overview


Computer Science as a Discipline

Join the Association of Computing Machinery (ACM) !


Hardware Components

  • External Components:
    • System Unit
      • Motherboard, Disks, Network Connection, Power Supply
    • Monitor
    • Keyboard
    • Mouse
  • Motherboard
    • CPU (ALU, control units, registers, See Fritz Ruehr's simulator), memory (cache, RAM, ROM), bus(es), graphics cards, ....
  • Disks
    • Floppy Disk, Hard Disk, CD ROM, DVD, Zip Disks, etc


Memory Hierarchy


History of Hardware

  • 1642 Mechanical Adder
    • Blaise Pascal, Used gears, could add and subtract
  • 1670's - Mechanical Calculator
    • Gottfried Wilhelm Leibniz, Could add, subtract, multiply and divide
  • 1801 - Jaquard's Loom
    • Joseph-Marie Jacquard metal punched cards, First "stored program" program device
  • 1822 - Difference Engine
    • Charles Babbage. Designed to compute polynomials. Used a stored program. Abandoned in 1833.

      Charles Babage's (1791-1871) Difference Engine

  • 183? Analytic Engine
    • Charles Babbage. General purpose algebraic calculator. Used punched card program. Had a "store" to hold Intermediate results and data. Supported by Ada Augusta, the Countace of Lovelace.

      Augusta Ada Byron, the Countess of Lovelace, the first computer programmer

  • 1890 - Census Tabulator
    • Herman Hollerith invented modern punched card for use in machine to help tabulate census. Formed tabulating company that became IBM in 1924.
  • 1942 - First Electronic computer
    • John Atanasoft at Iowa State University
  • 1944 Mark I
    • Howard Aiken (supported by IBM). Electromechanical computer. First realization of Babbage's Analytic Engine.
  • 1946 ENIAC (Electronic Numerical Integrator and Computer)
    • J.P. Eckert and J.W. Mauchly at U. of Penn. Used18000 vacuum tubes. Programmed by rewiring circuits. 1000 x faster than Mark I


ENIAC, a general purpose computer, designed and built by Eckert and Mauchly and
completed in 1946.

  • 1951 - UNIVAC (Universal Automatic Computer) Eckert & Mauchly First commercially available general purpose computer

See IEEE pages for more historical information


Computer Generations

  • First - used vacuum tubes - UNIVAC
  • second - used transistors - IBM 7090
  • third - used integrated circuits - silicon
  • fourth - used VLSI
  • next generation - biological? neural based ?? quantum??


History of the Programming Languages

  • 1940's - Rewire Circuits
  • Early 1950's - Machine Language: zeros and ones
  • 1950's - Assembly Language
    • Symbolic Version of Machine Language, Not Portable. Translated by Assembler
  • Late 1950's - FORTRAN,
    • Backus at IBM
    • FORMula TRANSlator
    • First High-Level Programming Language
    • First Compiler
  • 1960's - Simula
    • Elements of Object-Oriented Languages
  • 1970's
    • Pascal, N. Wirth, Teaching Language
    • C
      • Language for Systems Programming.
      • Small and Fairly Portable.
      • Used to Implement Unix on PDP-11.
      • Thompson and Ritchie at Bell Labs.
  • Small Talk
    • Fully Object-Oriented
    • Interpreted and Slow
    • Xerox Park
  • 1980's, C++
    • Stroustrup at Bell Labs
    • Evolved from C
    • Large, Complex but Fairly Portable
  • Java Programming Language
    • Sun Microsystems 1995
    • Evolved from C++ and SmallTalk
    • Object-Oriented
    • Completely Portable


Java Capabilities

  • Simple, Small, Powerful, General Purpose
  • Rich Set of Libraries
  • Safe
  • Object-Oriented
  • Multi-Threaded
  • Applets and applications
  • Network Enabled
  • Built-In Windowing System
  • Truly Portable, Architecture Neutral


next lecture