This document provides an overview of finite automata, including deterministic finite automata (DFAs) and non-deterministic finite automata (NFAs). It defines what a finite automaton is, describes the components of a DFA and NFA, and how they process input strings. It also discusses the relationship between DFAs and NFAs, showing that any language recognizable by an NFA is also recognizable by a DFA through subset construction. Examples are provided to illustrate DFA and NFA design.