6 ECTS; 3º Ano, 1º Semestre, 28,0 T + 42,0 PL + 5,0 OT + 5,0 O
Basics of computer programming, data structures and networking.
Students will be provided with theoretical and practical knowledge on distributed systems. They should have a good command of general techniques of design, implementation and operation of distributed systems and be able to program distributed applications.
1 - Introduction to distributed systems
2 - Parallel and concurrent programming
- Parallelization Methods for algorithms
- Programming with Threads
- Concurrent access to resources
- Computational Load Balancing
3 - Distributed Systems Programming
- Programming with Sockets
- Programming with remote objects
- Security of distributed systems
4 - Distributed web programming
- Web protocols
- Web Architecture
- Web Services
- Mobile devices programming
Practical assignments and closed-book written test.
- Cardoso, J. (2010). Programação de Sistemas Distribuídos em Java. Lisboa: FCA
- Alves Marques, J. e Guedes, P. (1998). Tecnologia de Sistemas Distribuídos. (Vol. 1). Lisboa: FCA
- Coulouris, G. e Dollimore, J. (2011). Distributed Systems: Concepts and Design. (Vol. 1). USA: Addison Wesley
- Guedes, P. e Marques, J. (1998). Tecnologia de Sistemas Distribuídos. Lisboa: FCA - Editora de Informática
Method of interaction
Lectures and laboratory classes.
Software used in class