Disciplina Curricular

Linguagens de Programação LPro

Mestrado Bolonha em Engenharia Informática e de Computadores - Taguspark - MEIC-T 2021

Contextos

Grupo: MEIC-T 2021 > 2º Ciclo > Área Principal > Agrupamentos > Algoritmos e Aplicações

Período:

Peso

6.0 (para cálculo da média)

Objectivos

Compreender conceitos fundamentais em linguagens de programação. Adquirir e utilizar ferramentas para estudar rigorosamente programas de computador e para resolver problemas que envolvem linguagens de programação. Utilizar assistentes de prova interactivos. Desenhar e modelar linguagens de programação simples. Provar formalmente propriedades de programas e de linguagens de programação.

Programa

Breve história das linguagens de programação. Estudo de um assistente de prova (e.g. Coq): programação funcional, tipos de dados estruturados, polimorfismo, funções de ordem superior, provas (por simplificação, reescrita, análise de casos, indução). Sintaxe de uma linguagem de programação: árvores sintácticas abstractas, variáveis, bindings, scopes. Semântica de uma linguagem de programação: semântica operacional, semântica via interpretadores, avaliação computacional vs relacional, semântica axiomática e lógica de Hoare, semântica operacional small-step. Tipos, Cálculo Lambda simplesmente tipado, tipagem e subtyping.

Metodologia de avaliação

Projecto (50%) + Exame (50%)

Disciplinas Execução