Learning the models, methods, mechanisms, and instruments for the development of middleware. Learning actual problems in the domains of distributed systems and computer networks. Understanding and acquiring knowledge on the state of the art solutions for solving complex problems in distributed systems, related to: interprocess communication, data replication and consistency, fault tolerance, and security in large distributed systems (Internet, Grids). Study of heterogeneous systems based on objects, wireless networks and mobile agents. Distributed systems analysis for computing intensive and data intensive applications.