1-2 Brief History of Computers Calculators are used to increase
speed and accuracy of numerical computations The abacus has roots
dating back over 5,000 years Mechanical calculators have been
relatively commonplace since late 19 th century What is a computer?
A mechanical or electronic device Stores, retrieves, manipulates
large amounts of information at high speed, with great accuracy
Does not need human intervention Carries out instructions from a
program
Slide 3
The First Computers: Mechanical Computers Didnt use
electricity, some used gears, wires, beads Abacus 1000-500 BC
(Babylonians): mechanical aid used for counting The Salamis Tablet
(Greek, 300BC) The Roman Hand Abacus
Slide 4
Abacus (cont.) Modern: 1200 A.D to present Middle Ages 5 A.D to
c1400 A.D Ancient times: 300 B.C. to c500A.D.
Slide 5
Da Vincis Mechanical Calculator Notebook sketches c1500 Working
model
Slide 6
Napiers Bones Early 1600s Multiplication tables inscribed on
strips of wood and bones
Slide 7
Oughtreds Slide Rule Rev. William Oughtred 1621 Use logs to
perform multiplication and division by using addition and
subtraction
Slide 8
Pascals arithmetic engine Blaise Pascal (1623-1662) Mechanical
calculator for addition and subtraction
Slide 9
Leibnezs Step Reckoner Gottfried von Leibnez 1670 Add,
subtract, multiply, divide, square roots
Slide 10
Jacquards punch card Joseph Marie Jacquard 1805 punch cards
used to operator loom Could reprogram loom by changing cards
Slide 11
1-11 The Pioneers Mid-1800s: Charles Babbage built the
Analytical Engine made from axles and gears that could store and
process 40 digit numbers 1940: Howard Aitken at Harvard, and
Atanasoff and Berry at Iowa State created Mark I, an electronic
computer. It could not act on intermediate results. 1945: Mauchly
and Eckert at U. Pennsylvania built the ENIAC (Electronic Numerical
Integrator and Calculator) Weighed 33 tons, 17,000 vacuum tubes
Performed up to 5000 additions per second
Slide 12
Babbages Engines Same chair at Cambridge as Newton and Hawking
Designed the difference engine and later, the analytical engine
Brass gears and strings of punch cards run by steam Analytical
Engine never built Charles Babbage (1791-1871)
Slide 13
The Worlds First Programmer Lady Ada Byron, Countess of
Lovelace (1815- 1952) Daughter of Lord Understood Babbages
Analytical Engine Her notes anticipate future developments,
including computer-generated music.
Slide 14
Holleriths Tabulating Machine Herman Hollerith (1860-1929)
Invented a punched card device to help analyse the 1890 US census
data Founded Tabulating Machine Company 1896 1924 Tabulating
Machine Company merges with others to form IBM
Slide 15
MIT Differential Analyzer Purpose: to solve differential
equations Mechanical computation with first use of vacuum tubes for
memory Programmed by aligning gears on shafts 1930s
Slide 16
Alan Turing (1912-1954) Develops theory of computability and
the Turing Machine model a simple but elegant mathematical model of
a general purpose computer (~1936) Helped crack German codes in
WWII (1939-1945)
Slide 17
Konrad Zuse 1936: Z1 first binary computer using Erector Set
parts, keyboard and lights for output (relay memory) 1938: Z2 using
punched tape and relays Z1
Slide 18
Vacuum Tubes 1939 Atanasoff-Berry Computer First
electronic-digital computer? Binary numbers, direct logic for
calculation, regenerative memory Prototype 1939 2 years then to
build full scale model One op per 15 secs, 300 vacuum tubes, 700
pounds, mile of wire ABC Prototype
Slide 19
The first computers (cont.) 1943 British Colossus first
all-electronic computer? (2,400 vacuum tubes) Decipher enigma coded
messages at 5,000 chars/sec At peak, 10 machines ran 24 hours a day
A German enigma coding machine
Slide 20
The first computers (cont.) 1943-44 Aiken at Harvard/IBM Mark 1
first electromechanical digital computer (electromagnetic relays
magnets open and close metal switches) (recreation of Analytical
Engine) 8 ft tall, 50 ft long, 1 million parts 323 decimal-digit
additions per sec storage for 72 23-digit numbers.
Slide 21
1-21 ENIAC: the computer of the 1940s! The ENIAC computer
Slide 22
ENIAC (1946) 18,000 tubes, 1500 sq ft Programmed by wire plugs
into panels 5,000 decimal-digit additions/sec 20 10-decimal digit
accumulators Von Neumann and ENIAC 1941 Von Neumann proposes EDVAC
Electronic Discrete Variable Computer Computer should Use binary
Have stored programs Be function-oriented
Slide 23
UNIVAC-1 The worlds first commercially available (non-military)
computer I think there is a world market for about five computers
Thomas J. Watson, IBM Chairman
Slide 24
1-24 Early Computers: 1940s 1950s 1945 1950s: First generation
computers used vacuum tubes to do internal switching needed for
computations 1955: about 300 computers in the world built mostly by
IBM and Remington Rand, based on vacuum tubes Late 1950s: invention
of the transistor was one of most important inventions of 20 th
Century computers based on the transistor are the first solid-state
computers
Slide 25
Transistors Generation 2 Transistors replace vacuum tubes Size
and cost decreased, speed increased 1960s IBM sells large mainframe
computers to businesses, called 700 series Mainframes run operating
systems that allow many dumb terminals to be attached Typical
business applications are custom written and run in batch mode
Slide 26
1-26 Early Computers: 1960s Early 1960s: DEC created the
minicomputer about the size of a file cabinet Used small packages
of transistors called integrated circuits Mainframes such as the
IBM 360 are prominent in large companies and universities
Slide 27
Integrated Circuits Generation 3 Integrated circuits contain
many transistors on one chip 1971 Intel produces 4004 chip with all
circuitry for a calculator
Slide 28
VLSI Generation 4 Mid 1970s Very large scale integration 1977
Apple Corporation started by Steve Jobs sells personal computer for
hobbyists 1980 IBM creates the PC to sell to businesses The PC is
widely cloned and becomes widely accepted as prices drop PCs and
clones use a text based operating system called DOS to programs
1984 Apple releases the MAC with a graphical user interface
Generations on How Webopedia IBM PC c1982
Slide 29
Programming Language History Programming languages instruct
computers what to do Charles Babbage's difference engine could only
be made to execute tasks by changing the gears which executed the
calculations US Government ENIAC could only be "programmed" by
presetting switches and rewiring the entire system for each new
"program" or calculation
Slide 30
Programming Language History Generation 1 late 40s / early 50s:
programmers coded directly in machine language it allowed the
programmer to write its statements in 0's and 1's by hand
01111111010001010100110001000110000000010000001000000001000000000000
000000
00000000000000000000000000000000000000000000000000000000000000000000
100000
00000000010000000000000000000000000000000010000000000000000000000000
000000
00000000000000000000000000000000000000000000000000000001010000100000
000000
00000000000000000000000000000000011010000000000000000000000000000000
000000
00000001010000000000000001000000000000000000100000000001011100111001
101101
00001110011011101000111001001110100011000010110001000000000001011100
111010
00110010101111000011101000000000000101110011100100110111101100100011
000010
11101000110000100000000001011100111001101111001011011010111010001100
001011
00010000000000010111001110011011101000111001001110100011000010110001
000000
00000101110011100100110010101101100011000010010111001110100011001010
111100
00111010000000000001011100110001101101111011011010110110101100101011
011100
Slide 31
Programming Language History Generation 2 mid 1950s: assembly
languages replaced numeric codes with mnemonic names an assembler
is a program that translates assembly code into machine code input:
assembly language program output: machine language program still
low-level & machine- specific, but easier to program In 1951,
Grace Hopper (US Rear Admiral) wrote the first compiler, A-0, which
turned English-like instructions into 0's and 1's
gcc2_compiled.:.global _Q_qtod.section ".rodata".align
8.LLC0:.asciz "Hello world!".section ".text".align 4.global
main.type main,#function.proc 04 main: !#PROLOGUE# 0 save
%sp,-112,%sp !#PROLOGUE# 1 sethi %hi(cout),%o1 or %o1,%lo(cout),%o0
sethi %hi(.LLC0),%o2 or %o2,%lo(.LLC0),%o1 call __ls__7ostreamPCc,0
nop mov %o0,%l0 mov %l0,%o0 sethi %hi(endl__FR7ostream),% or
%o2,%lo(endl__FR7ostream),% call
__ls__7ostreamPFR7ostream_R7ostream,0 nop mov 0,%i0 b.LL230
nop.LL230: ret restore.LLfe1:.size main,.LLfe1-main.ident "GCC:
(GNU) 2.7.2"
Slide 32
Programming Language History Generation 3 In 1957, IBM creates
the first of the major languages called FORTRAN. Its name stands
for FORmula TRANslating system. The language was designed for
scientific computing. Excellent language for scientific work,
difficult input/output operations
Slide 33
Programming Language History In 1958, John McCarthy of MIT
created the LISt Processing (or LISP) language. It was designed for
Artificial Intelligence (AI) research. Because it was designed for
such a highly specialized field, its syntax has rarely been seen
before or since. Still in use today for AI research, offsprings
include Scheme
Slide 34
Programming Language History 1959 COBOL was developed for
businesses. COBOL statements have a very English-like grammar,
making it quite easy to learn. Much better input/output than
FORTRAN permitting business applications Highly successful and used
on most IBM mainframe computers, even today.
Slide 35
Programming Language History The BASIC language was developed
in 1964 by John Kemeny and Thomas Kurtz. BASIC is a very limited
language and was designed for non-computer science people. Many
versions of BASIC were developed, Bill Gates and his partner
started business by writing a version of BASIC for a hobby computer
Bill Gates would later start Microsoft when he licenses the DOS
operating system to IBM
Slide 36
Programming Languages History Pascal was begun in 1968 by
Niklaus Wirth. Its development was mainly out of necessity for a
good teaching tool. Pascal was designed in a very orderly approach,
it combined many of the best features of the languages in use at
the time, COBOL, FORTRAN, and ALGOL.
Slide 37
Programming Language History C was developed in 1972 by Dennis
Ritchie while working at Bell Labs in New Jersey. The transition in
usage from the first major languages to the major languages of
today occurred with the transition between Pascal and C. C was
built to be fast and powerful at the expense of being hard to read.
Ritchie developed C for the new Unix system being created at the
same time. C is very commonly used to program operating systems
such as Unix, Windows, the MacOS, and Linux.
Slide 38
Programming Language History In the late 1970's and early
1980's, a new programming method was being developed called Object
Oriented Programming, or OOP. Bjarne Stroustroup liked this method
and developed extensions to C known as C++, which was released in
1983. C++ was designed to organize the raw power of C using OOP,
but maintain the speed of C and be able to run on many different
types of computers. C++ is most often used in simulations, such as
games.
Slide 39
Programming Language History Visual Basic 1 is released by
Microsoft in 1991 It includes a combination of QuickBasic
(Microsofts version of BASIC) and a graphical design tool for
creating the User Interface (originally developed by Alan Cooper)
It includes an event-driven programming paradigm
Slide 40
Programming Language History In the early 1990's, interactive
TV was the technology of the future. Sun Microsystems decided that
interactive TV needed a special, portable (can run on many types of
machines), language. This language eventually became Java. In 1994,
the Java project team changed their focus to the web, which was
becoming "the cool thing" after interactive TV failed. The next
year, Netscape licensed Java for use in their internet browser,
Navigator. At this point, Java became the language of the
future.
Slide 41
Programming Language History Generation 4 Often abbreviated
4GL, fourth-generation languages are programming languages closer
to human languages than typical 3 rd generation languages. In 1969,
a language called RAMIS was released Most 4GLs are used to access
databases and do in a few lines of code what would require hundreds
of lines of COBOL or C. For example, a typical 4GL command is FIND
ALL RECORDS WHERE NAME IS "SMITH"
Slide 42
1-42 The Personal Computer 1970s: The personal computer becomes
available with invention of the microchip 1974: The microchip,
along with the invention of the microprocessor led to creation of
first personal computer Bill Gates and Paul Allen founded Microsoft
Corporation Stephen Wozniak and Steven Jobs founded Apple Computer,
Inc.
Slide 43
1-43 The Personal Computer 1970s: The personal computer becomes
available with invention of the microchip 1974: The microchip,
along with the invention of the microprocessor led to creation of
first personal computer Bill Gates and Paul Allen founded Microsoft
Corporation Stephen Wozniak and Steven Jobs founded Apple Computer,
Inc.
Slide 44
1-44 Computers Today Currently: PCs: 95% use Microsoft Windows
operating system with a huge array of available software
Minicomputers are still popular with small business and
universities Mainframes are in use at large corporations
Supercomputers are very powerful and specialized Used for massive
computing problems by big corporations and government
departments