- Docente: Walter Cerroni
- Credits: 6
- SSD: ING-INF/05
- Language: English
- Moduli: Walter Cerroni (Modulo 1) Davide Borsatti (Modulo 2)
- Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2)
- Campus: Bologna
- Corso: Second cycle degree programme (LM) in Telecommunications Engineering (cod. 9205)
-
from Feb 19, 2025 to Apr 16, 2025
-
from Apr 30, 2025 to Jun 12, 2025
Learning outcomes
Knowledge related to the technologies needed for management and usage of computer networks and distributed systems.
Course contents
MODULE 1 - PRINCIPLES AND MODELS FOR DISTRIBUTED SYSTEMS
- Introduction to Distributed Systems, architectures.
- Processes, threads, virtualization, scalability.
- DNS and HTTP protocols.
- Communications, socket programming, APIs, remote procedure call.
- Introduction to the Python programming language.
- Practical lab exercises on the above topics.
MODULE 2 - APPLICATIONS OF DISTRIBUTED SYSTEMS IN TELECOMMUNICATIONS
- Cloud computing and service orchestration, OpenStack, Kubernetes.
- Network Function Virtualization (NFV), Open Source MANO.
- Software-Defined Networking (SDN), NETCONF.
- Practical lab exercises on the above topics.
Readings/Bibliography
- M. van Steen, A. S. Tanenbaum, "Distributed Systems," 4th Edition, 2023, ISBN: 978-90-815406-3-6.
- Other material provided by the instructors.
Teaching methods
The course consists of lectures to introduce concepts, principles, and models, followed by some practical or lab-based hands-on sessions. Lab exercises are also intended to stimulate teamwork skills.
In view of the type of activity and teaching methods adopted, the attendance of this course requires the prior participation of all students in Modules 1 and 2 of the Health and Safety Training, in e-learning mode.
Assessment methods
The final examination will assess the student's ability to understand the principles and applications of distributed systems. Students will be asked to answer a few questions on the whole set of course topics, and report on the practical exercises or hands-on sessions performed during the course.
Teaching tools
Python language programming environment.
Software tools for network management and protocol analysis.
Linux-based workstations and virtual machine hypervisors and/or container management systems.
Software platforms for service orchestration.
Office hours
See the website of Walter Cerroni
See the website of Davide Borsatti
SDGs

This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.