Disciplina Curricular

Programação para Cluster e Multicore PCMul

Mestrado Bolonha em Ciência de Dados - 1_MCD 2018/19

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.

Métodos de ensino e 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

2019/2020 - 1 Semestre

2018/2019 - 1 Semestre