03ago | Apresentação da disciplina. Introdução ao paradigma lógico. |  |
10ago | Fundamentação e conceitos básicos. Lógica de predicados. |  | t1A |
17ago | Formas normais canônicas. Método da resolução e unificação. |  | t1B |
24ago | Fatos, regras, variáveis, conjunções e backtracking. Átomo, números, variáveis, operadores, estruturas de dados, listas, recursão, concatenação e acumuladores. |  | t1C |
31ago | Acumuladores, backtracking e corte. Coleção de soluções. |  | t1D |
07set | Dia não letivo. Desenvolvimento do primeiro trabalho. |
14set | Recomendações de estilo. Depuração de programas. Alguns predicados pré-definidos. Leitura e escrita. |  | t2A |
21set | Exercícios sobre bases dinâmicas. Gramáticas. |  | t2B |
28set | Exercícios sobre gramáticas. Desenvolvimento do segundo trabalho. |
05out | Desenvolvimento do segundo trabalho. | | t2C |
12out | Dia não letivo. Desenvolvimento do segundo trabalho. |
19out | Árvores e grafos. Representações. Algoritmos em grafos. |  | t3 |
26out | Resolução de problemas. Programação por restrições. |  |
02nov | Dia não letivo. Desenvolvimento do terceiro trabalho. |
09nov | Interface do SWI-Prolog com Java, C++ e Python. Apresentação da linguagem Picat. |  |
16nov | Exercícios em Picat. |
23nov | Desenvolvimento dos trabalhos. |
27nov | Entrega do terceiro trabalho. |