Paradigmas da Programação

Ano Lectivo: 09/10 (anual)

Escola de Engenharia

Universidade do Minho


AVISOS **Publicadas as NOTAS FINAIS**


Apresentação

Cursos a que é leccionada:

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

0 + 3 (1,5+1,5) + 0
Responsável:

Pedro Rangel Henriques
Equipe Docente:
Pedro Rangel Henriques [prh@di.uminho.pt] (1 + 0 + 0)
Paulo Jorge Azevedo [pja@di.uminho.pt] (1 + 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órico-práticas.
Realização, fora das aulas, de trabalhos concretos de aplicação no computador, em ambiente Windows, recorrendo às ferramentas VisualParadigm e SWI-Prolog.
Objectivos:

É objectivo deste curso levar os alunos a:


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 4 provas individuais escrita feitas ao longo do ano (2 em cada semestre) nas datas seguintes:
  1. 26 de Nov.
  2. 28 de Jan.
  3. 22 de Abr.
  4. 10 de Jun.
Caso o aluno não obtenha nota média maior ou igual a 10 (no mínimo 8 a cada uma das partes), terá acesso a um exame teórico (escrito) de recurso, final e único, em data a marcar em Junho/Julho.

A nota prática será obtida através da realização de 4 trabalhos práticos (modelação de Sistemas de Informação em Prolog, Jogos em Prolog, Implementação de Máquinas de Transição de Estados em Prolog e Implementação de um Sistema de Decisão em Prolog) que serão resolvidos ao longo do ano, 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 XX de Jun (a marcar de acordo com o calendário geral do 2ºsemestre definido pela Direcção de Curso).
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.25 + Teste2 * 0.25 + Teste3 * 0.25 + Teste4 * 0.25 ou NotaExame
e
NotaPratica = (TP1 + TP2 + TP3 + TP4) / 4
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. Desenvolvimento de Sistemas de Software:
  • 1.1 Conceitos fundamentais com a resolução de problemas por computador e sobre os paradigmas de programação
  • 1.2 Etapas do Desenvolvimento de SS:
    • a. análise
    • a1. levantamento de requisitos (de dados, funcionais, interactivos, restrições)
    • a2. especificação dos dados e das operações
    • b. concepção/desenho de uma solução
    • b1. arquitectura do sistema
    • b2. modelação dos dados e operações
    • c. prototipagem
    • d. implementação
    • e. testes
    • f. instalação
2. Paradigmas da Programação:
  • sequencial vs concorrente
  • imperativo vs declarativo
  • monolítico vs modular e orientado aos objectos (OO)
  • orientado às acções vs orientado aos eventos
3. UML (Unified Modeling Language) na Modelação dos Sistemas de SW:
  • 3.1 Conceitos básicos
  • 3.2 Diagramas de Classe
  • 3.3 Use-Cases
  • 3.4 Diagramas de Sequência
  • 3.5 Diagramas de Estado
  • 3.6 Diagramas de Actividade
  • 3.7 Diagramas de Objectos, de Packages e de Deployment
4. Programação Lógica na Prototipagem dos Sistemas de SW:
  • 4.1 Caracterização do paradigma lógico
  • 4.2 Definições básicas: predicados, termos e cláusulas
  • 4.3 Unificação
  • 4.4 Árvore de Prova e Árvore de Procura
  • 4.5 Estratégias de pesquisa e ``Backtracking''
  • 4.6 Explicação Operacional dos predicados de controlo
  • 4.7. Estruturas de Dados recursivas: Listas, Árvores e Grafos
  • 4.8 Uso do Sistema Prolog:
    • Interacção com o exterior, leitura e escrita
    • Constatação das propriedades fundamentais dum Sistema de Prova (máquina de inferência)
    • Predicados pré-definidos
5. Autómatos Deterministas na Modelação e Prototipagem de Sistemas de SW:
  • 5.1 Máquinas de Transição de Estados
  • 5.2 Expressões Regulares


Bibliografia

Material bibliográfico proposto para apoio ao curso:

Sobre Desenvolvimento de Software e Modelação em UML:

[BRJ,98] G. Booch, J. Rumbaugh, I. Jacobson. "The Unified Modeling Language User Guide", Addison-Wesley, 1998.
[RJB,99] J. Rumbaugh, I. Jacobson, G. Booch. "The Unified Modeling Language Reference Manual", Addison-Wesley, 1999.
[Fow,04] M. Fowler. "UML Distilled", Third Edition. Addison-Wesley, 2004.
[SV,01] Alberto Silva, Carlos Videira. "UML -- Metodologias e Ferramentas CASE". Vol.1, 2ªEdição, CentroAtlantico.pt, 2005
[NoN,05] M. Nunes, H. O'Neill. "Fundamental do UML". FCA, 2001
Sobre Prototipagem rápida e Programação em Lógica:
[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:

... e ainda as seguintes Fichas de Trabalho propostas para as aulas: Descrição de Sistemas de Informação --- lista de casos de trabalho:


Avisos Importantes

(2010.07.02)
Foi publicada a Pauta com as Notas Finais --- Boas Férias !
(2010.05.26)
Foi marcada a data para Entrega/Avaliação do 4º TP para Domingo, 13.Junho.2010 às 24h00.
(2010.04.14)
Foi marcada a data para Avaliação dos 2º e 3º TPs para 5ªfeira, 29.Abril.2010 às 16h30.
(2010.03.31)
Foi alterada a data de Entrega do 3º TP ficando adiado para Domingo, 11.Abril.2010 às 24h00.
(2010.03.31)
Foram acrescentados ao sumário da ultima aula TP de 5ªf o Template do Programa Prolog para simular um Autómato Determinista Reactivo, bem como 2 Exemplos.
(2010.03.03)
Foi alterada a data do 2º Teste ficando adiado para 2ªf, 08.Março.2010 às 16h30.
(2010.03.02)
Foi publicado o 3ºTrabalho Prático para resolver nas próximas 3 semanas.
(2010.01.23)
Foi alterada a data do 2º Teste ficando adiado para o dia 4.Março.2001 às 14h30.
Matérias a focar: a) Modelação Estática e Prototipagem de Sistemas de Informação em UML e Prolog; b) Modelação Comportamental (dinâmica) de Sistemas de Informação em UML; c) Programação Lógica: Listas e Árvores
(2010.01.22)
Foi afixada (nesta página) a Pauta com as Notas do 1º Trabalho Prático.
(2010.01.04)
A data final para entrega do 2º Trabalho Prático foi fixada em Domingo 10.Jan.2010.
(2010.01.04)
Recorda-se a todos os Grupos que a avaliação do 1ªTrabalho-Prático ficada marcada para 5ªf, 07.Jan.2010, das 13h-16h.
Os alunos devem trazer o relatório e o código pronto a executar e Todos os Membros do Grupo têm de estar presentes.
(2009.12.10)
Foi publicada o 2º Trabalho Prático que os alunos devem concluir até ao dia 20.Dez.2009.
(2009.12.09)
A entrega presencial com discussão e avaliação do 1ªTrabalho-Prático ficada marcada para 5ªf, 07.Jan.2010.
(2009.11.19)
Foi adiada 1 semana a data do 1ª Teste, passando para 5ªf, dia 03.Dez.2009.
(2009.11.17)
Foi publicada a 1º Folha de Exercícios de Prolog sobre Listas e Árvores (ver acima na rubrica "Notas Pedagógicas e Material de Apoio Diverso" ).
(2009.11.06)
Foi publicada o 1º Trabalho Prático que os alunos devem concluir até ao dia 22.Nov.2009.
(2009.11.06)
Foi publicada a Folha de Cálculo com os Alunos Inscritos e a constituição dos Grupos de Trabalho.
Os alunos devem verificar, usando o link no item respectivo acima, o seu nome, número e grupo e avisarem-me em caso de encontrarem algum erro.


author: prh@di.uminho.pt;
Last modified: sexta-feira, Julho 2, 2010 at 12:34