Sistemas Distribuídos
Áreas Científicas |
Classificação |
Área Científica |
OFICIAL |
Sistemas Operativos e Redes |
Ocorrência: 2007/2008 - 1S
Ciclos de Estudo/Cursos
Língua de trabalho
Português
Objetivos
Dotar os alunos 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. Sincronização. Replicação e consistência. Tolerância a falhas. Segurança. Infraestruturas para o desenvolvimento de sistemas distribuídos.
Bibliografia Obrigatória
Tanenbaum, Andrew S.;
Distributed systems. ISBN: 0-13-088893-1 (Primeira edição. Disponível na Biblioteca.)
Andrew S. Tanenbaum and Maarten van Steen; Distributed Systems: Principles and Paradigms, 2/E, Prentice-Hall, 2007. ISBN: 9780132392273 (Segunda edição. Ainda não disponível na Biblioteca.)
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 problemas teóricos 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 alunos os resolvam fora das aulas.
Software
Unix
Jini 1.2 ou Jini 2.0
JDK 1.4 ou JDK 1.5
Tipo de avaliação
Avaliação distribuída com exame final
Componentes de Avaliação
Descrição |
Tipo |
Tempo (Horas) |
Peso (%) |
Data Conclusão |
Aulas da disciplina (estimativa) |
Participação presencial |
56,00 |
|
|
Provas de programação. |
Exame |
5,00 |
|
2007-12-14 |
Exame teórico. |
Exame |
2,00 |
|
|
|
Total: |
- |
0,00 |
|
Componentes de Ocupação
Descrição |
Tipo |
Tempo (Horas) |
Data Conclusão |
Estudo para acompanhamento das aulas teóricas |
Estudo autónomo |
28 |
2007-12-21 |
Preparação e conclusão dos trabalhos das aulas TP. |
Estudo autónomo |
28 |
2007-12-21 |
Preparação para o exame final. |
Estudo autónomo |
16 |
|
|
Total: |
72,00 |
|
Obtenção de frequência
Não ultrapassagem do número limite de faltas e obtenção de um mínimo de 40% na média das notas das provas práticas a realizar ao longo do semestre.
Fórmula de cálculo da classificação final
0,3 PP + 0,1PA + 0,6 ET
onde:
PP - Média das classificações nas Provas de Programação
PA - Classificação da participação nas Aulas
ET - Classificação do Exame Teórico
Para aprovação à disciplina, os alunos deverão ter uma classificação mínima de 50% quer no exame teórico quer na média das classificações das provas de programação.
Provas e trabalhos especiais
3 provas de programação consistindo na resolução de problemas semelhantes aos apresentados nas aulas. Serão realizadas em salas com computadores e cada uma terão a duração total de 1,5 horas, sendo apenas permitida a consulta de documentação existente no computador ou a fornecida pelo docente.
Exame teórico com duração de 2 horas, sem consulta.
Avaliação especial (TE, DA, ...)
Idêntica à dos alunos em regime normal, exceptuando a componente de participação nas aulas. Assim, a fórmula de cálculo da classificação final será:
0,4PP + 06 ET
onde:
PP - Média das classificações nas Provas de Programação
ET - Classificação do Exame Teórico
Em épocas especiais, só se realiza exame teórico, usando-se a classificação das provas de programação realizadas durante a época normal para o cálculo da classificação final.
Melhoria de classificação
Efectuada nas épocas correspondentes, mediante submissão a um exame teórico idêntico ao do da época normal (e com o mesmo peso) e a um exame prático semelhante às provas de programação (e com o mesmo peso).
No entanto, 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.
Observações
Como pré-requisitos que possibilitem o sucesso no aproveitamento da disciplina, espera-se que os alunos tenham
- experiência de programação em C, C++ ou Java;
- conhecimentos básicos de sistemas operativos e 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.