Using Computer Programs and Search Problems for Teaching Theory of Computation: Recognizing the significance of a cornerstone of computer science. - MacCormick, John (Communications of the ACM, 2020)
The article considers the importance of incorporating the theory of computation into undergraduate university-level computer science programs. The author discusses how using computer problems such as the halting problem and the question of P versus NP help build an understanding of the limits and possibilities of computers. He relates that using two approaches, search problems and using real computer programs, both help foster a better understanding of the field.