The first design for a program-controlled computer was Charles Babbage's Analytical Engine in the 1830s.
A century later, in 1936, mathematician Alan Turing published his description of what became known as a Turing machine, a theoretical concept intended to explore the limits of mechanical computation.
Turing was not imagining a physical machine, but a person he called a "computer", who acted according to the instructions provided by a tape on which symbols could be read and written sequentially as the tape moved under a tape head.
Turing proved that if an algorithm can be written to solve a mathematical problem, then a Turing machine can execute that algorithm.

Konrad Zuse's Z3 was the world's first working programmable, fully automatic computer, with binary digital arithmetic logic, but it lacked the conditional branching of a Turing machine.
On 12 May 1941, it was successfully presented to an audience of scientists of the Deutsche Versuchsanstalt für Luftfahrt ("German Laboratory for Aviation") in Berlin.
The Z3 stored its program on an external tape, but it was electromechanical rather than electronic.
The Colossus of 1943 was the first electronic computing device, but it was not a general-purpose machine.

The ENIAC (1946) was the first machine that was both electronic and general purpose.
It was Turing complete, with conditional branching, and programmable to solve a wide range of problems, but its program was held in the state of switches in patchcords, not in memory, and it could take several days to reprogram.
Researchers such as Turing and Zuse investigated the idea of using the computer's memory to hold the program as well as the data it was working on, and it was mathematician John von Neumann who wrote a widely distributed paper describing that computer architecture, still used in almost all computers.

The construction of a von Neumann computer depended on the availability of a suitable memory device on which to store the program.
During the Second World War researchers working on the problem of removing the clutter from radar signals had developed a form of delay line memory, the first practical application of which was the mercury delay line, developed by J. Presper Eckert.
Radar transmitters send out regular brief pulses of radio energy, the reflections from which are displayed on a CRT screen.
As operators are usually interested only in moving targets, it was desirable to filter out any distracting reflections from stationary objects.
The filtering was achieved by comparing each received pulse with the previous pulse, and rejecting both if they were identical, leaving a signal containing only the images of any moving objects.
To store each received pulse for later comparison it was passed through a transmission line, delaying it by exactly the time between transmitted pulses.

Turing joined the National Physical Laboratory (NPL) in October 1945, by which time scientists within the Ministry of Supply had concluded that Britain needed a National Mathematical Laboratory to co-ordinate machine-aided computation.
A Mathematics Division was set up at the NPL, and on 19 February 1946 Alan Turing presented a paper outlining his design for an electronic stored-program computer to be known as the Automatic Computing Engine (ACE).
This was one of several projects set up in the years following the Second World War with the aim of constructing a stored-program computer.
At about the same time, EDVAC was under development at the University of Pennsylvania's Moore School of Electrical Engineering, and the University of Cambridge Mathematical Laboratory was working on EDSAC.

The NPL did not have the expertise to build a machine like ACE, so they contacted Tommy Flowers at the General Post Office's (GPO) Dollis Hill Research Laboratory.
Flowers, the designer of Colossus, the world's first programmable electronic computer, was committed elsewhere and was unable to take part in the project, although his team did build some mercury delay lines for ACE.
The Telecommunications Research Establishment (TRE) was also approached f
The first design for a program-controlled computer was Charles Babbage's Analytical Engine in the 1830s. A century later, in 1936, mathematician Alan Turing published his description of what became known as a Turing machine, a theoretical concept intended to explore the limits of mechanical computation. Turing was not imagining a physical machine, but a person he called a "computer", who acted according to the instructions provided by a tape on which symbols could be read and written sequentially as the tape moved under a tape head. Turing proved that if an algorithm can be written to solve a mathematical problem, then a Turing machine can execute that algorithm.
Konrad Zuse's Z3 was the world's first working programmable, fully automatic computer, with binary digital arithmetic logic, but it lacked the conditional branching of a Turing machine. On 12 May 1941, it was successfully presented to an audience of scientists of the Deutsche Versuchsanstalt für Luftfahrt ("German Laboratory for Aviation") in Berlin. The Z3 stored its program on an external tape, but it was electromechanical rather than electronic. The Colossus of 1943 was the first electronic computing device, but it was not a general-purpose machine.
The ENIAC (1946) was the first machine that was both electronic and general purpose. It was Turing complete, with conditional branching, and programmable to solve a wide range of problems, but its program was held in the state of switches in patchcords, not in memory, and it could take several days to reprogram. Researchers such as Turing and Zuse investigated the idea of using the computer's memory to hold the program as well as the data it was working on, and it was mathematician John von Neumann who wrote a widely distributed paper describing that computer architecture, still used in almost all computers.
The construction of a von Neumann computer depended on the availability of a suitable memory device on which to store the program. During the Second World War researchers working on the problem of removing the clutter from radar signals had developed a form of delay line memory, the first practical application of which was the mercury delay line, developed by J. Presper Eckert. Radar transmitters send out regular brief pulses of radio energy, the reflections from which are displayed on a CRT screen. As operators are usually interested only in moving targets, it was desirable to filter out any distracting reflections from stationary objects. The filtering was achieved by comparing each received pulse with the previous pulse, and rejecting both if they were identical, leaving a signal containing only the images of any moving objects. To store each received pulse for later comparison it was passed through a transmission line, delaying it by exactly the time between transmitted pulses.
Turing joined the National Physical Laboratory (NPL) in October 1945, by which time scientists within the Ministry of Supply had concluded that Britain needed a National Mathematical Laboratory to co-ordinate machine-aided computation. A Mathematics Division was set up at the NPL, and on 19 February 1946 Alan Turing presented a paper outlining his design for an electronic stored-program computer to be known as the Automatic Computing Engine (ACE). This was one of several projects set up in the years following the Second World War with the aim of constructing a stored-program computer. At about the same time, EDVAC was under development at the University of Pennsylvania's Moore School of Electrical Engineering, and the University of Cambridge Mathematical Laboratory was working on EDSAC.
The NPL did not have the expertise to build a machine like ACE, so they contacted Tommy Flowers at the General Post Office's (GPO) Dollis Hill Research Laboratory. Flowers, the designer of Colossus, the world's first programmable electronic computer, was committed elsewhere and was unable to take part in the project, although his team did build some mercury delay lines for ACE. The Telecommunications Research Establishment (TRE) was also approached f
Manchester Baby