I am teaching Theory of Computation for the first time soon, and need a short introduction and justification to motivate students who have only Introductory Programming behind them. I am torn between:
(1) Emphasizing the limits of computation, i.e., there is no universal debugging program (Turing, Halting.)
(2) Emphasizing the practical value of searching webpages to gather data using regular expressions, leading to automata, coding, etc.
The choice is between emphasizing the negative—the ultimate limits on computation—or emphasizing the positive—what's achievable with proper understanding of the theory. Suggestions welcomed!