Código: | CC4013 | Sigla: | CC4013 | Nível: | 400 |
Áreas Científicas | |
---|---|
Classificação | Área Científica |
OFICIAL | Ciência de Computadores |
Ativa? | Sim |
Unidade Responsável: | Departamento de Ciência de Computadores |
Curso/CE Responsável: | Mestrado em Ciência de Computadores |
Sigla | Nº de Estudantes | Plano de Estudos | Anos Curriculares | Créditos UCN | Créditos ECTS | Horas de Contacto | Horas Totais |
---|---|---|---|---|---|---|---|
M:CC | 15 | PE a partir do ano letivo de 2014 | 1 | - | 6 | 42 | 162 |
MI:ERS | 2 | Plano Oficial desde ano letivo 2014 | 4 | - | 6 | 42 | 162 |
Estudo de modelos formais sintácticos e semânticos de linguagens de programação, de forma a compreender os mecanismos envolvidos na definição, desenho e implementação de linguagens de programação.
Os alunos vão adquirir conhecimentos sobre modelos formais sintácticos e semânticos de linguagens de programação. Pretende-se ainda desenvolver as capacidades técnicas e os mecanismos envolvidos na definição, desenho e implementação de linguagens de programação. Como os conhecimentos adquiridos, os alunos deverão ser capazes de formalizar o conceito de qual o significado de um programa.
Teoria das definições indutivas.
Lambda-calculus: sintaxe, reduções, codificação de construtores típicos de linguagens de programação.
Sistemas de tipos: o sistema de tipos simples à la Curry para o lambda-calculus; polimorfismo paramétrico, sistemas com sub-tipos. Inferência de tipos.
Semântica operacional. 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. 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.
Semânticas de linguagens concorrentes. Não-determinismo e paralelismo. O cálculo CCS de Milner (Cálculo de Sistemas de Comunicação).
Aulas teóricas-práticas com exposição de matéria.
Designação | Peso (%) |
---|---|
Teste | 100,00 |
Total: | 100,00 |
A disciplina será leccionada em dois módulos independentes. No final de cada módulo será realizado um teste cobrindo a matéria leccionada no módulo. Adicionalmente poderão ser propostos projectos laboratoriais em cada módulo sendo o peso desses projectos na classificação final do módulo, a determinar pelo docente responsável pelo módulo.
A classificação final da disciplina será obtida da média das classificações dos dois módulos (com um peso de 50% para cada módulo).