Decidable Problems, Recursive, Recursively Enumerable Languages and Turing Machines