Saltar para:
Logótipo
Você está em: Início > CC3012
Mapa das Instalações
FC6 - Departamento de Ciência de Computadores FC5 - Edifício Central FC4 - Departamento de Biologia FC3 - Departamento de Física e Astronomia e Departamento GAOT FC2 - Departamento de Química e Bioquímica FC1 - Departamento de Matemática

Programação em Lógica

Código: CC3012     Sigla: CC3012     Nível: 300

Áreas Científicas
Classificação Área Científica
OFICIAL Ciência de Computadores

Ocorrência: 2018/2019 - 1S Ícone do Moodle

Ativa? Sim
Página Web: https://moodle.up.pt/course/view.php?id=355
Unidade Responsável: Departamento de Ciência de Computadores
Curso/CE Responsável: Licenciatura em Ciência de Computadores

Ciclos de Estudo/Cursos

Sigla Nº de Estudantes Plano de Estudos Anos Curriculares Créditos UCN Créditos ECTS Horas de Contacto Horas Totais
L:B 0 Plano de Estudos Oficial 3 - 6 56 162
L:CC 35 Plano de estudos a partir de 2014 2 - 6 56 162
3
L:F 0 Plano de Estudos Oficial 2 - 6 56 162
3
L:G 0 Plano estudos a partir do ano letivo 2017/18 3 - 6 56 162
L:M 5 Plano de Estudos Oficial 2 - 6 56 162
3
L:Q 2 Plano estudos a partir do ano letivo 2016/17 3 - 6 56 162
MI:ERS 20 Plano Oficial desde ano letivo 2014 2 - 6 56 162

Docência - Responsabilidades

Docente Responsabilidade
Alípio Mário Guedes Jorge Regente

Docência - Horas

Teórica: 2,00
Práticas Laboratoriais: 2,00
Tipo Docente Turmas Horas
Teórica Totais 1 2,00
Alípio Mário Guedes Jorge 2,00
Práticas Laboratoriais Totais 2 4,00
Alípio Mário Guedes Jorge 2,00
João Pedro Pedroso Ramos dos Santos 2,00

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)

Algum conhecimento de lógica matemática e inteligência artificial pode ajudar, mas não é fundamental para a aprendizagem.

Programa

- Introdução às linguagens lógicas.
- Diferenças entre linguagens lógicas, funcionais e imperativas.
- Introdução à linguagem Prolog.
- Relação entre Prolog e a lógica.
- Relação entre Prolog e algoritmos de busca.
- Relação entre Prolog e bases de dados (Datalog).
- Sintaxe e semântica da linguagem Prolog.
- Tipos básicos de dados.
- Manipulação de listas. Recursão.
- Diferenças de listas.
- Boas práticas de programação em Prolog.
- Controlo do espaço de busca. Operador de corte (cut).
- Depuração de programas Prolog.
- Satisfação de Restrições (Constraint Logic Programming)
- Implementação de Prolog (máquina WAM).
- Programação avançada em Prolog.

Bibliografia Obrigatória

Sterling Leon; The art of prolog. ISBN: 0-262-19250-0
Bratko Ivan 1946-; Prolog programming for artificial intelligence. ISBN: 978-0-201-14224-2 pbk

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.

Utilização do Moodle para os testes intermédios e listas de exercícios.

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

Tipo de avaliação

Avaliação distribuída com exame final

Componentes de Avaliação

Designação Peso (%)
Exame 60,00
Trabalho prático ou de projeto 40,00
Total: 100,00

Componentes de Ocupação

Designação Tempo (Horas)
Estudo autónomo 106,00
Frequência das aulas 56,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.6*EF + 0.4*AC

EF = exame final
AC = avaliação contínua, incluindo trabalhos e testes realizados.

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

Apenas o exame final pode ser melhorado nas épocas em que o estudante tenha acesso.
Recomendar Página Voltar ao Topo
Copyright 1996-2022 © Faculdade de Ciências da Universidade do Porto  I Termos e Condições  I Acessibilidade  I Índice A-Z  I Livro de Visitas
Página gerada em: 2022-10-05 às 00:45:15 | Política de Utilização Aceitável | Política de Proteção de Dados Pessoais | Denúncias