A pushdown automaton (PDA) is a model of computation that extends a finite automaton with a stack. It consists of a finite set of states, input alphabet, stack alphabet, initial state, start symbol, set of final states, and transition function. The transition function maps the current state, input symbol, and top stack symbol to a new state and stack symbol. A string is accepted if the PDA reaches a final state or empty stack. PDAs recognize context-free languages and have applications in modeling languages with recursive structures.