Programa

Mestrado em Engenharia de Telecomunicações e 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.

  1. Programação genérica e a STL
    1. Noções de genericidade
    2. Formas de representação
    3. Contentores e iteradores
    4. Algoritmos genéricos
    5. Classes traço
  2. Metaprogramação
    1. Metaprogramação
    2. Noções básicas
    3. Idiomas e padrões
    4. Políticas de implementação
    5. Utilidade para geração de código e resolução do problema da sincronização
    6. Implementação de padrões de desenho usando metaprogramação
  3. Programação Orientada para Aspectos
    1. Preocupações seccionantes
    2. Preocupação que seccionam o código
    3. Pontos de junção (join points), secções (pointcuts), conselhos (advice) e aspectos (aspects)
    4. Introdução à linguagem AspectJ
  4. Desenvolvimento de bibliotecas
    1. Importância
    2. Diferenças face ao desenvolvimento ad hoc
    3. Exemplo do Boost: Boost Graph Library
  5. Outros tópicos
    1. Utilização de frameworks para testes funcionais e de unidade
    2. Programação por contrato