A theory course in automata, computability and complexity that addresses two questions:
- What are the fundamental capabilities and limitations of computers?
- What makes some problems computationally hard and others easy?
Students will learn...
-
to develop reasoning abilities.
-
to appreciate the beauty of mathematical reasoning and the power & clarity of thought it can give us.
-
to apply theory to problems in computer science.
-
to learn about and appreciate the theoretical foundation of computer science.