History of Computing

Mechanical Era (1600-1940)

Wilhelm Schickard (1623) 

Astronomer and mathematician

Automatically add, subtract, multiply and divide 

Blaise Pascal (1642) 

Pascal's Arithmetic Machine 

Gottfried Leibniz (1673)

Improved on Pascal’s machine. It can add, subtract, multiply and divide 

Charles Babbage (1822)

Father of modern computer 

Wanted more accuracy in calculations. 

Difference Engine 

Analytic Engine

George Boole (1847) 

George Boole was a mathematician, philosopher and logician. He worked in the fields of differential equations and algebraic logic, and is best known as the author of The Laws of Thought (1854) which contains Boolean algebra. Boolean logic is credited with laying the foundations for the information age. 

Herman Hollerith (1889) 

Konrad Zuse (1938) 

First working mechanical computer, the Z1

German government decided not to pursue development – World war-II already started

Alan Turing

Alan Turing provided a formalisation of the concepts of algorithm and computation with the Turing machine, which can be considered a model of a general-purpose computer.  

Howard Aiken (1943) 

Electronic Era

1st Generation (1945 – 1954)

ENIAC

Von Neumann Architecture (Princeton Architecture)

IAS (Institute for Advanced Studies) Machine

Harvard architecture used physically separate memory and data paths for program and memory. 


Harvard Mark-I built by IBM 

2nd Generation (1955 – 1964)

3rd Generation (1965 – 1974)

4th Generation (1975 – 1990)

5th Generation (1991 - present)

Stored Program Concept

In the late 1940s,  John von Neumann proposed that electronically stored instructions can be executed on their own without human intervention. These instructions (program) tell the computer what to do.  

Instructions can be stored in memory and executed in sequence referencing the data on which to operate. This concept is a breakthrough that led to the birth of the software.  Manchester Baby was the first computer to electronically store the program. 

Manchester Small Scale Experimental Machine ("Baby")