Theory of computation simplified[electronic resource] :simulate real-world computing machines and problems with strong principles of computation