Theory of computation
Theory of computation
(referred to as TOC here on) lays a strong foundation for a lot of abstract areas of computer science. If you look at it from a distance, theory of computation is a very close cousin of Artificial Intelligence than say Probability or Computer vision.
TOC teaches you about the elementary ways in which a computer can be made to think. There is a great deal of work that was made possible in the area of Natural Language Processing that involved building Finite State machines also known as Finite State Automata .
State machines are also used in certain areas of mathematics like Number theory .
Regular expressions can be beautifully represented using Non-deterministic Finite Automata.
Any algorithm can be expressed in the form of a finite state machine and can serve as a really helpful visual representation of the same. Sometimes, the finite state machines are easier to understand thus helping the cause furthermore. For example, consider topological sort. Representing each stage of the topological sort as a state of the automata can end up as a brilliant explanation that couples ideas from so many fields of theoretical computer science put together.
What I have talked about are only a few day to day commonplace applications of TOC. There are a lot of interesting areas where concepts from theory of computation are used.