Disciplina Curricular

Programação para Cluster e Multicore PCMul

Curso de Especialização em Informática - 11_Plano actual

Contextos

Grupo: 11_Plano actual > Especialização > Optativas > 829_Curso de Especialização em Informática - CTP

Período:

Grupo: 11_Plano actual > Especialização > Optativas > 833_Curso de Especialização em Informática

Período:

Peso

6.0 (para cálculo da média)

Objectivos

Estudar programação concorrente com ênfase na correção e na produtividade. Aprender novas abstrações de programação para a concorrência que serão úteis para a programação de clusters de computadores multi-core. Introduzir técnicas de raciocínio sobre o comportamento e o desempenho de programas paralelos. Compreender e ser proficiente no uso de diferentes linguagens de programação e nos seus ambientes de desenvolvimento.

Programa

- O modelo de atores. - Programação com streams. - Barreiras. - A abstração Map-Reduce. - Memória transacional por software. - Os alunos irão estudar programas paralelos retirados de diferentes domínios aplicacionais. - Os alunos irão trabalhar com diversas linguagens de programação modernas, incluindo, possivelmente, as linguagens Chapel, Erlang, Go, Haskell, Scala, e Rust.

Metodologia de avaliação

Métodos de ensino: exposição da matéria em aulas teóricas e acompanhamento aos alunos. Avaliação: - Trabalhos escritos; - Projetos de programação; - Exame final.

Disciplinas Execução

2018/2019 - 1 Semestre