History of theory of computation