
Abrantes Araújo Silva Filho
(em breve)
Este curso é uma introdução à Teoria da Computação e explica o que é "computar", o que é "computável" e o que é "viável" de ser resolvido computacionalmente (sendo nosso maior interesse no que é viável de ser computável com um computador).
O foco do curso enfatiza a computabilidade e a teoria da complexidade computacional, com tópicos que incluem linguagens regulares e livres de contexto, problemas decidíveis e indecidíveis, redutibilidade, teoria de funções recursivas, medidas de tempo e espaço na computação, completude, teoremas de hierarquia, problemas inerentemente complexos, oráculos, computação probabilística e sistemas de prova interativos.
Ele explora as capacidades e limitações fundamentais dos algoritmos computacionais, de acordo com diversos modelos e medidas.
Não subestime os pré-requisitos obrigatórios pois este curso, apesar de introdutório e em nível de graduação, é um curso muito difícil. Você pode até considerar que este curso é mais matemático do que computacional: realmente, Teoria da Computação tem muito mais em comum com a matemática do que com a computação e computadores. Você precisará de conforto com os seguintes pré-requisitos:

(em breve)
Aproximadamente 10 horas de estudo por semana, incluindo as horas de aula.