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.