Introduction of the theory of computation