Programação em Lógica
Informações Gerais
 

Programa

Objectivos
 
Aprendizagem dos conceitos fundamentais da Programação em Lógica e introdução às correspondentes metodologias de desenvolvimento de programas. Capacidade de escrever programas em Prolog para problemas não triviais. Familiaridade com ferramentas de desenvolvimento de software (nomeadamente, sistemas de controlo de versões).
Resumo do Programa
 
Lógica predicativa de primeira ordem. Princípio da resolução. Programação em lógica. Extensões à programação em lógica.
Programa detalhado
Fundamentos Matemáticos
Lógica predicativa de primeira ordem
Princípio da resolução
Programação declarativa
Comparação com outros paradigmas de programação
Programação em Prolog
Representação de conhecimento
Mecanismos de inferência
Predicados pré-definidos
Técnicas de programação
Depuração de programas
Extensões ao Prolog
Objectos
Restrições
 

Avaliação

Aulas teóricas, teórico-práticas e práticas
 
Inscrição obrigatória
Frequências
 
Duas provas escritas com a duração de 90 minutos
Cotadas para 7 valores
Datas: 3 de Maio (19:00, Salas 6.04, 6.05 e 6.06) e 23 de Junho (09:30, Sala 4.2)
Trabalho individual
 
Trabalho pedagógico sobre a resolução de problemas de programação
Cotado para 2 valores
Data de entrega: 26 de Junho
Concurso de programação por equipas
 
Quatro problemas a serem resolvidos em 2 horas (com consulta de livros e apontamentos)
Cotado para 4.0 valores
Grupos de quatro alunos formados aleatóriamente
Data: 26 de Abril, Salas 6.04, 6.05 e 6.06, 19:00 (4 de Julho às 09:30 para os alunos ERASMUS)
Exames
 
Provas escritas com a duração de 2 horas
Cotados para 14 valores
Datas: 4 de Julho às 14:30 (1ª Chamada), 18 de Julho às 14:30 (2ª Chamada) e 5 de Setembro às 14:30 (Exame Especial)

Nota final de frequência: Somatório das classificações (expressas com duas casas decimais) das provas escritas + trabalho individual + concurso.

 

Bibliografia

Prolog
 
Introdução à Programação em Lógica
Delfim F. M. Torres
Ed. Universidade de Aveiro, 2000
 
Programming in Prolog
W. F. Clocksin, C. S. Mellish
Springer-Verlag
ISBN 3-540-17539-3 (I-3.3-162/3)
 
Prolog Programming: A Tutorial Introduction
C. McDonald
Blackwell Scientific Publications Ltd
ISBN 0-632-01246-3 (I-3.3-179)
 
Prolog: The Standard - Reference Manual
P. Deransart, A. Ed-Dbali, L. Cervoni
Springer
ISBN 3-540-59304-7 (I-3.3-268)
 
The Craft of Prolog
Richard A. O'Keefe
MIT Press, Series in Logic Programming
ISBN 0-262-15039-5
 
Art of Prolog: Advanced Programming Techniques
L. Sterling, E. Shapiro
MIT Press, Series in Logic Programming
ISBN 0-262-19338-8 (I-3.3-1)
 

Internet

Lógica
 
First-order logic - Wikipedia
First-Order Logic
Resolution Theorem Proving
Resolution (logic) - Wikipedia
Normal Forms
Conjunctive normal form - Wikipedia
Skolem normal form - Wikipedia
Prenex normal form - Wikipedia
Prolog
 
Prolog tutorials
Prolog Programming: a do-it-yourself course for beginners
Logtalk links to Prolog ressources
Objectos
 
http://www.cetus-links.org/oo_prolog.html
http://www.ci.uc.pt/oolpr/oolpr.html
Definite Clause Grammars
 
http://www.amzi.com/manuals/amzi6/pro/ref_dcg.htm
http://wwwcgi.rdg.ac.uk:8081/cgi-bin/cgiwrap/wsi14/poplog/prolog/ploghelp/grammar_rule
Restrições
 
http://kti.ms.mff.cuni.cz/~bartak/constraints/
http://www.icparc.ic.ac.uk/eclipse/
http://www.icparc.ic.ac.uk/eclipse/reports/handbook/handbook.html
http://gprolog.inria.fr/manual/index.html
 

Software

Prolog
 
http://www.logtalk.org/compatibility.html
Logtalk
 
http://www.logtalk.org/
 

Horários

Aulas teóricas (2 blocos; inscrições obrigatórias)
 
(BT1) Segunda-feira: 09h-11h, Sala 605
(BT2) Segunda-feira: 16h-18h, Sala 625
Aulas teórico-práticas (6 turmas; inscrições obrigatórias)
 
(TP1) Quarta-feira: 10h-11h, Sala 606
(TP2) Quarta-feira: 16h-17h, Sala 606
(TP3) Quinta-feira: 08h-09h, Sala 606
(TP1) Quinta-feira: 16h-17h, Sala 602
(TP5) Sexta-feira: 09h-10h, Sala 206
(TP6) Sexta-feira: 16h-17h, Sala 605
Aulas práticas (6 turmas, limitadas a 27 alunos cada; inscrições obrigatórias)
 
(P1) Quarta-feira: 11h-13h, Sala 619
(P2) Quarta-feira: 17h-19h, Sala 619
(P3) Quinta-feira: 09h-11h, Sala 619
(P4) Quinta-feira: 14h-16h, Sala 619
(P5) Sexta-feira: 11h-13h, Sala 619
(P6) Sexta-feira: 17h-19h, Sala 619
Atendimento dos alunos
 
Segunda-feira: 14-16h, Gabinete 4.3