CSCE 181 Lecture 3

From Notes
Jump to navigation Jump to search

« previous | Thursday, February 10, 2011 | next »


Introduction to Computing

Using machines to solve practical problems and make our lives easier

Early Mathematics and Computation

3000+ years ago:

  • Babylonians and Egyptians:
    • Numerical methods for generating tables of square roots, multiplication, trigonometry, etc.
    • More practical applications
  • Greeks:
    • Geometry and Logic

about 600 AD

  • Indians
    • Decimal numbering system

about 800 AD

  • Arabs and Persians
    • "Algorithms" (conceptual ideas about how to solve problems, not today's meaning)
    • Arabic Numerals

Abu Jafar Mohammed Ibn Musa Al-Khwarizmi

Famous arab mathematician

Lived in early 800's

Studied and gave us the word "Algebra"

  • How to compute practical linear and quadratic problems

Early Computing Devices

Are all of these devices computers? (not considered "general-purpose" computers)

these cannot be programmed and they don't have internal memory

Abacus (3000 BC)

  • beads on wires representing number places
  • some still in use today

John Napier's Bones (1617)

  • Sticks with numbers on them
  • help with 4 basic arithmetic operations (even log)

William Oughtred's Slide Rule (1622)

  • much more complex calculations
  • Sticks on a logarithmic scale
  • used well into 20th century (replaced by calculators)

Blaise Pascal (1642)

  • First mechanical add/subtract machine

Gottfried Leibniz (1673)

  • 4-function mechanical calculator (+, −, ×, ÷)


Modern Devices

Inclusion of memory and programmability, but still missing something:

  • Dynamic reprogrammability (all of these machines have to be rewired to solve problem)

Jacquard's Loom

Developed by Joseph Marie Jacquard (France, 1800s)

First programmable device with memory:

  • used punched cards to store pattern information.

Difference Engine

Developed by Charles Babbage (England, 1822-1830)

Computes tables of logarithms

Never finished it: cog-/gear-manufacturing was not as precise

Later built by others: 7'x11', 3 tons, 4000 moving parts

Analytical Engine

Also developed by Charles Babbage (1833)

Also never finished it

First general-purpose computer

input and memory: punch cards

Ada Lovelace - friend of Charles Babbage and first computer programmer

Etc.

No general-purpose computers followed; mostly specific devices:

  • Typewriters
  • Adding machines

US 1890 Census

Motivation for "large-scale" computing

Census taken every 10 years, but tabulations became more difficult to do by hand. By 1890, the tabulation would have taken over 10 years.

Competition to develop automatic enumeration and tabulation of census data

Herman Hollerith

Won competition for 1890 US Census:

  • Data stored on punch cards
  • Cards were sorted and tabulated
  • Census was finished in 2 years

Charles Flint carried on Herman Hollerith's work:

Computing Tabulating, Recording (CTR) Company
Thomas J. Watson renamed CTR to International Business machines (IBM) in 1924


World War 2

New applications and needs:

  • Ballistics tables
  • Troop deployment info
  • Secret codes

Many research projects to develop computers

MARK I (ASCC)

Developed by Howard Aiken

First working general-purpose computer:

  • relays, magnets, and gears
  • vacuum tubes and electric (on/off) instead of 10-toothed gears
  • could store 72 numbers in memory (high accuracy)
  • could perform 23-digit multiplication in 4 seconds

Grace Murray Hopper

  • One of first programmers for MARK I
    • Literally found first bug inside the computer
  • Created first compiler: A-O
  • Developed COBOL programming language (1959)

ENIAC (1940)

Electronic Numerical Integrator and Computer

Calculate firing tables (how to aim gun depending on distance, wind speed, temperature, etc)

First fully electronic general-purpose computer:

  • vacuum-tube based
  • binary values (0,1)
  • 1000x Faster than MARK I
  • had to be rewired to change program
  • 100'x10'

Others

  • Z1: Germany
  • ABC: Iowa State (solve linear equations)
  • Colossus: England (Alan Turing); Cracked Enigma code


(John) Von Neumann Architecture

Mathematician, physicist, chemist, computer scientist, ... at Princeton

Big Idea!:

Encode instructions as binary values
store these instructions in memory along with data

No need for rewiring to change instructions


Today's Computers (1950-Present)

Focus on Evolutionary improvement over revolutionary advancement

  • Faster
  • Smaller
  • Cheaper
  • More reliable
  • Easier

1st Generation

Still used:

  • punch cards
  • vacuum tubes

2nd Generation

  • Development of Transistors
  • Disks used for storage
  • higher level programming languages (FORTRAN, COBOL)
  • Operating systems

3rd Generation

4th Generation

  • Very large scale integrated circuits
  • First Micro-computer (desktop machines)
  • Networks
  • GUI

5th Generation

  • Ultra-large scale integrated circuits (ULSI: millions of transistors on one chip)
  • Laptops and cell devices
  • Supercomputers
  • Parallel computing
  • Wireless
  • Cloud-based Terabyte storage drives
  • Artificial Intelligence
  • Multimedia

Computer Science emerged as a field:

  • Broad computational studies to solve life's problems