The History of Computing - Professor Benson

Download Report

Transcript The History of Computing - Professor Benson

Introduction to Computing
Chapter 1
History of Computing
History of Computing
William Johnson
[email protected]
Julia Benson-Slaughter
[email protected]
Chapter 1
History of Computing

Before computers were developed

First generation computing

Second generation computing

Third generation computing

Fourth generation computing

The current (fifth) generation and beyond.
Before the Industrial
Revolution
The Renaissance was a time of great
philosophical and scientific progress,
including critical milestones in
mathematics that would lead toward the
invention of the computer.
Critical Mathematical
Concepts

Boolean Algebra

Published by George Boole in 1854

Clarifies the mathematical field of Boolean
algebra

Forms the numerical basis for computer
hardware

George Boole's contribution
Early Calculating Devices



Before approximately 1820
Basic calculating devices to support simple
mathematics

Arithmetic

Algebra
Devices were

Mechanical in nature

No data storage
Early Calculating Devices

Abacus

Invented about 3000 BC

Originated in either China or the Indus
River Valley area

Discussion of the abacus

Demonstration of an abacus (video)
Early Calculating Devices

Napier's Bones

Device using lattice multiplication for
calculating products and quotients

Mechanical, but not mechanized

Napier's Bones: How They Work (video)
Early Calculating Devices

Slide Rule

Invented by William Oughtred in 1622

Following up on Napier's work with both
logarithms & Napier's Bones

Performs a variety of mathematical
calculations

How to Use a Slide Rule (video)
Early Calculating Devices

The Rechenuhr (Calculating Clock)

First mechanical calculating device

Built by Wilhelm Schickard in 1623

Functioned accurately but had several
mechanical flaws and was never placed
into full production
Early Calculating Devices

Pascaline

Developed in 1643 by French
mathematician Blaise Pascal

Mechanical device that could add and
subtract (in other words, a basic calculator)

Pascal and his Calculator

How the Pascaline Works (video)
Early Calculating Devices

Von Leibnitz “Stepped Reckoner”

Built in 1673 by German mathematician Gottfried
Wilhelm von Leibnitz

Inventor of differential & integral calculus

Calculating device improving on the Pascaline

Could multiply as well as add and subtract (but
still couldn't divide).
The Industrial Revolution
The 1700s and early 1800s were a time of
great political and social unrest (examples:
the American and French Revolutions). As
a result, mathematics and science took a
back seat to other endeavors until the
political and social climate settled down and
the Industrial Revolution began early in the
19th century.
19th Century Computing Devices

Products of the Industrial Revolution

Mechanical devices

Limited data storage




Small quantities
Clumsy methods
Design often outpaced available technology
19th century contributions to computing
Jacquard's “Loom”





Invented by Joseph Jacquard between 18011804
Built upon the work of Basile Bouchon, Jean
Falcon and Jacques de Vaucanson to create
an automatic weaving loom.
Wove intricately patterned cloth based on
instructions contained on punched cards.
The first programmable stored instruction
machine actually built.
Jacquard Loom: Early Computer Programing
(video)
Charles Babbage





Charles Babbage can be considered the
single most important individual in the pre20th century development of the computer.
Lucasian Professor of Mathematics at
Cambridge University
Co-founder of the Royal Astronomical
Society
Cryptographer who broke Vignere's autokey
cypher (thought to be unbreakable)
Inventor of the locomotive cow-catcher
Difference Engine





Version 1: 1820-1830
Solved polynomial equations of the form
ax2+bx+c to an accuracy of six places
Gear-driven machine
All calculating was done with repeated
addition
Difference Engine Simulator
Difference Engine


Prototype consisting of 1/7 of the final
machine was built in 1832
Remainder was never completed
Image from the Science Museum via computerhistory.org
Analytical Engine



Designed 1833-1842
Stored program machine to perform any
type of arithmetic calculation
Numerous limitations prevented Babbage
from actually building it

Politics, economics, personalities were as
much a factor as technology
Analytical Engine


Comprised of three main parts

“Mill” for calculations

“Store” for storing data

Input/output device
Design corresponds in many ways to the
basic architecture of the modern
computer
Analytical Engine




Babbage describes the Analytical Engine
in his autobiography
Machine has not been built to this day
Plan28.org Has been established to build
the Analytical Engine by 2020
Watch John Graham-Cunningham's TEDx
talk on “The Greatest Machine that Never
Was”
Difference Engine #2




Designed between 1847 and 1849
Improved upon the original Difference
Engine with a simpler design to achieve
the same computing power
Again, not built during Babbage's lifetime
Was finally built between 1985 and 2002
by the Science Museum of London,
exactly to Babbage's original plans
Difference Engine #2

NPR story about Charles Babbage's
Difference Engine
Ada Lovelace

Augusta Ada Byron King, Countess of
Lovelace and daughter of poet Lord Byron

Contemporary & colleague of Babbage

Regarded as the first computer programmer

1843 translation & expansion of Luigi
Menabrea's paper described the sequence of
operations which the Analytical Engine should
perform to carry out calculations
Hollerith Census Tabulator

Invented in 1890 by Herman Hollerith

Machine for


sorting punched cards based on patterns
formed by the holes

counting or tabulating data from these cards.
Hollerith 1890 Census Tabulator
Hollerith Census Tabulator


Allowed completion of processing the
1890 census in one year (as opposed to
eight years for the 1880 census)
Later used for accounting, sales analysis,
statistical reporting, bookkeeping
Beginnings of IBM



Hollerith formed the Tabulating Machine
Company in 1896.
In 1924 the Tabulating Machine Company
became International Business Machines
Corporation, aka IBM
Premier computing company through the
1980s
Classroom Activity
Primitive Computing Devices
A number of primitive computing devices have been simulated with computer
programs:

Abacus

Napier's Bones

Virtual Slide Rule

Difference Engine
Experiment with each simulator to discover which types of arithmetic
calculations that the device can handle. For each device, write a paragraph
describing the calculations you were able to complete, with examples of each
type. What calculations could all the devices handle? Were there any
calculations that no device could handle, and if so what?
Take a screenshot of each device solving a specific arithmetic problem. Add a
description of the problem and how successful you were at solving it with that
device. Put each screenshot in your document along with the paragraph about
the device.
Which device was the easiest to use? Which was the most difficult?
The 1930s and World War II



Provided the real push for the invention of
the modern-day computer
War, defense, and financial incentives were
powerful motivation
Cryptography and calculation were the
primary purposes for developing calculating
machines.
The Turing Machine


Described in a paper published by Alan
Turing in 1936
Concept that formed a theoretical basis for
the modern-day computer

a hypothetical construct merging




the idea of a machine,
the action of the mind,
logical instruction
Intended to model any computation possible
with no limitations on data
The Turing Machine

A Turing Machine Overview (video)

Lego Turing Machine (video)

Simulated Turing Machine (JavaScript
application)
Atanasoff-Berry Computer


Developed in 1939-40 by Iowa State
University Professor John Atanasoff and
Clifford Berry, one of his graduate students.
Considered the first (partially) electronic
digital computer.

Fully electronic for data storage & calculation
via ~300 vacuum tubes

Mechanical switches for selecting operations

Contained memory, but nothing that we would
consider a CPU
Atanasoff-Berry Computer



Separated data storage from data
processing via different hardware
components
Used binary (base-2) numbers rather than
decimal.
No stored-program capability


Had to be manually controlled to run
programs
Replica of the original ABC (video)
The Z Family of Computers

Developed by German Konrad Zuse


Worked alone with little knowledge of
concurrent developments in Great Britain &
the United States
Z Series evolved between 1935 and 1948
Z1 Computer



Built between 1936 & 1938
Considered first programmable binary
computing machine

Used Boolean logic

Handled binary floating point (real) numbers
Strictly mechanical except for electrical
motor for synchronizing calculations

Panoramic view of reconstructed Z1

Simulation of the Z1 Adder
Z3 Computer


Built by Zuse in 1941 as a top-secret
military project
Implemented many improvements over
Z1

Stored-program, fully programmable machine

Replaced most mechanical parts with
electromechanical relays

Based on a binary floating-point number and
switching system.

Reconstruction of the Z3 (video)

Z3 Simulation (in German)

Z3 Adder Simulation (in German)
Enigma vs. Bombe

Electromechanical encryption/decryption
devices for Morse code radio telegraphy
(data transmission)

Enigma was the German machine

Bombe was the British machine

How Enigma works

Watch the Bombe in action
Lorenz Cipher & Colossus



Lorenz cipher was used by the German
Tunny machine to encrypt military
teleprinter (wired) transmissions using
International Telegraphy Alphabet No. 2
instead of Morse code
Cryptanalysis project ran in parallel with
the Enigma/Bombe project
Colossus was the British machine
developed to decipher this encryption.
The Significance of Colossus

If not for the secrecy surrounding
Colossus, it would be considered the first
large-scale electronic computer.

Eight of the ten machines were destroyed
soon after the war's end.

The remaining two were destroyed a decade
later.

Project information was not declassified until
1975.
MARK I computer




Developed in 1943-1944 in a joint
IBM/Harvard University effort led by Howard
Aiken.
Contained

760,000 electronic parts

500 miles of wiring

3000 electromechanical relays for switches
Weighed five tons & occupied a whole
building on Harvard campus
Considered the world's first programmable
computer until the existence of Colossus
became known.
MARK I computer




Based on the then-current generation of
IBM tabulating machines (successors of
Hollerith's machine)
Because of the switches, the MARK I is
not considered an electronic computer
Could handle addition, subtraction,
multiplication, and division, as well as
logarithmic & trigonometric calculations
Mark I Computer (video)
The First Computer “Bug”


A small moth trapped in one of the
electromechanical switches in the MARK II
Found by a team led by Navy Lieutenant
Grace Murray Hopper, logged on
September 19,1945 at 15:45 hours
ENIAC




Developed by Presper Eckert and John
Mauchly in 1946.
First fully electronic computer

No electromechanical switches

No moving parts
Based on vacuum tube technology to
replace electromechanical relays.
Contained

18,000 vacuum tubes

80,000 resistors/capacitors
ENIAC

Weighed 30 tons & took up over 15000
square feet of space

Used decimal rather than binary numbers

Did not store information

Programming involved completely rewiring
the machine for each job that it was to
perform

ENIAC Simulation

ENIAC: The First Computer (video)
The ENIAC Programmers



Six women became the first ENIAC
programmers in 1945

Kathleen McNulty, Jean Bartik, Frances
“Betty” Holberton, Marlyn Meltzer, Frances
Spence and Ruth Teitelbaum

Only individuals to manually program ENIAC
before it became a stored-program version
Interview with Jean Bartik (video)
The Women of ENIAC from the IEEE
Annals of the History of Computing
EDVAC


Successor to ENIAC
developed by Eckert &
Mauchly between 1944
& 1949
Improved on ENIAC by

Adding stored program
capability using design
created by John von
Neumann in 1944

Using binary numbers
instead of decimal
numbers
Machine Language



Instructions telling the computer what to
do
Written as a sequence of patterns using
the symbols 0 and 1
Each pattern represented a specific
instruction or value
UNIVAC I

Completed in 1951 by Eckert & Mauchly

First commercially available computer



First one was sold to the Census Bureau for
$300,000
Successfully predicted the outcome of the
1952 presidential election using a program
written by Grace Murray Hopper
Remington-Rand Presents the UNIVAC
(video)
Assembly Language


Created by Grace Murray Hopper in 1952
Used mnemonics (abbreviations) to represent
the bit patterns of 0s and 1s that told the
computer what to do. produced the first
programming language translator to translate
assembly language into machine language
(0s and 1s) for programming.
FORTRAN




Introduced in 1956
FORTRAN is short for FORmula
TRANslator
First high level programming language,
using English-like words & statement
structure
Developed by a team of scientists at IBM
led by John Backus for science and
engineering applications
FORTRAN


Designed for “number crunching" and
complex calculations
Current version is Fortran 2008

Tenth generation of the language
The Transistor

Began to replace the vacuum tube in the
late 1950s (solid-state devices). Provided
increased reliability and speed as well as
decreased size of computers.
1960

Introduction of COBOL (COmmon Business
Oriented Language), first business oriented
high level language. Introduction of LISP
(LISt Processing language) for artificial
intelligence applications.
1962

Development of SABRE, the first airline
passenger reservation system, in a joint
IBM/American Airlines effort.
Critical Mathematical
Concepts

Logarithms

First described by John Napier in 1614 in
Mirifici Logarithmorum Canonis Descriptio
(Description of the Marvelous Canon of
Logarithms)

http://historycomputer.com/CalculatingTools/logarythms.h
tml
1964

BASIC (Basic All-purpose Symbolic
Instruction Code) introduced as an easy-tolearn programming language. PL/I
(Programming Language/I) introduced as a
synthesis of the best of FORTRAN and
COBOL (and is a huge and extremely
complex language as a result).
1965

Introduction of the integrated circuit (IC) —
transistors on a chip to replace an entire
circuit board of separate transistors wired
together to perform some function. Again,
increased reliability and speed of
computers while decreasing size.
1969

Development of the UNIX operating system
at Bell Laboratories
1970


The Department of Defense creates
ARPANET, the precursor to the Internet, by
connecting together four computers.
They were located in the respective
computer research labs of UCLA
(Honeywell DDP 516 computer), Stanford
Research Institute (SDS-940 computer),
UC Santa Barbara (IBM 360/75), and the
University of Utah (DEC PDP-10).
1971


Introduction of the first microprocessor, the
Intel 4004, containing an entire CPU on a
chip.
Led to supercomputers and PCs (both ends
of the computing spectrum!).
Pascal



Introduced in 1971
First strongly typed programming
language
Developed by Nicolas Wirth as a tool for
teaching programming with good style &
technique
1973

Decision by Judge Earl Richard Larson, in
the lawsuit Honeywell vs. Sperry Rand, that
the patent issued for the ENIAC computer
was invalid, and that the ABC invented by
John Atanasoff was the first electronic digital
computer.
1974


The C programming language was
developed at Bell Labs by Brian Kernighan
and Dennis Ritchie, a couple of researchers
just playing around with a spare computer.
C is considered to be a middle-level
language, with most features of high level
languages but also the fine control of
machine that assembly language gives.
The Altair 8080

The first personal computer

Introduced in kit form in 1975

Intel 8080 processor with 256 bytes of RAM

More information about the Altair 8080
Apple Computer, Inc


Started in 1977 by Steve Jobs and Steve
Wozniak
Introduced the Apple I

First off-the-shelf personal computer.
FORTRAN 77


Standardization completed in 1977
First version of Fortran to be considered a
structured programming language
Apple Computer, Inc


Started in 1977 by Steve Jobs and Steve
Wozniak
Introduced the Apple I

First off-the-shelf personal computer.
Apple II


Introduced in 1978
First personal computer with secondary
storage capability

5 1/4” floppy disk drive

360 kilobytes of storage per disk
VisiCalc

Introduced in 1978

First spreadsheet package

Developed by Dan Bricklin and Bob
Frankston
1980

Smalltalk, the first object-oriented language,
invented at Xerox PARC
1981

The first IBM PC introduced
http://upload.wikimedia.org/wikipedia/commons/thumb/f/f1/Ibm_pc_5150.jpg/647px-Ibm_pc_5150.jpg
1982

dBASE, the first database program for
personal computers, introduced.
1986

Pixar is founded:
http://www.pixar.com/about/Our-Story
1990


Tim Berners-Lee develops HyperText
Markup Language, providing the foundation
for the development of the World Wide Web
Microsoft releases the first stable &
commercially successful version of
Windows, Windows 3.0
1991

Introduction of the Linux operating system,
a UNIX-derived program initially developed
by Linus Torvalds
1994


Tim Berners-Lee invents Mosaic, the first
"web browser"
Intel releases the first Pentium
microprocessor CPU
1995

Introduction of the Java programming
language by software architect, James
Gosling
Resources

Bit by Bit

Visual Journey Through Computing History

History of Computers

Timeline of Computer History