Sistemas Distribuídos
Áreas Científicas |
Classificação |
Área Científica |
OFICIAL |
Sistemas Operativos e Redes |
Ocorrência: 2010/2011 - 2S
Ciclos de Estudo/Cursos
Língua de trabalho
Português - Suitable for English-speaking students
Objetivos
Dotar os estudantes com a capacidade de:
- conceber e implementar aplicações distribuídas relativamente simples
- avaliar a adequação de soluções distribuídas para diversos problemas.
Programa
Introdução aos sistemas distribuídos e à computação em rede. Modelos de comunicação: troca de mensagens, invocação remota de funções. Objectos distribuídos. Nomes: identificação e localização. Segurança. Sincronização. Replicação e consistência. Tolerância a falhas.
Bibliografia Obrigatória
Andrew S. Tanenbaum, Maarten van Steen;
Distributed systems. ISBN: 0-13-613553-6
Tanenbaum, Andrew S.;
Distributed systems. ISBN: 0-13-088893-1 (Primeira edição. Disponível na Biblioteca.)
Bibliografia Complementar
Coulouris, George;
Distributed systems. ISBN: 0-201-61918-0
Métodos de ensino e atividades de aprendizagem
As aulas teóricas são de exposição, apresentadas normalmente com auxílio de projector. Sempre que fôr adequado, exemplos que ajudem à compreensão dos tópicos serão apresentados. A matéria exposta segue de perto a contida no livro de Tanenbaum e van Steen. Para complementar este livro, em tópicos muito pontuais, serão fornecidos apontamentos ou artigos.
Ao longo do semestre serão propostos problemas de programação e outros para consolidação dos conceitos apresentados nas aulas teóricas. Estes problemas serão discutidos nas aulas teórico-práticas, mas espera-se que os estudantes os resolvam fora das aulas.
Software
Android
JDK 1.6
Unix
Tipo de avaliação
Avaliação distribuída com exame final
Componentes de Avaliação
Descrição |
Tipo |
Tempo (Horas) |
Peso (%) |
Data Conclusão |
Participação presencial (estimativa) |
Participação presencial |
50,00 |
|
|
Exame teórico |
Exame |
2,00 |
|
|
Projecto |
Trabalho escrito |
50,00 |
|
|
Terminar problemas começados nas aulas práticas |
Exame |
19,00 |
|
|
|
Total: |
- |
0,00 |
|
Componentes de Ocupação
Descrição |
Tipo |
Tempo (Horas) |
Data Conclusão |
Estudo teórico |
Estudo autónomo |
39 |
|
|
Total: |
39,00 |
|
Obtenção de frequência
Não ultrapassagem do número limite de faltas e obtenção de um mínimo de 45% no projecto final.
Fórmula de cálculo da classificação final
0,5 PP + 0,1PA + 0,4ET
onde:
PP - Nota global dos projectos
PA - Classificação da participação nas Aulas/Discussões
ET - Classificação do Exame Teórico
Para aprovação à disciplina, os estudantes deverão ter uma classificação mínima de 40% quer no exame teórico quer no projecto. Uma nota final positiva não pode ser superior em mais de 3 (três) valores (na escala de 20) à nota mais baixa das componentes.
Provas e trabalhos especiais
Dois projectos de implementação de sistemas distribuidos. Será uma mais valia se o sistema implementado no segundo projecto for móvel, nomeadamente usando a plataforma Android.
Exame teórico com duração de 2 horas, com consulta duma folha ("cheat sheet").
Avaliação especial (TE, DA, ...)
Idêntica à dos estudantes em regime normal, exceptuando a componente de participação nas aulas. Assim, a fórmula de cálculo da classificação final será:
0,5PP + 0,5ET
onde:
PP - Nota global dos projectos
ET - Classificação do Exame Teórico
Os estudantes em regime especial devem contactar o regente da unidade curricular para agendarem as datas da avaliação referentes ao projecto.
Melhoria de classificação
A melhoria da classificação do exame teórico é realizada mediante submissão a outro exame teórico semelhante ao da época normal ( e com o mesmo peso) nas épocas previstas para o efeito. Ressalva-se que a melhoria para classificações superiores a 18 valores requer a submissão a um exame oral, que incidirá não só sobre aspectos teóricos mas também sobre aspectos práticos.
A melhoria da classificação do projecto final é realizada mediante da submissão de outro projecto, tendo este de ser discutido com o docente antes de ser implementado.
Observações
As aulas poderão ser dadas em Inglês se todos os alunos inscritos concordarem.
Como pré-requisitos que possibilitem o sucesso no aproveitamento da disciplina, espera-se que os alunos:
- tenham experiência de programação em Java ou C e C++;
- tenham conhecimentos básicos de sistemas operativos;
- frequentem (ou tenham frequentado) a disciplina de redes de computadores.
Os alunos são instados a ter uma conduta académica honesta. Os casos detectados de prevaricação serão apresentados ao Director de Curso.