Programa
Mestrado em Engenharia Informática
Programa
O programa da disciplina é razoavelmente flexível. A importância relativa dada aos temas tratados, bem com o número de temas tratados, podem variar. É também possível que sejam abordados temas que ultrapassam este programa. Recomenda-se a leitura dos sumários de anos anteriores.
- Programação genérica e a STL
- Noções de genericidade
- Formas de representação
- Contentores e iteradores
- Algoritmos genéricos
- Classes traço
- Metaprogramação
- Metaprogramação
- Noções básicas
- Idiomas e padrões
- Políticas de implementação
- Utilidade para geração de código e resolução do problema da sincronização
- Implementação de padrões de desenho usando metaprogramação
- Programação Orientada para Aspectos
- Preocupações seccionantes
- Preocupação que seccionam o código
- Pontos de junção (join points), secções (pointcuts), conselhos (advice) e aspectos (aspects)
- Introdução à linguagem AspectJ
- Desenvolvimento de bibliotecas
- Importância
- Diferenças face ao desenvolvimento ad hoc
- Exemplo do Boost: Boost Graph Library
- Outros tópicos
- Utilização de frameworks para testes funcionais e de unidade
- Programação por contrato