| 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. |