2023
Arquiteturas e Linguagens de Programação Não-Convencionais
Nome: Arquiteturas e Linguagens de Programação Não-Convencionais
Cód.: INF13265M
6 ECTS
Duração: 15 semanas/156 horas
Área Científica:
Informática
Língua(s) de lecionação: Português
Língua(s) de apoio tutorial: Português
Objetivos de Desenvolvimento Sustentável
Objetivos de Aprendizagem
Desenvolver os conhecimentos e a prática dos alunos na área dos sistemas distribuídos, com ênfase na programação de sistemas paralelos multicore e distribuídos, com recurso a plataformas de cluster e "cloud computing", adquirindo técnicas de desenvolvimento adequadas a programação concorrente usando arquiteturas computacionais e linguagens de programação adequadas
Conteúdos Programáticos
Arquitecturas paralelas UMA e NUMA.
Memória partilhada.
Sistemas de memória DSM.
Programação de sistemas concorrentes com POSIX Threads, programação distribuída MPI.
Virtualização.
Linguagens para sistemas concorrentes.
Linguagens de fluxos (streaming).
Grids e infrastrutura de Cloud (SaaS/PaaS/IaaS).
Metodologia de análise de desempenho.
Memória partilhada.
Sistemas de memória DSM.
Programação de sistemas concorrentes com POSIX Threads, programação distribuída MPI.
Virtualização.
Linguagens para sistemas concorrentes.
Linguagens de fluxos (streaming).
Grids e infrastrutura de Cloud (SaaS/PaaS/IaaS).
Metodologia de análise de desempenho.
Métodos de Ensino
As aulas dividem-se em aulas teóricas, em que são expostos os problemas e as técnicas a usar, e em que são desenvolvidos e analisados algoritmos, e aulas práticas, onde são usadas as técnicas expostas e onde é proposto aos estudantes a aplicação a problemas práticos.
Procura-se uma aprendizagem que direcione o aluno para a aplicação dos diversos conhecimentos adquiridos, e para a capacitação do aluno para pesquisar e adquirir novos conhecimentos, sendo suportada pela plataforma informática de ensino (e.g. moodle), permitindo incluir componentes de ensino por e-learning.
A avaliação é realizada através da elaboração dum trabalho prático e de testes escritos ao longo do semestre ou, em alternativa a estes, de um exame final.
Procura-se uma aprendizagem que direcione o aluno para a aplicação dos diversos conhecimentos adquiridos, e para a capacitação do aluno para pesquisar e adquirir novos conhecimentos, sendo suportada pela plataforma informática de ensino (e.g. moodle), permitindo incluir componentes de ensino por e-learning.
A avaliação é realizada através da elaboração dum trabalho prático e de testes escritos ao longo do semestre ou, em alternativa a estes, de um exame final.
Bibliografia
A bibliografia da disciplina baseia-se em diversos recursos incluindo recursos de acesso livre, e/ou através do sistema b-On, acessíveis via internet por todos os alunos da universidade, e atualizados sempre que necessário:
Artigos | Papers:
(To be assigned during the course)
Livros | Books:
Computer Architecture: A Quantitative Approach, 4th Edition, John Hennessy and David Patterson, Morgan Kaufmann publishers, ISBN: 0-12-370490-1, 2006.
Distributed and Cloud Computing: From Parallel Processing to the Internet of Things, Hwang, Dongarra & Fox, Morgan Kaufmann, ISBN: 9780123858801, 2011.
Artigos | Papers:
(To be assigned during the course)
Livros | Books:
Computer Architecture: A Quantitative Approach, 4th Edition, John Hennessy and David Patterson, Morgan Kaufmann publishers, ISBN: 0-12-370490-1, 2006.
Distributed and Cloud Computing: From Parallel Processing to the Internet of Things, Hwang, Dongarra & Fox, Morgan Kaufmann, ISBN: 9780123858801, 2011.