Distributed Programming

Base Knowledge

Java programming language and TCP/IP protocol stack.

Teaching Methodologies

Theoretical lessons: presentation, demonstration and discussion of topics related to the objectives of the curricular unit.
Practical lessons: programming assignments.
Laboratory assignments.
A project assignment.
A final exam.

Learning Results

This curricular unit aims at providing the students the ability to plan and develop object-oriented distributed applications through the use of different programming paradigms/levels of abstraction, i.e., remote communication, remote/distributed objects, and web services. This type of application requires the ability to understand and deal with issues such as concurrency, synchronization, remote communication, and access to remote objects.

Program

Introduction to distributed systems;
Introduction to the message passing paradigm;
Distributed Programming with Windows and Java sockets;
Multithreaded and multicast applications with Java;
Introduction to middleware platforms for distributed applications;
Distributed Programming with Sun RPC;
Distributed object-based programming paradigm;
Distributed Programming with Java RMI;
Distributed Programming with CORBA (Java);
Introduction to web services (Java);
Introduction to the .Net Remoting technology.

Curricular Unit Teachers

Internship(s)

NAO