There's a nice article written by a senior lecturer of UCSC, Dr. Chamath Keppitiyagama about the Turing Machine. I really like that article since I'm a big fan of theoretical computer science. It is a good attempt to show up an important concept to the ordinary people. I thought to repost it's content here to make it secure so that if the original article goes off, I won't miss it. :)
Link to original article: http://www.nation.lk/edition/component/k2/item/3666-a-computer-for-hundred-rupees?.html
A computer for hundred rupees?
No, I did not miss by several zeros – I meant it. We can build such a
 cheap computer and I guarantee that it can solve any problem that can 
be solved by those fancy and expensive computers. Now do not rush to buy
 processors, power supplies and other equipments, because we do not need
 them!
You can get the following ‘parts’ under hundred rupees. You need a 
long paper tape (a very long one), a pencil, an eraser, and a note pad. 
Take the long paper tape and using the pencil draw equal-sized squares 
along the tape.
That is it. Now there are some rules to follow. You can move the tape
 one square to the left or one to the right. You can write ‘1’ or ‘0’ on
 the square directly under your hand. If you wish you can erase anything
 on the square directly under your hand. After taking any action you can
 write a number in the note pad to indicate your ‘state’. The note pad 
has a table that you can consult before taking any action. This table 
tells you what to do – write, erase, move left or right – when you are 
in a given state and after reading a particular value from the tape. All
 that you can do is limited to those few actions.
That is your 100 rupee computer. I am not joking, but this machine is
 so powerful that it can solve any problem that can be solved on fancy 
computer. In fact, if a problem can be solved using a computing device, 
this computer can solve it. If this computer cannot solve a problem then
 it can never be solved using even a super computer. Unbelievable, isn’t
 it? Yet, it is true.
This machine is called a Turing machine. It was designed by Alan 
Turing in 1936, quite a long time before anybody made a computing device
 that resembles modern day computers. He did not propose it as a machine
 to be built and used for actual computation, even though you can easily
 build one if you really want to and use it for computation. Alan Turing
 proposed the Turing machine as a model of computation. He proposed that
 if any problem can be solved using computers this extremely simple 
machine can solve it and only the problems that can be computed on this 
machine can be solved on computers. It makes our 100 rupee computer a 
very powerful one indeed!
I have simplified the description of the machine quite a bit. A 
Turing machine needs an infinitely long tape, but let us ignore those 
details. Initially, the problem to be solved is written on the tape 
using ones and zeros on the squares (strictly speaking they do not even 
have to be ones and zeros, they can be any symbols). When the machine 
stops – that is when you stop moving the tape back and forth – the 
answer will be on the tape encoded in ones and zeros.
Computer scientists and mathematicians use this simple machine to 
study whether problems can be solved on computers and if so what are the
 most efficient ways to solve them. They do not actually build the 
machine, but use it to think of computing as a sequence of those actions
 allowed in the Turing machine. Even though they look very complicated, 
modern day computers try to mimic this machine. The role that you played
 in our 100 rupee computer is played by the processor and the memory 
chips take the place of the paper tape. The electronic processor is just
 faster than you and the problems can be solved faster, but apart from 
the speed, modern computers are not more powerful than a Turing machine.
 In fact, they are less powerful since none of them have an infinite 
memory whereas the Turing machine has an infinitely long tape (memory).
The power of this simple machine does not stop there. I am sure you 
have heard of those wonderful programming languages such as Java, C# and
 Python. Those programming languages are no more powerful than the 
simple set of instructions on our rudimentary computer. If you can write
 a nice program using those languages, you can write the same one using 
our simple set of instructions, but that would be tedious. Most of us 
have the notion that computers are all powerful devices. Well they are 
in some ways, but so is our Turing machine! I am sure now you have lost 
your faith in computers.
(The writer is a Senior Lecturer, University of Colombo School of Computing)

 
 




