12
HISTORY OF COMPUTATION

HISTORY OF COMPUTATION - University of Florida · Abacus 2400 BC : Babylonian 200 BC: ... 500BC: Designed to calculate astronomical positions. Pascal's Calculator: Pascaline 1642:

  • Upload
    dodat

  • View
    221

  • Download
    2

Embed Size (px)

Citation preview

HISTORY OF COMPUTATION

Abacus

2400 BC: Babylonian 200 BC: Chinese(Suanpan)

Antikythera Mechanism

500BC: Designed to calculate astronomical positions

Pascal's Calculator: Pascaline

1642: French polymath Blaise Pascal invented the mechanical calculator

Difference Engine

1786: J. H. Müller, an engineer in the Hessian army, first conceived of the idea of a difference engine.

1822: Charles Babbage designed his first mechanical computer, the first prototype of the decimal difference engine for tabulating polynomials.

1832: Babbage and Joseph Clement produced a prototype segment of his difference engine.

Analytical Engine

1834: Babbage conceived, and began to design, his decimal 'Analytical Engine'. A program for it was to be stored on read-only memory, in the form of punched cards.

Early Electro-mechanical and Electronic Computers

1941: The first program-controlled computer was invented by Konrad Zuse, who built the Z3, an electromechanical computing machine

1943: The first programmable electronic computer was the Colossus, built by Tommy Flowers.

Theoretical Models Deterministic finite automaton

− a finite set of states (Q)

− a finite set of input symbols called the alphabet (Σ)

− a transition function (δ : Q × Σ → Q)

− a start state (q0 Q)∈

− a set of accept states (F Q)⊆

Theoretical Models Pushdown automaton

− A stack

− A stack alphabet

− Initial stack symbol

Theoretical Models Turing Machine

Abilities

Turing Completeness: It can be used to simulate any single-taped Turing machine and thus in principle any computer.

Simulating a Universal Turing Machine

Lambda Calculus: Recursion

Abilities

Logical Branching

Random Access Memory

Set of Logical Operators:

− Functional completeness: Express all possible truth tables by combining members of the set into a Boolean expression. { AND, OR, NOT } or {NAND, NOR}