The History of Computing

A. Early developments and developers (through 19th century)

   1. Blaise Pascal (approx. 1650)
        built a machine with 8 gears called the Pascaline to assist French 
        government in compiling tax reports

   2. Von Leibniz (1694)  German mathematician developed a mechanical 
        device to +-/x

   3. Jacquard 
        developed a loom that used punched cards (the equivalent of stored 
        programs) emphasized that
      a. information coded on cards (forerunner of storage devices)
      b. cards could be linked in a series (forerunner of programs)
      c. Such programs can automate human tasks

   4. Charles Babbage
        British scientist and inventor, known as the Father of Computers

      a. Difference Engine - compute and print tables, but never got out 
         of 'working prototype' stage because of technological limits
      b. Analytical Engine - steam powered calculating machine using 
         programs on punched cards.  Contained all the elements of modern
         computers including
         'mill' (for calculating)    
         'store' (for holding instructions)
         'operator' (for carrying out instructions)
         reading and writing device
         The analytical engine was never completed in his lifetime.

   5. Herman Hollerith (1890 census)
      a. Invented a tabulating machine using punched cards (same size as 
         ours today). Founded forerunner of IBM

   6. Thomas Watson, Sr.  (head of IBM in 1924)

B. Early electronic computers

   1. Mark I,  Harvard 1944, automatic calculator used paper tapes

   2. John von Neumann
        credited with inventing stored program concept (data and instructions 
        stored in memory in binary form).  1940's

   3. ENIAC (Electronic Numerical Integrator Calculator)  designed by John 
        Mauchly and J. Presper Eckert at U of Pennsylvania in 1946
        1st large-scale computer
        designed to calculate missile trajectories
        finished after WWII ended
        18,000 vacuum tubes
        8' high by 80' long
        '...only 7 would be needed to perform all the calculations the world 
         would ever need.'

        Problem:  all calculations were performed by
        setting switches by hand.

   4. EDVAC (Electronic Discrete Variable Automatic Computer)  - first 
        electronic, stored program computer

C. The First Generation of Computers (1951-1958)

   1. Vacuum tubes for internal operations
   2. Magnetic drums for memory
   3. Limited memory
   4. Heat and maintenance problems
   5. Punched cards for input and output
   6. Slow input, processing and output
   7. Low-level symbolic languages for programming

      UNIVAC I developed by Mauchley and Eckert for Remington Rand (1951), 
      replaced IBM tabulating machines at the Census Bureau

      Machine language: 0's and 1's, the only language a computer can directly
      execute.

      Assembly language:  developed to make programming easier.  Uses 
      abbreviations instead of binary code.  ie.  LD  for load.  
      Still a very hostile programming environment.  
      Not portable from one type of computer to another.

D. The Second Generation of Computers (1959-1964)

   1. Transistors for internal operations
   2. Magnetic cores for memory
   3. Increased memory capacity
   4. Magnetic tapes and disks for storage
   5. Reductions in size and heat generation
   6. Increase in processing speed and reliability
   7. Increased use of high-level languages

      Magnetic tape:  sequential storage medium consisting of narrow strip of 
      partially magnetized tape.

      Magnetic disk:  Direct-access storage medium consisting of a partially 
      magnetized platter

      The first high-level programming languages were developed
       FORTRAN (1954)
       COBOL (1956)
       LISP (1961)
       BASIC (1964)

E. The Third Generation of Computers (1965-1970)

   1. Integrated circuits on silicon chips for internal operations
   2. Increased memory capacity
   3. common use of minicomputers
   4. emergence of the software industry
   5. reduction in size and cost
   6. increase in speed and reliability
   7. introduction of families of computers
   

      LSI (Large Scale Integration) - method by which circuits containing 
      thousands of components are packed on a single chip  (rightly belongs to
      3rd generation - unlike Table 1-3 says)

      Compatibility problems (languages, I/O devices, etc. were informally 
      standardized)

      Minicomputers popular in offices.

F. The Fourth Generation of Computers (1971-Today)

   1. VLSI (100,000s of components/chip)
   2. Development of the microprocessor
   3. microcomputers and supercomputers
   4. greater versatility in software
   5. increase in speed, power and storage capacity
   6. parallel processing
   7. artificial intelligence and expert systems
   8. robotics
   
      Microprocessor:  programmable unit on a single silicon chip, containing 
      all essential CPU components  (ALU, controller)

      Microcomputer:  small, low-priced, personal computer.

      Supercomputer:  perform millions of operations per second and process 
      enormous amounts of data
      Cray II costs $20,000,000 or more

G. Future generations

   Superconductivity, bio-chips