Theoretical Computer Science is the mathematical foundation of computing in all its forms. By being the foundation, it is also the starting point for new and more efficient methodologies of computation.

The study of algorithmic complexity. A topic of particular interest is the relationship between polynomial-time (P) and non-deterministic polynomial-time (NP), the latter consisting of algorithms for which there is a P solution given the right initial guess (often called witness or certificate).

Formal language theory is defined to be the study of sets of words over finite alphabets. In formal language theory a word in a language can be accepted by a device (automaton) or generated by a grammar. The four languages of the Chomsky hierarchy (regular, context free, context sensitive and recursively enumerable languages) are typically studied.