Turing Machines: Universality and Limits of Computational Power