Computer Programming Prelims Notes

History of Computers

  • Types of Devices for Data Manipulation:

    1. Manual Mechanical Device
    • Simple mechanism powered by hand.
    1. Electro-mechanical Device
    • Powered by electric motor.
    1. Electronic Devices
    • Made of electrical and electronic components.
  • Early Computing Devices:

    • Abacus
    • The first computing device originating in China around the 12th Century, with earlier indicators of its invention by the Babylonians around 300 BC.
    • Used as one of the most primitive calculators.
    • Pascal’s Calculator
    • Developed by Blaise Pascal in 1642.
    • It was the first manual-mechanical calculating machine that could add and subtract up to 8-digit numbers.
    • Operated by pulling a lever to calculate.
    • Leibniz Calculator
    • Developed by Gottfried Leibniz in 1694.
    • Able to perform addition, subtraction, multiplication, and division, using a crank rather than a lever.
    • Utilized gears inside the machine.
    • Babbage Analytical Engine
    • Known as the Father of Modern Computer.
    • Developed in 1822 and was the first electro-mechanical computer, powered by a motor.
    • Could perform complex mathematical calculations and logical comparisons (e.g., is 1 equal to 1).
    • Supported operations such as Multiplication, Division, Addition, and Subtraction (MDAS).

Key Figures in Computing History

  • Lady Ada Byron (Ada Lovelace)

    • Daughter of poet Lord Byron.
    • Instrumental in Babbage's machine design: revised plans, secured funding, communicated specifics of the Analytical Engine.
    • Recognized for her deep understanding of the machine, she created the first instruction routines to be fed into the computer, making her the first female computer programmer.
    • In the 1980s, U.S. Defense Department honored her by naming a programming language "ADA".
  • Hollerith’s Punched Card Machine

    • Adopted by the U.S. Census Bureau to compile results of the 1890 census, reducing a nearly 10-year process to just 2.5 years, saving $5 million.
    • Limited to performing one task.
    • Inventor Herman Hollerith was a Census Bureau statistician; he formed the Tabulating Machine Company in 1896, which evolved into IBM.
  • Mark 1 (Automatic Sequence Controlled Calculator)

    • Officially named Automatic Sequence Controlled Calculator.
    • Developed by Howard Aiken in 1937.
    • The first automatic general-purpose digital computer.

The Evolution of Computer Technology

  • Generations of Computers:
    • The evolution of digital computing categorized into generations with each showing dramatic improvements over its predecessor technology and programming languages.

First Generation Computer (1946-1956)

  • Utilized vacuum tubes.

  • Characterized by operating instructions being made-to-order for specific tasks.

  • Could perform 5,000 calculations per second.

  • Each computer had a different binary-coded machine language, hampering programming and versatility.

    • Key First Generation Computers:
  • ENIAC - Electronic Numerical Integrator and Calculator (1943)

    • Developed by John Mauchly & Presper Eckert.
    • First operational general-purpose electronic digital computer.
  • EDVAC - Electronic Discrete Variable Automatic Computer (1944)

    • Modified version of ENIAC developed by John von Neumann; utilized binary arithmetic for simplified circuitry and stored program capability.
  • UNIVAC - Universal Automatic Computer (1951)

    • Developed by John Mauchly and Presper Eckert; first commercially available stored-program, electronic digital computer.

Second Generation Computer (1957-1963)

  • Characterized by the use of transistors, which are smaller than vacuum tubes and do not require warm-up time.

  • Transistors consume less power and are faster and more reliable than vacuum tubes.

    • Key Programming Language:
  • FORTRAN (1957)

    • The first high-level programming language introduced by IBM.

Third Generation Computer (1964-1970)

  • Characterized by the use of Integrated Circuits (ICs).

  • Introduced multiprogramming and time-sharing into computing.

    • Key Programming Language:
  • BASIC (Beginner's All-Purpose Symbolic Instruction Code)

    • Introduced in 1964.
  • CDC 6600

    • Developed by Control Data Corporation; recognized as the first supercomputer.

Fourth Generation Computer (1971-present)

  • Introduction of the INTEL first microprocessor chip in 1971.
    • Developed by Ted Hoff.
  • 1975: Establishment of Microsoft Corp. by Bill Gates and Paul Allen.
  • 1981: Introduction of the first IBM PC.

Fifth Generation

  • Involves new computer types that include Artificial Intelligence (AI) concepts such as