Theory of computation: an introduction

Traditionally, the study of theory of computation comprises three central areas: automata, computability, and complexity. These areas are linked by the question: What are the fundamental capabilities and limitations of computers? In this course, we will study the fundamentals of these three central areas of theory of computation.