Paradigmas da Programação I

Ano Lectivo: 08/09 (1º semestre)

Escola de Engenharia

Universidade do Minho


AVISOS


Apresentação

Cursos a que é leccionada:

Mestrado integrado em Engenharia de Comunicações -- 2º ano ()
Escolaridade:

3 + 0 + 0
Responsável:

Pedro Rangel Henriques
Equipe Docente:
Pedro Rangel Henriques [prh@di.uminho.pt] (2 + 0 + 0)

Obs: é indicado o número de turmas de cada tipo de aula que cada docente lecciona.
Estrutura de Funcionamento:

Exposição da matéria fundamental ---motivação, conceitos, definições, métodos e justificações--- e resolução dos exercícios de consolidação, no quadro e no computador a nível das aulas teóricas.
Realização, fora das aulas, de trabalhos concretos de aplicação no computador, em ambiente Windows ou Linux, recorrendo à ferramenta SWI-Prolog.
Objectivos:

É objectivo deste curso levar os alunos a:
e, ainda, tornar os alunos aptos a desenvolver correcta e eficientemente programas na linguagem Prolog.


Avaliação

Critério:

A Avaliação tem uma componente teórica e uma componente prática ambas obrigatórias.
De acordo com o regulamento actualmente em vigor na UM, a nota teórica será obtida através da realização de 2 provas individuais escrita feitas ao longo do semestre nas datas seguintes:
  1. 06 de Nov.
  2. 15 de Jan.
Caso o aluno não obtenha nota maior ou igual a 8 a cada uma das partes, terá acesso a um exame teórico (escrito) de recurso, final e único, podendo fazer só uma das partes.

A nota prática será obtida através da realização de 3 trabalhos práticos que serão resolvidos ao longo do semestre, extra-aulas e em grupo de 2 alunos, sendo o resultado de cada trabalho apresentado ao docente, para ser discutido em frente ao computador na semana de 19 de Jan.
Recorda-se que é obrigatória a presença de todos os elementos do grupo aquando da apresentação ao docente.

Cada Exercício Prático será classificado de acordo com os seguintes escalões:

Escalão
Nota
Não Entregue
0
Não Satisfaz
7
Satisfaz no Mínimo
10
Satisfaz
13
Bom
16
Muito Bom
19

A nota final será determinada de acordo com a seguinte fórmula:

NotaFinal = NotaTeorica * 0.60 + NotaPratica * 0.40
sendo
NotaTeorica = Teste1 * 0.50 + Teste2 * 0.50 ou NotaExame
e
NotaPratica = (TP1 + TP2 + TP3) / 3
Exige-se 8 valores como nota mínima em cada uma das partes.

Trabalhos Práticos

Para fazer o download das Fichas de Trabalho propostas, clique abaixo:
Para fazer a inscrição dos grupos e a submissão dos Trabalhos Práticos, siga o link abaixo: Para fazer o download (do ficheiro PDF) do enunciado dos Trabalhos dos anos anteriores, clique abaixo:

Exames

Para fazer o download (do ficheiro PDF) do enunciado dos Exames do ano anterior, clique abaixo:

Pauta e Notas

Para ver o Número do seu Grupo ou as suas Notas (TP, T Ou Final), clique abaixo:


Conteúdo Programático

Programa detalhado:

1. Introdução à disciplina:
  • Reflexão sobre os conceitos fundamentais relacionados com a resolução de problemas por computador e sobre os paradigmas de programação
2. Introdução à Programação Lógica:
  • 2.1 Caracterização do paradigma lógico
  • 2.2 Definições básicas: predicados, termos e cláusulas
  • 2.3 Unificação
  • 2.4 Árvore de Prova e Árvore de Procura
  • 2.5 Estratégias de pesquisa e ``Backtracking''
  • 2.6 Explicação Operacional dos predicados de controlo
3. Uso do Sistema Prolog:
  • 3.1 Interacção com o exterior, leitura e escrita
  • 3.2 Constatação das propriedades fundamentais dum Sistema de Prova (máquina de inferência)
  • 3.3 Predicados pré-definidos
4. Estruturas de Dados recursivas:
  • 4.1 Listas, Árvores e Grafos
  • 4.2 Máquinas de Transição de Estados e Autómatos Deterministas Reactivos


Bibliografia

Material bibliográfico proposto para apoio ao curso:

[Tor,00] Delfim Torres, "Introdução a Programação em Lógica", versão 1.0, Dep. de Matemática, Univ. de Aveiro, 2000
[Der,86] Pierre Deransart, "Initiation à Prolog", Univ. Orleans, 1986
[CM,81] W.F. Clocksin & C.S. Mellish, "Programming in Prolog", Springer-Verlag, 1981
[SS,86] Leon Sterling & E. Shapiro, "The Art of Prolog", MIT-Press, 1986
[Bra,90] Ivan Bratko, "Prolog: programming for Artificial Intelligence", Addison Wesley, 1990
[Wie,99] Jan Wielemaker, "SWI-Prolog 3.3: Reference Manual", Univ. Amsterdam, Nov. 1999


Notas Pedagógicas e Material de Apoio Diverso

De momento e para além do material bibliográfico recomendado, encontram-se disponíveis os seguintes elementos:

... e a seguinte documentação diversa de apoio:


Avisos Importantes

(2009.02.14)
Foram publicadas as Notas Finais (TPs + Teste + Exame).
(2009.01.25)
Foram publicadas as Notas do 1ºTeste.
Amanha à tarde às 14h30 serão avaliados/classificados os 2 TPs, do Gr 9 para o Gr 1.
(2008.12.15)
Em troca do 3º TP, foi decidido pedir a implementação de 2 jogos (e não apenas 1) da ficha do 2ºTP e decidiu-se marcar a data de 15 de Janeiro para entrega do desse trabalho e do relatório dos dois TPs escrito em Nuweb (usando Literate Programming).
(2008.11.27)
Foi afixado o enunciado do 2º Trabalho Prático para realizar até 8 de Dezembro
(2008.11.13)
Foi afixada a Pauta (Folha de Cálculo) com o registo de todos os Grupos de Trabalho e dos que entregaram o 1º Trabalho Práticos -- peço a todos os alunos que confirmem as informações que lhe dizem respeito!


author: prh@di.uminho.pt;
Last modified: sábado, Fevereiro 14, 2009 at 17:05