CSCE 181 Lecture 3
« 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