algorithms
A series of generalized instructions for solving a problem.
data structures
Different approaches to storing data on a computer.
automata
Allowing us to define what is and isn't a computer.
computability
Some things simply cannot be computationally solved. Even common things.
complexity
What makes some problems computationally hard and others easy?