Você está na página 1de 9

Compiladores I

Fundamentos de Teoria da Computação


Introdução à Disciplina
Professor: Flávio Márcio de Moraes e Silva
Bacharel em Ciência da Computação (PUC Minas)
Mestrado em Informática (PUC Minas)
Atuação: projeto e análise de algoritmos, teoria da
computação, egenharia de software, banco de dados,
sistemas operacionais, pesquisa operacional
Experiência profissional: mercado x acadêmica

1
Porque estudar Teoria da Computação?

• Ela provê ferramentas conceituais usadas em ciência


da computação.
– Computabilidade
– Complexidade
– Geração de compiladores e linguagens de programação
• Quais são as habilidades e limitações fundamentais dos
computadores?
• O que faz com que alguns problemas sejam
computacionalmente difíceis e outros fáceis?
• Como separar os problemas que possuem solução
computacional daqueles que não possuem?
Teoria é importante para a prática

• Os melhores projetos e aplicações de


computadores são concebidos com elegância
em mente.
• Um curso teórico pode elevar seu sentido
estético e ajudá-lo a construir sistemas mais
bonitos.
Teoria é importante para a prática

• Finalmente, teoria é bom para você porque


estudá-la expande sua mente.
• Conhecimento técnico específico, embora útil,
fica desatualizado em poucos anos.
• Por outro lado as habilidades de pensar, exprimir-
se claramente e precisamente, para resolver
problemas e saber quando você não resolveu um
problema. Isso têm valor duradouro. Estudar
teoria treina você nessas áreas.
Ementa
• Linguagens Regulares; Autômatos Finitos;
Linguagens Livres de Contexto; Autômatos
com Pilha; Máquinas de Turing. O Problema
da Parada da Máquina de Turing; Hierarquia
das Classes de Linguagem.

5
Metodologia
• Aulas Teóricas
– Aulas expositivas, complementadas por exemplos práticos.
• Trabalhos para Casa
– Exercícios sobre conteúdos levantados nas aulas teóricas.

6
Avaliação
• Proposta: 4 notas de 20 pontos
• + listas de exercícios preparatórias para as provas (20
pontos)

7
Bibliografia
• 1. Vieira, N.J. Introdução aos Fundamentos da
Computação: Linguagens e Máquinas, Pioneira
Thomson Learning, 2006.
• 2. J. Martin, Introduction to Languages and the
Theory of Computation, McGraw-Hill, 2011.
• 3. P. B. Menezes, Linguagens Formais e
Autômatos, Bookman, 2011.

8
Contato com o Professor
• Flávio M. M. e Silva
– flavio.silva@uemg.br
– Teams (chat)

Você também pode gostar