This document describes pushdown automata (PDA) and how they are used to recognize context-free languages. It provides definitions of PDA, including their components and transition function. An example PDA is given for the language of balanced parentheses. The document also discusses how PDA can accept by final state or empty stack, and how PDA are equivalent to context-free grammars. It describes how to convert between PDA that accept by final state vs empty stack, and how to construct a PDA from a given context-free grammar.