A fundamental area of theoretical computer science is complexity theory, the analysis of the resources needed to solve computational problems. Researchers in this area define computational models, such as Turing machines, Boolean Circuits, Parallel Random Access Machines, etc., and resource measures such as space, parallel time, amount of hardware, etc. A complexity class is then the set of problems solvable in a particular model under particular resource constraints. Models must be simple enough to allow mathematical analysis yet general enough to be useful in a wide context.
Website: http://www.cs.umass.edu/~immerman/complexity_theory.html