Understand Computing Paradigms
Understand the three computing paradigms (DFAs, PDA, Turing Machine) and their language-based equivalents (regular languages,context-free languages, computable algorithms).
Categorize problems into one of the existing paradigms.
Understand the difference between and limitations of paradigms.
Decidable and Tractable
Understand the difference between computable (decidable) and practically computable (tractable).
Solutions to Problems
Design and justify solutions to problems of decidability and tractability.