Publicação em Diário da República: Despacho n.º16228/2009 - 15/07/2009
6 ECTS; 3º Ano, 1º Semestre, 28,0 T + 42,0 PL + 5,0 OT + 5,0 O , Cód. 911925.
Docente(s)
            - António Manuel Rodrigues Manso (1)(2)
(1) Docente Responsável
(2) Docente que lecciona
Pré-requisitos
          
Objetivos
          1 - Dotar os alunos de conhecimentos teóricos e práticos sobre programação paralela e concorrente
2 - Dotar os alunos de conhecimentos teóricos e práticos sobre sistemas distribuídos.
3 - Dominar as técnicas gerais de concepção, concretização e exploração de sistemas distribuídos.
Programa
          1 - Introdução à computação distribuída
2 - Programação paralela e concorrente
     a. Modelos e arquitetura de sistemas de execução paralela 
     b. Paralelização de algoritmos
     c. Programação com Threads
     d. Acesso concorrente a recursos
     e. Balanceamento de carga
3 - Programação de sistemas distribuídos
     a. Modelos e arquitetura de sistemas distribuídos
     b. Programação com Sockets
     c. Execução remota de procedimentos
     d. Programação com serviços
4 - Segurança de sistemas distribuído
     a. Sistemas confiáveis e ameaças à segurança
     b. Mecanismos de segurança
     c. Projeto e implementação de sistemas seguros
5- Programação de dispositivos móveis
     a. Introdução à mobilidade digital
     b. Programação com o SDK Android
Metodologia de avaliação
          Trabalhos práticos 60% - Mínimo de 10.0 valores em 20. 
Exame Teórico : 40% - mínimo de 7.0 valores em 20
Aos alunos que não obtenham mínimos nos trabalhos práticos será facultado um exame prático em substituição dos mesmos.
Bibliografia
          -  Cardoso, J. (2010). Programação de Sistemas Distribuídos em Java. Lisboa:  FCA
-  Coulouris, G.  e Dollimore, J. (2011). Distributed Systems: Concepts and Design. (Vol. 1). USA:  Addison Wesley
- Alves Marques, J.  e Guedes, P. (1998). Tecnologia de Sistemas Distribuídos. (Vol. 1). Lisboa:  FCA
- Guedes, P.  e Marques, J. (1998). Tecnologia de Sistemas Distribuídos. Lisboa:  FCA - Editora de Informática
Método de Ensino
          Aulas teóricas expositivas para apresentação dos conteúdos programáticos. 
Aulas práticas laboratoriais para resolução de problemas e consolidação de conhecimentos  Acompanhamento e orientação no desenvolvimento de projectos de Sistemas Distribuidos
Software utilizado nas aulas
          - Java Development Kit
- Netbeans
- Android Studio
Aprovado em Conselho Técnico Cientifico: 21 de junho de 2021
Download da Ficha da Unidade Curricular (FUC)

















