Fundamentos de Linguagens de Programação
Áreas Científicas |
Classificação |
Área Científica |
OFICIAL |
Ciência de Computadores |
Ocorrência: 2010/2011 - 1S
Ciclos de Estudo/Cursos
Língua de trabalho
Português
Objetivos
Estudo da semântica de linguagens de programação.
Programa
Semântica operacional.
Teoria das definições indutivas.
Técnicas de demonstração de propriedades de semânticas operacionais.
Teoria de domínios: Ordens parciais completas (CPOs). Funções contínuas. Teorema do ponto-fixo.
Semântica denotacional de linguagens de programação.
Relação entre as semânticas operacionais e denotacionais.
Semântica axiomática: Regras de demonstração de correcção parcial de programas. Lógica de Hoare. Integridade da semântica axiomática
Programas recursivos e regras de computação.
Semântica operacional do lambda-calculus
Semântica de uma linguagem declarativa com definições recursivas de funções.
Semântica de linguagens funcionais.
Sistemas de tipos para linguagens funcionais. O sistema de tipos simples à la Curry para o lambda-calculus. Inferência de tipos.
Bibliografia Obrigatória
Nielson and Nielson; Semantics with Applications: an appetizer, 2007
Chris Hankin; An Introduction to Lambda Calculus for Computer Scientis
Bibliografia Complementar
G. Winskel; The Formal Semantics of Programming languages, 1993
H. Barendregt; The Lambda Calculus: its syntax and semantics, 1985
Métodos de ensino e atividades de aprendizagem
Aulas teóricas e teórico práticas com casos de estudo.
Tipo de avaliação
Avaliação distribuída com exame final
Componentes de Avaliação
Descrição |
Tipo |
Tempo (Horas) |
Peso (%) |
Data Conclusão |
Participação presencial (estimativa) |
Participação presencial |
63,00 |
|
|
|
Total: |
- |
0,00 |
|
Fórmula de cálculo da classificação final
Trabalhos: 8 valores
Exame final: 12 valores
Provas e trabalhos especiais
Dois trabalhos.
Melhoria de classificação
Por exame de melhoria (valorizado em 12 valores) + nota obtida nos trabalhos