Describir: Using Computer Programs and Search Problems for Teaching Theory of Computation: Recognizing the significance of a cornerstone of computer science.