Programação avançada

Docentes

João TrindadeLuís Falcão

Carga Lectiva

4 semanas, 10h / semana (total de 40h)

Objectivos

Este módulo tem por objectivo dotar os participantes com a capacidade de compreensão e utilização de técnicas actuais de programação em C# 3.0, 3.5 e 4.0, conseguindo identificar problemas a que estas se adequam.

Resultados da aprendizagem

  • Compreender as limitações da programação imperativa na resolução de determinados problemas e saber colmatar essas limitações com a aplicação de paradigmas alternativos, suportados nas novas construções da linguagem C#;
  • Saber ler e intervir na codificação de um programa que utiliza as novas funcionalidades da linguagem C#;
  • Reformular programas legados às necessidades das aplicações actuais utilizando as novas funcionalidade da linguagem C# e framework .NET.

Programa

  • C# 2.0
    • Genéricos: definição de tipos e métodos genéricos; suporte para genéricos em linguagem intermédia; variância de tipos genéricos; tipos anuláveis; colecções genéricas da BCL;
    • Métodos anónimos: definição de métodos anónimos; captura de variáveis; representação interna; exemplos de utilização;
    • Iteradores: implementação de enumeráveis e enumeradores genéricos e retrocompatíveis; definição de iteradores; representação interna; exemplos de utilização.
  • C# 3.0
    • Apresentação do Projecto LINQ como motivação para as extensões apresentadas na versão 3.0 da linguagem C#
    • Inferência do tipo de variáveis locais
    • Métodos de extensão
    • Expressões Lambda
    • Iniciadores de Objectos e de Colecções
    • Tipos Anónimos
    • Expression Trees
    • Expressões de Query
    • O projecto LINQ
      • LINQ para Objectos e Standard Query Operators
      • LINQ para Sql
      • LINQ para XML
  • Dynamics
    • Tipos dinâmicos
    • Operações dinâmicas
    • Runtime lookup

Comments are closed.