Definir modelos de computação e estudar suas relações com classes de linguagens. A disciplina aborda os problemas mais fundamentais que deram origem à constituição da Ciência da Computação.