La teoría de la computación estudia las limitaciones y capacidades fundamentales de las computadoras a través de modelos matemáticos como autómatas finitos, autómatas con pila y máquinas de Turing. También explora cuántos recursos como memoria y tiempo se necesitan para resolver problemas, clasificando problemas por su dificultad. Otra área es la teoría de la computabilidad, la cual determina qué problemas pueden y no pueden resolverse algorítmicamente.