Saltar para:
This page in english Ajuda Autenticar-se
ESTS
Você está em: Início > INF32208
Autenticação




Esqueceu-se da senha?

Mapa das Instalações
Edifício ESTS Bloco A Edifício ESTS Bloco B Edifício ESTS Bloco C Edifício ESTS Bloco D Edifício ESTS Bloco E Edifício ESTS BlocoF

Computação Paralela e Distribuída

Código: INF32208     Sigla: CPD

Áreas Científicas
Classificação Área Científica
OFICIAL Informática

Ocorrência: 2023/2024 - 2S

Ativa? Sim
Unidade Responsável: Departamento de Sistemas e Informática
Curso/CE Responsável: Licenciatura em Engenharia Informática

Ciclos de Estudo/Cursos

Sigla Nº de Estudantes Plano de Estudos Anos Curriculares Créditos UCN Créditos ECTS Horas de Contacto Horas Totais
INF 134 Plano de Estudos 2 - 6 52,5 162

Docência - Responsabilidades

Docente Responsabilidade
João Miguel Jones Ventura Responsável

Docência - Horas

Ensino Teórico-Prático: 1,50
Ensino Prático e Laboratorial: 2,00
Tipo Docente Turmas Horas
Ensino Teórico-Prático Totais 2 3,00
João Miguel Jones Ventura 3,00
Ensino Prático e Laboratorial Totais 6 12,00
Aníbal Paulo Lopes da Ponte 4,00
Luís Miguel Lopes de Oliveira Esteves 8,00

Língua de trabalho

Português - Suitable for English-speaking students
Obs.: Há versões em inglês do material de estudo e a bibliografia principal é em língua inglesa.

Objetivos

Os estudantes deverão ser capazes de conhecer e compreender as técnicas e paradigmas da computação paralela e distribuída de modo a conceber algoritmos e aplicações multithread que envolvam comunicação entre computadores.

Resultados de aprendizagem e competências

Enuncia e compara diversas topologias de redes de computadores e descreve corretamente o funcionamento das redes locais (cabeadas ou não) e da Internet e dos paradigmas cliente/servidor e peer-to-peer.
Enuncia os diversos modelos da computação paralela e da computação distribuída.
Programa e descreve o funcionamento dum programa que utiliza técnicas de multiprogramação como semáforos.
Programa aplicações para computadores que façam uso dos recursos do computador de forma eficiente usando e dominando técnicas de multiprogramação e sincronização de threads/processos e programação paralela a partir dum problema.
Resolve problemas da sua área recorrendo a diferentes abordagens da computação paralela e distribuída.

Modo de trabalho

Presencial

Pré-requisitos (conhecimentos prévios) e co-requisitos (conhecimentos simultâneos)

É desejável que os estudantes tenham conhecimento prévio de linguagens e ambientes de programação e sistemas operativos incluindo algoritmos de escalonamento. Noções de programação REST para a web devem ser adquiridas se não existentes.

Programa

Aulas Teórico/Práticas
1. Introdução à computação paralela
2. Arquitecturas de sistemas paralelos
3. Programação com bibliotecas de computação paralela
4. Introdução aos sistemas distribuídos
5. Computação paralela vs computação distribuída
6. Modelos e arquitecturas de sistemas distribuídos
7. Networking e protocolo TCP/IP
8. Transacções, falhas e segurança
9. Web Services e Cloud Computing

Aulas Laboratoriais
0. Conceitos importantes da linguagem Python
1. Vetores e Matrizes em Python
2. Introdução ao Paralelismo em Python
3. Utilização de Threads
4. Utilização de Processos
5. Pipelining
6. Pthreads e OpenMP
7. Aplicações com Sockets
8. Aplicações com Sockets (continuação)
9. Webservices
10. Webservices (continuação)

Bibliografia Obrigatória

Tanenbaum Andrew; Distributed Systems: Principles and Paradigms, 2017
T. Rauber, G. Runger; Parallel Programming for Multicore and Cluster Systems, 2013. ISBN: 978-3-642-37801-0

Bibliografia Complementar

Kai Hwang, Geoffrey C. Fox, Jack J. Dongarra; Distributed and Cloud Computing - From Parallel Processing to the Internet of Things, 2012
C. Lin, L. Snyder; Principles of Parallel Programming, 2009. ISBN: 978-0-321-48790-2

Observações Bibliográficas

Os elementos de apoio à disciplina encontram-se no Moodle.

Métodos de ensino e atividades de aprendizagem

Aulas TP: As aulas TP recorrerão à demonstração e resolução de situações potencialmente problemáticas com recurso a meios computacionais, com vista à introdução das diferentes técnicas de programação paralela e distribuída que compõem o conteúdo programático da UC.

Aulas Práticas: resolução de exercícios de uma forma mais autónoma, num ambiente de desenvolvimento, sendo possível o aluno utilizar o próprio computador se desejar.
Elaboração de trabalhos práticos ao longo do semestre, certificadores das várias técnicas lecionadas.

Software

VSCode
MinGW
PyCharm
Python3

Palavras Chave

Ciências Físicas > Ciência de computadores > Programação > Engenharia de software
Ciências Tecnológicas > Tecnologia > Tecnologia de computadores > Tecnologia de software

Tipo de avaliação

Avaliação distribuída sem exame final

Componentes de Avaliação

Designação Peso (%)
Participação presencial 10,00
Teste 75,00
Trabalho laboratorial 15,00
Total: 100,00

Componentes de Ocupação

Designação Tempo (Horas)
Frequência das aulas 52,50
Estudo autónomo 46,00
Trabalho escrito 0,00
Trabalho laboratorial 46,00
Total: 144,50

Obtenção de frequência

O aluno poderá optar por uma avaliação contínua ou por exame.

NOTAS IMPORTANTES:
1. A obtenção de nota mínima nos mini-testes (7,5 valores), é um requisito para ser aprovado em avaliação contínua.
2. A obtenção de nota mínima no teste (8,5 valores) é um requisito para ser aprovado em avaliação contínua.
3. A aprovação em exame depende de nota igual ou superior a 9,5 valores, valendo 100% da avaliação.
2. Independentemente do aluno optar pela avaliação por exame ou por avaliação contínua, é ABSOLUTAMENTE OBRIGATÓRIA a inscrição prévia nas provas de avaliação DENTRO DOS PRAZOS ESTABELECIDOS. As inscrições efetuam-se através da plataforma Moodle.
Aos alunos que não se encontrarem inscritos dentro dos prazos previamente estabelecidos será vedado o acesso à respetiva prova.

Fórmula de cálculo da classificação final

- (AAM) Auto-avaliações (questionários) no Moodle.
- (MTPL) Mini-testes sobre a componente prática: 03. Nota mínima: 7,5 valores
- (MTTP) Mini-testes sobre a componente teórica: 03. Nota mínima da média: 7,5 valores
- (TES) Teste: 01 no final do semestre. Nota mínima: 8,5 valores.

- (EXA) Exame final para colmatar a reprovação na avaliação contínua.

Avaliação contínua (AC): 60% TES + 15% MTPL+ 15% MTTP + 10% AAM

Avaliação por exame final (EF): 100% EXA

Aprovação: AC >= 9,5 ou EF >= 9,5

Observação: Os mini-testes PL e TP serão na mesma aula de laboratório.

Recomendar Página Voltar ao Topo
Copyright 1996-2024 © Instituto Politécnico de Setúbal - Escola Superior de Tecnologia de Setúbal  I Termos e Condições  I Acessibilidade  I Índice A-Z
Página gerada em: 2024-11-23 às 13:04:07