cod. 1000084

Academic year 2016/17
2° year of course - Second semester
Academic discipline
Sistemi di elaborazione delle informazioni (ING-INF/05)
Ingegneria informatica
Type of training activity
63 hours
of face-to-face activities
9 credits
hub: PARMA
course unit
in - - -

Learning objectives

The goal of the course is to provide an in-depth knowledge on the algorithms used to guarantee an efficient and effective behavior of a distributed system, on their reference models and architectures, and on the techniques and some technologies used for their development.
Moreover, the course has the goal to provide to the students the ability to use the acquired knowledge and the experience, gained during the lab activities, to identify the best-distributed solutions to a problem and to develop satisfying implementations for both the properties and the cost of the developed system.


Software Engineering, Database Systems.

Course unit content

The course presents the main features of distributed systems and the techniques and technologies for their development. In particular, the course cope with the following topics: architecture and computing models, design and performance analysis, concurrent and distributed programming languages, middleware, naming resolution algorithms, synchronization and coordination, replication, fault tolerance, security, distributed transactions, service oriented systems, multi-agent systems, modeling and simulation, development technologies, and applications.

Full programme

Architecture and computing models
Design and performance analysis
Concurrent and distributed programming languages
Naming resolution algorithms
Synchronization and coordination
Fault tolerance
Distributed transactions
Service oriented systems
Multi-agent systems
Modeling and simulation
Development technologies


G. Coulouris, J. Dollimore, T. Kindber. Distributed Systems - Concepts and Design, Addison Wesley, Fifth Edition, 2012.

Teaching methods

The course is based on theoretical lectures and lab activities. In particular, the lab activities are dedicated to the development of some distributed systems taking advantage of the technologies discussed during the course. In these activities, students work individually, of course under the control and with the support of the professor and without any restriction on positive interaction among them.

Assessment methods and criteria

Evaluation is based on a written test, based on open-ended questions on the theoretical part of the course, and an assignment for the evaluation of practical abilities of students on developing software for distributed systems. The evaluation of the assignment is based on the properties of both the developed system and the related documentation. Written test and assignment are normally both the 50 percent of the grade. There are not midterm tests.

Other information

- - -