A ficha oficial de disciplina pode ser consultada no SiFEUP »
Apresentação
Sigla: PPRO (PP)
Ano: 4º (1º)
Semestre: 2º
Créditos: 6 (3)
ECTS: 6 (7,5)
Horas/Semana: 3h teóricas
Nº de Turmas: 1 teóricas
Aulas Teóricas: João Correia Lopes (JCL)
Objectivos
Dotar os alunos de uma visão global dos vários paradigmas de programação com ênfase nos conceitos, implementação e adequação às classes de problemas, levando-os a perceber os compromissos no desenho de linguagens e as vantagens e desvantagens na utilização das linguagens mais usadas em programação.
Programa
O papel das linguagens de programação.
Funções, recursão, listas e o LISP.
Compiladores e sintaxe, cálculo-lambda e semântica denotacional.
A família Algol e o ML.
Sistemas de tipos e inferência de tipos.
Âmbito, funções e gestão de memória.
Abstracção de dados e modularidade.
Conceitos em linguagens orientadas por objectos, o Simula e o Smalltalk.
Objectos e eficiência em tempo de execução em C++.
Portabilidade e segurança em Java.
O paradigma de programação em lógica e o Prolog.
Concorrência e programação distribuída.
Bibliografia Principal
- John C. Mitchell, Concepts in Programming Languages, Cambridge University Press, 2003, ISBN=0-521-78098-5
Bibliografia Complementar
- Ravi Sethi, Programming Languages: Concepts and Constructs, 2nd Edition, International Edition, Addison-Wesley, 1996, ISBN=0-321-21074-3
- Simon Thompson, Haskell: The Craft of Functional Programming, 2nd Edition, Addison-Wesley, 1999, ISBN=0-201-34275-8
- K. Arnold, J. Gosling, The Java Programming Language, Adisson-Wesley, 3rd Edition, 2000, ISBN=0-201-70433-1
- Leon Sterling, Ehud Shapiro, The Art of Prolog - 2nd Edition: Advanced Programming Techniques, MIT Press, 1994, ISBN=0-262-69163-9
Métodos de Ensino
Aulas de exposição teórica e discussão de tópicos relevantes e trabalho prático, em computador, fora das aulas.
Software
- Interpretador Hugs para Unix, Macintosh ou Windows
- Yap Prolog para Linux, Solaris ou Windows
- JRE 1.5 para Unix, Macintosh ou Windows
Modo de Avaliação
Avaliação distribuída com exame final.
Componentes de Avaliação
Trabalho prático e Exame final.
Cálculo da Classificação Final
Nota = 0,4 * prática + 0,6 * Exame.
Obtenção de Frequência
Classificação de 50% no trabalho prático e de 40% em cada relatório de projecto.
Provas e Trabalhos Especiais
Não há provas nem trabalhos especiais.
A disciplina tem avaliação prática requerida a todos os inscritos e que é o resultado da realização dos trabalhos práticos nas épocas em que são propostos.
Avaliação Especial (TE, DA, ...)
A avaliação prática, realizada durante o semestre de funcionamento da disciplina, é exigida a todos os alunos, independentemente do regime de inscrição e da necessidade de obter avaliação de frequência.
Melhoria de Classificação Final/Distribuída
A nota de exame pode ser melhorada em época de recurso.
Apenas pode ser melhorada a classificação do exame.