Programação Concorrente
Description
Objetivos
São objetivos desta UC dotar os alunos com conhecimentos e competência suficientes para a programação de aplicações concorrentes. No fim da UC os alunos serão capazes de: - Compreendera os conceitos teóricos relacionados com programação concorrente e paralela - Compreender os ganhos, benefício, limitações do uso de programação concorrente - Compreender, comparar e avaliar diversos modelos de programação concorrente - Avaliar a aplicabilidade e aplicar diversas tecnologias de programação concorrente - Aplicar tecnologias de programação concorrente no desenvolvimento de aplicações
Programa
Modelos de paralelismo (bit, instrução, dados, tarefas) Programação Paralela vs programação concorrente Modelos de concorrência Programação multitarefa Sincronização no acesso aos dados Programação funcional Programming asíncrona Map reduce
Pré Requisitos
Programação Algoritmos e Estruturas de Dados
Competências Transversais
PENSAMENTO ESTRATÉGICO / PENSAMENTO CRÍTICO / ESTRATÉGIAS DE RESOLUÇÃO DE PROBLEMAS Durante a resolução do projeto os alunos serão deparados com séries de desafios e opções que os obrigarão a tomar decisão. nesta fase será apresentadas e exercitadas estas competências. A avaliação do projeto terá em conta a qualidade das soluções apresentadas pelos alunos, refletido diretamente estas competência, sendo atribuído na nota final um peso de cerca da 10%. COMUNICAÇÃO ESCRITA / ESTRUTURAÇÃO E FORMATAÇÃO DE RELATÓRIOS E APRESENTAÇÕES A entrega do projeto será acompanhada por um relatório. Uma das componentes da avaliação corresponde precisamente à do relatório onde será tido em conta a estrutura, clareza, qualidade do documento, mas também a capacidade de apresentar os conceitos técnicos. Corresponde a 10% da nota. TRABALHO EM EQUIPA Como o projeto será realizado em grupos de alunos, esta competência será desenvolvida durante a UC e indiretamente avaliada no projeto.
Componente Laboratorial
Os laboratórios servirão numa fase inicial da UC para a realização de exercícios ilustrativos do conceitos, técnicas e tecnologias relevantes. Serão apresentados enunciados que os alunos deverão iniciar a resolução antes do laboratório e deverão continuar depois. Numa fase terminal da UC os laboratórios servirão para a realização acompanhada do projecto.
Componente de Programação
Todos os conceitos leccionados nesta UC e aprendidos pelos alunos estão relacionados com competências de programação de computadores e sistemas informáticos. Os laboratórios e projeto requerem a programação de aplicações e sistemas paralelos.
Princípios Éticos
Todos os membros de um grupo são responsáveis pelo trabalho do grupo. Em qualquer avaliação, todo aluno deve divulgar honestamente qualquer ajuda recebida e fontes usadas. Numa avaliação oral, todo aluno deverá ser capaz de apresentar e responder a perguntas sobre toda a avaliação.