Programação em Lógica
Áreas Científicas |
Classificação |
Área Científica |
OFICIAL |
Ciência de Computadores |
Ocorrência: 2023/2024 - 2S
Ciclos de Estudo/Cursos
Língua de trabalho
Português - Suitable for English-speaking students
Objetivos
- Transmitir aos estudantes conceitos fundamentais de programação em lógica
- Desenvolver nos estudantes competências de programação em Prolog
- Expor a relação entre programação em lógica e lógica matemática
- Despertar nos estudantes a motivação para a programação em lógica
- Apresentar aos estudantes aplicações práticas de programação em lógica
- Envolver os estudantes em projetos práticos de programação em lógica
- Relacionar a disciplina com outras do curso
Resultados de aprendizagem e competências
Ao concluir a disciplina, os estudantes devem ser capazes de:
- Identificar em que tipos de problemas a programação lógica deve ou pode ser aplicada
- Compreender as limitações das linguagens lógicas e das suas implementações
- Saber desenvolver programas de relativa complexidade
- Saber resolver problemas com relativa complexidade usando programação em lógica
- Conhecer bem a sintaxe e semântica da linguagem Prolog
- Relacionar o conhecimento adquirido com outras unidades curriculares do curso
Modo de trabalho
Presencial
Pré-requisitos (conhecimentos prévios) e co-requisitos (conhecimentos simultâneos)
Lógica computacional.
Programa
Introdução à programação em lógica e à linguagem Prolog
- O poder expressivo do Prolog. Representação de conhecimento.
Como funciona a programação em lógica
- Unificação, Substituição, Prova, Resolução SLD, Backtracking. Nagação por falha.
Programação em Prolog
- Aritmética com inteiros em Prolog usando termos. Listas em Prolog. Cut, negação por falha, cut-fail.
Prolog avançado
- Diferença de listas e estruturas incompletas. Predicados de segunda ordem. Programação de segunda ordem. Implementação. Programação lógica com restrições.
Bibliografia Obrigatória
Sterling Leon;
The art of prolog. ISBN: 0-262-19250-0
C. J. Hogger;
Essentials of logic programming. ISBN: 0-19-853832-4
Bibliografia Complementar
Ivan Bratko;
Prolog programming for artificial intelligence. ISBN: 978-0-201-14224-2 pbk
John Wylie Lloyd;
Foundations of logic programming. ISBN: 978-3-540-18199-6
Métodos de ensino e atividades de aprendizagem
- aulas teóricas expositivas e com discussões de grupo.
- aulas práticas com tarefas teóricas e de programação realizadas em laboratório e onde os estudantes têm oportunidade de discutir problemas e soluções em grupo e com o professor.
- trabalhos em grupo realizados nas aulas práticas e fora delas.
Software
SWI Prolog
Palavras Chave
Ciências Físicas > Ciência de computadores > Cibernética > Inteligência artificial
Ciências Físicas > Ciência de computadores > Programação
Ciências Físicas > Matemática > Lógica matemática
Tipo de avaliação
Avaliação distribuída sem exame final
Componentes de Avaliação
Designação |
Peso (%) |
Trabalho prático ou de projeto |
20,00 |
Teste |
80,00 |
Total: |
100,00 |
Componentes de Ocupação
Designação |
Tempo (Horas) |
Estudo autónomo |
80,00 |
Frequência das aulas |
48,00 |
Elaboração de projeto |
34,00 |
Total: |
162,00 |
Obtenção de frequência
Nota maior do que zero na componente de avaliação contínua.
Fórmula de cálculo da classificação final
Nota Final = 0.4*T1 + 0.4*T2 + 0.2*TR
T1= Teste 1
T2 = Teste 2
TR = Trabalho prático
Trabalho de estágio/projeto
Consiste de atividade teórico-prática. Estudantes devem entregar a implementação e um relatório explicativo. Se houver tempo, farão apresentação do seu projeto.
Avaliação especial (TE, DA, ...)
A avaliação na época especial consiste na realização de uma prova em sala de aula ou laboratório.
Melhoria de classificação
Exame de recurso para melhorar apenas a nota dos dois testes.