Paradigmas da Programação I

Ano Lectivo: 08/09 (1º semestre)

Planeamento e Sumário das Aulas


Teórica sessão1
(2ªfeira, 15h30-17h00)
Teórica sessão2
(5ªfeira, 13h00-14h30)
2008/09/15
2008/09/18
2008/09/22
2008/09/25
2008/09/29
2008/10/02
2008/10/06
2008/10/09
2008/10/13
2008/10/16
2008/10/20
2008/10/23
2008/10/27
2008/10/30
2008/11/03
2008/11/06 (1ºTeste)
2008/11/10
2008/11/13
2008/11/17
2008/11/20
2008/11/24
2008/11/27
2008/12/01 (FN)
2008/12/04
2008/12/08 (FN)
2008/12/11
2008/12/15
2008/12/18
2009/01/05
2009/01/08
2009/01/12
2009/01/15 (2ºTeste)
2009/01/19 (Aval. TPs)
2009/01/22 (Aval. TPs)


Aula T 1

Tópicos:
Resumo:
Os alunos foram avisados sobre a obrigatoriedade de fazerem os 2 Trabalhos Práticos que serão propostos ao longo do semestre e sobre a importância de lerem toda a informação básica sobre a Disciplina, através da Página WWW. Fora marcadas as datas dos 2 Testes.
Quanto ao principal objectivo, foi clarificado que não se tratava de um curso para ensinar apenas a usar a linguagem de programação Prolog, mas que era essencialmente destinado a levar os alunos a compreender a importância da noção de paradigma de programação na resolução de um problema por computador, dando-se especial ênfase ao paradigma declarativo lógico (relacional).

Aula T 2

Tópicos:
Resumo:
Nesta aula os alunos já devem ter adquirido a sensibilidade para distinguir o paradigma imperativo do paradigma declarativo e devem ter-se apercebido da diferença entre executar no SO um programa compilado, ou interpretar num ambiente de programação um programa declarativo.
Além disso devem ter captado empiricamente a noção de Predicado, Cláusula, Facto e Regra, Variável Lógica e Unificação.


Aula T 3

Tópicos:
Programas Exemplo:
Resumo:
Nesta aula os alunos devem ter continuado a reforçar, teórica e experimentalmente, os conceitos introduzidos na aula anterior ---Base de Factos e Base de Regras, Predicado, Termo, Átomo Lógico, Variável Lógica e Unificação. Deve ter ainda realçado a possibilidade interrogar a BC quando se descreve esse modelo em Prolog.

Aula T 4

Tópicos:
Programas Exemplo:
Resumo:
Nesta aula os alunos devem ter continuado a reforçar, teórica e experimentalmente, os conceitos introduzidos nas aulas anteriores, incluindo as várias formas de a BC.
Foi ainda introduzido o modelo ER (ou o Diagrama de Classes) para descrever um Sistema de Informação e foi sistematizada a sua escrita em Prolog. Foram feitos alguns exemplos e testes.


Aula T 5

Tópicos:
Programas Exemplo:
Resumo:
Nesta aula os alunos devem ter continuado a reforçar, teórica e experimentalmente, os conceitos introduzidos nas aulas anteriores ---Base de Factos e Base de Regras, Predicado, Termo, Átomo Lógico, Variável Lógica e Unificação--- bem como a possibilidade interrogar a BC de diversas maneiras, sabendo interpretar os resultados "Yes/True" e "No/False" e os valores associados às variáveis livres.
Foi, ao longo da aula, introduzido o conceito de programa lógico auto-adaptável via remoções e acréscimos de predicados na BC.

Aula T 6

Tópicos:
Programas Exemplo:
Resumo:
Para reforçar todos os conceitos introduzidos até ao momento, nesta aula foi solicitado aos alunos que resolvessem no quadro e testassem no computador o 1ºTeste do ano transacto.
Foram assim revistos, teórica e experimentalmente, os conceitos base da programação em lógica para construção e exploração de uma BC.


Aula T 7

Tópicos:
Programas Exemplo:
Resumo:
Para reforçar todos os conceitos introduzidos até ao momento, revendo, teórica e experimentalmente, os conceitos base da programação em lógica para construção e exploração de uma BC, nesta aula foi solicitado aos alunos que continuassem a resolver no quadro e testassem no computador o 1ºTeste do ano transacto.
Aproveitou-se então a Questão 2 do Teste para sistematizar a modelação de um sistema de informação (no caso, um sistema de gestão do club hípico de braga) em Prolog.

Aula T 8

Tópicos:
Não houve aula por ter de ir participar (com apresentação de comunicação) no Interacção2008 (Évora).


Aula T 9

Tópicos:
Programas Exemplo:
Resumo:
Aproveitou-se o exercício da última aula, um sistema de gestão do club hípico de braga, para sistematizar a modelação de um sistema de informação em Prolog.
Tomando como base a definição das frutas que uma pessoa gosta, introduziu-se o conceito de lista; foi depois apresentada a definição matemática para se obter uma forma sistemática de manusear listas de qualquer comprimento. Por fim, construíram-se dois predicados para ilustrar a forma sistemática de escrever operações sobre listas.

Aula T 10

Tópicos:
Programas Exemplo:
Resumo:
Começou-se a aula a rever os exercícios da aula anterior e a esclarecer algumas dúvidas.
Depois tomou-se por base o 2ºTeste do ano transacto e construí-se um predicado (para eliminar os elementos repetidos de uma lista, à custa do predicado pertence da aula anterior) com o intuito de ilustrar a forma sistemática de escrever operações sobre listas.


Aula T 11

Tópicos:
Programas Exemplo:
Resumo:
Começou-se a aula a rever os exercícios da aula anterior e a esclarecer algumas dúvidas.
Depois tomou-se por base o 2ºTeste do ano transacto e construí-se um predicado (para procurar o valor associado a uma chave numa Lista de pares (chv,val)) com o intuito de ilustrar a forma sistemática de escrever operações sobre listas.
Resolveram-se ainda as outras questões relacionadas com a leitura e interpretação de predicados sobre Listas.

Aula T 12

Tópicos:
Programas Exemplo:
Resumo:
A aula foi essencialmente ocupada a rever os exercícios da aula anterior e a esclarecer algumas dúvidas, criando variantes desses exercícios que introduzam novos conceitos.


Aula T 13

Tópicos:
Programas Exemplo:
Resumo:
Começou-se a aula a rever os exercícios da aula anterior e a esclarecer algumas dúvidas.
Depois discutiu-se ao pormenor como percorrer um conjunto de factos e extrair deles os elementos para formar uma lista, fazendo uso do fail, assert e retract.

Aula T 14

Tópicos:


Aula T 15

Tópicos:
Programas Exemplo:
Resumo:
Esta aula foi essencialmente ocupada a resolver o 1Teste de avaliação contínua, discutindo detalhada e cuidadosamente cada questão.

Aula T 16

Tópicos:
Programas Exemplo:
Resumo:
A aula foi completamente dedicada à apresentação do conceito de Grafo e sua aplicação na modelação de problemas (redes e outros). A operação HaCaminho entre dois vértices.


Aula T 17

Tópicos:
Programas Exemplo:
Resumo:
A aula foi completamente dedicada ao conceito de Grafo (para reforço dos conhecimentos introduzidos na aula anterior) e sua aplicação na modelação de problemas (redes e outros). Distingui-se a operação HaCaminho que verifica se dois vértices estão directa ou indirectamente ligados da operação UmCaminho que constrói um possível caminho entre dois vértices, retornando a lista dos nodos intermédios (vazia se estão directamente ligados).

Aula T 18

Tópicos:
Programas Exemplo:
Resumo:
A aula foi completamente dedicada ao conceito de Grafo (para reforço dos conhecimentos introduzidos nas aulas anteriores) e sua aplicação na modelação de problemas (redes e outros). Distingui-se a operação UmCaminho que constrói um possível caminho entre dois vértices, retornando a lista dos nodos intermédios (vazia se estão directamente ligados) da operação TodosCaminhos que constrói todos os caminhos possíveis entre dois versos, retornando uma lista de caminhos.
Discutiram-se formas alternativas de representar um Grafo numa BC: através de um conjunto de predicados ligados( VOrig,VDest,?Peso? ); ou através de um predicado grafo( [ramo(VOrig,VDest,?Peso?),...] ).


Aula T 19

Tópicos:
Programas Exemplo:
Resumo:
Na primeira parte da aula conclui-se a implementação da operação TodosCaminhos sobre um grafo.
Depois na segunda parte e com a motivação de desenvolver jogos em Prolog (como representar e manusear o Tabuleiro dum Jogo) introduziu-se a discussão sobre a representação de Matrizes em Prolog.

Aula T 20

Tópicos:
Programas Exemplo:
Resumo:
A parte da aula que funcionou (muito lentamente) foi totalmente dedicada ao estudo da representação e manuseamento de Matrizes em Prolog.
A pedido de todos os alunos (e com a justificação que ainda tinham muitos testes nessa semana) a data de entrega do 2ºTrabalho Prático foi adiada de 8.Dez para a 2ªfeira seguinte, 15Dez.
A aula acabou mais cedo, pela 2ª ou 3ª vez neste semestre, para que os pouquíssimos alunos presentes fossem acabar de rever a matéria do teste que iam ter na aula seguinte!!!


1º de Dezembro

Feriado Nacional.

Aula T 21

Tópicos:
Programas Exemplo:
Resumo:
A aula foi totalmente dedicada ao estudo da representação e manuseamento de Máquinas de Transição de Estados e de Autómatos Deterministas Finitos em Prolog.


8 de Dezembro

Feriado Nacional.

Aula T 22

Tópicos:
Programas Exemplo:
Resumo:
A aula foi totalmente dedicada ao estudo da representação e manuseamento de Autómatos Deterministas e Reactivos em Prolog.


Aula T 23

Tópicos:
Programas Exemplo:
Resumo:
A aula foi em grande parte ocupada a discutir o 2º TP (Jogos me Prolog) e a sua documentação em Latex, tendo sido introduzido o conceito de Literate Programming e as várias ferramentas para a sua implementação (das originas Trieve/Web ao actual Nuweb).
O resto da aula foi dedicada ao estudo da representação e manuseamento de Autómatos Deterministas e Reactivos em Prolog.

Aula T 24

Tópicos:
Programas Exemplo:
Resumo:
A aula foi totalmente dedicada ao estudo da representação e manuseamento de Autómatos Reactivos em Prolog.


Aula T 25

Tópicos:
Não dei aula por fazer parte do Júri de Doutoramento (na UM) de Paulo Jorge Oliveira.

Aula T 26

Tópicos:
Programas Exemplo:
Resumo:
A aula foi totalmente dedicada ao estudo da representação e manuseamento de Autómatos Reactivos em Prolog, tendo sido elaborada a função de transição para o Sistema de Controlo dos Semáforos e feita a sua simulação em Prolog.


Aula T 27

Tópicos:
Programas Exemplo:
Resumo:
A aula foi totalmente dedicada ao estudo da representação e manuseamento de Autómatos Reactivos em Prolog, tendo sido elaborada a função de transição para o Reconhecedor de Comandos de um Sistema Operativo (que aceita os comandos: rm, rmdir, cp, cpp, chmod, ls, mv, mkdir) e feita a sua simulação em Prolog.

Aula T 28

Tópicos:

author: prh@di.uminho.pt
Last modified: quarta-feira, Janeiro 14, 2009 at 06:54