Finite automaton
The machine remembers only which state it occupies. It is powerful enough for many pattern-recognition tasks but cannot count without bound.
Computation theory asks what an algorithm is, which problems algorithms can solve in principle, and how resource requirements separate easy computation from hard computation. The subject progresses from machine models to impossibility to complexity.
Automata theory asks what a chosen machine model can express. Computability asks whether any algorithm can solve a problem. Complexity keeps the problem computable and asks how expensive solving it must be.
These models are not historical computer generations. They are mathematical abstractions designed to isolate how memory and control affect expressive power.
The machine remembers only which state it occupies. It is powerful enough for many pattern-recognition tasks but cannot count without bound.
Adding a stack makes nested structure possible: balanced delimiters and recursive syntax become recognizable in ways finite state alone cannot support.
The model is intentionally simple but expressive enough to formalize the ordinary notion of an algorithm and expose problems no algorithm can decide.
Show that one model can reproduce the behavior of another, establishing relative computational power.
Translate one problem into another so a hypothetical solver for the target would also solve the source problem.
Prove that certain resources or distinctions are unavoidable rather than merely artifacts of a particular algorithm.
Construct an object that escapes an assumed complete list, a classic route to impossibility and hierarchy results.