| Curso | Engenharia Informática e de Computadores | ||
| Unidade Curricular |
Lógica e Computação |
Obrigatória | |
| Opcional | X | ||
| Área Científica | Engenharia Informática e de Computadores | ||
| Ano: 2º | Semestre: 1º | ECTS: 6 | Total de Horas: 160 | ||
| Horas de Contacto | T: | TP: 67,5 | PL: | S: | OT: |
| Docente |
Walter Jorge Mendes Vieira |
||||
T - Teórica; TP - Teórico-prática; PL - Prática Laboratorial; S - Seminário; OT - Orientação Tutorial.
- Objetivos da aprendizagem
Os estudantes que terminam com sucesso esta unidade curricular serão capazes de:
(1) Explicar o funcionamento essencial dos algoritmos de dedução automática baseados na resolução;
(2) Explicar o funcionamento essencial dos sistemas de execução da linguagem Prolog;
(3) Desenvolver, testar e corrigir programas na linguagem Prolog;
(4) Usar os aspectos fundamentais da programação não determinista;
(5) Escrever relatórios onde justificam os comportamentos de programas observados e as decisões de desenho tomadas.
- Programa
I. Introdução à dedução automática: dedução automática em cálculo de proposições, dedução automática em cálculo de predicados.
II. A lógica computacional: cláusulas de Horn, interpretação procedimental.
III. Estudo da linguagem Prolog: a norma ISO, depuração de programas, o mecanismo de cortes, meta-predicados, negação or falha, modelação de relações reflexivas, simétricas, transitivas e de equivalência, introdução à pesquisa em espaços de estados com Prolog.
IV. Desenvolvimento de aplicações usando a linguagem Prolog em conjunto com outras linguagens
- Demonstração de coerência entre conteúdos programáticos e resultados da aprendizagem
Esta unidade curricular optativa é, para a maioria dos alunos a única oportunidade de contactarem com a programação em lógica, sendo essencial que os que por ela optem fiquem a conhecer razoavelmente os algoritmos de dedução mecânica e a liguagem Prolog. Os pontos I) e II) dos conteúdos programáticos introduzem os aspectos essenciais da dedução mecânica e fazem a ponte com a interpretação computacional e a linguagem Prolog, permitindo satisfazer os objectivos programáticos 1) e 2); No ponto III) é realizado o estudo da linguagem Prolog, desde os aspectos mais básicos até à programação não determinista e à pesquisa em espaços de estados, permitindo atingir os objectivos de apresdizagem 3) e 4). O ponto IV) introduz os mecanismos comuns de interação entre aplicações desenvolvidas nas linguagens tradicionais e o Prolog, permitindo reforçar o objectivo de aprendizagem 3); O objectivo de aprendizagem 5) é conseguido através da escrita de ralatórios de aulas práticas e de trabalhos.
- Metodologia de ensino e avaliação
Ensino teórico-prático, estando previstas 30 aulas durante o semestre a que correspondem 67,5 horas de contacto (15 aulas de 3 horas e 15 de 1,5 horas). O tempo total de trabalho do estudante é de 160 horas. As aulas interativas destinam-se a introduzir e discutir os aspectos teóricos associados aos temas, bem como a realizar exercícios de forma colaborativa entre docente e estudantes. Realizam-se aulas práticas em fases bem definidas do semestre, com o objectivo de os alunos serem confrontados com os aspectos mais complexos da matéria e sobre eles terem de raciocinar e resolver problemas. Os resultados da aprendizagem (1), (2), (3) e (4) são avaliados através de testes escritos, do acompanhamento das aulas práticas e da discussão dos relatórios dos trabalhos práticos propostos. O resultado (5) é avaliado através da discussão dos relatórios dos trabalhos práticos propostos.
- Demonstração de coerência entre metodologias de ensino e resultados de aprendizagem
O objectivo de aprendizagem 1) é concretizado através das aulas interactivas (exposição teórica e a realização colaborativa de exercícios de modelação) e dos trabalhos práticos que incluem o uso de uma aplicação de dedução automática desenvolvida pelo regente da unidade curricular; Os objectivos de aprendizagem 2), 3) e 4) são concretizados através das aulas interactivas (exposição teórica e a realização colaborativa de exercícios), das aulas práticas e dos trabalhos práticos, nos quais os alunos têm de usar a linguagem Prolog; O objectivo de aprendizagem 5) é conseguido através da escrita de ralatórios de aulas práticas e dos trabalhos práticos.
- Bibliografia principal
Walter Vieira, Lógica e Computação, ISEL, 2006.
W.F. Clocksin, C.S. Mellish, Programming in Prolog: Using the ISO Standard, 5th edition, Springer Verlag, 2003.






