"open learning: beginnings of computing"

This is an idea I've had to try and cement ideas in my head as I study for college and to try and document my learning.

Whenever I spend a couple of hours studying a section of my course I'll try and summarise it here, based on notes I've written. Might not be of use to anyone but me.

So this is what I've learned today, or at least formally learned:

Difference Engine Charles Babbage

Charles Babbage came up with the idea for the difference engine in the 20's; a machine to calculate a series of values automatically. It was never completed by Babbage but he created a series of prototypes (two were recently constructed by the London Science Museum).

Babbage then began designing the analytical engine in the 30's and worked on it until his death in 1871. This was a more complex machine; a design for a mechanical general-purpose computer, and different from the difference engine in that it received instructions from a series of punched cards. Ada Lovelace, a mathematician and the world's first computer programmer, wrote an application for the machine.

Ada Lovelace

The Entscheidungsproblem is a mathematical challenge posed by David Hilbert in 1928. It asks for an algorithm that will take as input a description of a formal language and a mathematical statement in the language and produce as output either "True" or "False" according to whether the statement is true or false.

Turing Machine An abstract machine described by Alan Turing in 1936. Reads symbols from a ticker tape. Can simulate the logic of any computer algorithm. Consists of: Tape with symbols on it A head which reads the symbols from tape A finite table of instruction sets executed depending on state (read or write to tape, go to another state) A state register which keeps track of which state the machine is in (starts in a default state)

Alan Turing