The goal of this course is to understand what problems can be solved by computation, mathematical models for computation, automata, computability, and complexity, and study their relationships with formal languages. 

Course Teacher: Supriya Sarker