This document provides an introduction and overview of topics in the theory of computation including automata, computability, and complexity. It discusses the following key points in 3 sentences:
Automata theory, computability theory, and complexity theory examine the fundamental capabilities and limitations of computers. Different models of computation are introduced including finite automata, context-free grammars, and Turing machines. The document then provides definitions and examples of regular languages and context-free grammars, the basics of finite automata and regular expressions, properties of regular languages, and limitations of finite state machines.