Turing machines are an abstract model of computation consisting of a finite-state controller moving back and forth on an infinite read-write tape. We generally define "computable" as meaning "a Turing machine can do it" and "computation" as "something a Turing machine does". Every physically realizable computational device yet invented can be simulated by a Turing machine, so talking about Turing machines is often shorthand for talking about computers in general.

In studying algorithms, we usually assume we are dealing with a RandomAccessMachine instead, which can read arbitrary memory locations in constant time, instead of having to wait for the finite-state controller to walk all the way from wherever it was before. But this only affects the speed of the machine (and not necessarily by much)---not what it can or cannot compute.