This course introduces some of the main design issues for distributed systems (i.e., systems made of networked computers that communicate and coordinate by passing messages to each other).
Topics like performance, availability and security are discussed, and students make hands-on experience on simulated and real systems.
The course is presented in two versions: a 6 CFU version offered to the students of the Software Security & Engineering (SSE) curriculum, and a 9 CFU version offered to those of the Data Science & Engineering (DSE) curriculum. The 9 CFU version offers a more in-depth introduction to data-intensive systems such as Apache Hadoop and Spark
Learning how to design high quality distributed systems, ranging from classical client-server to peer-to-peer and blockchain-based systems, and applying classical mathematical tools to measure reliability, availability, and fault tolerance.
For the 9 CFU version of the course,
To be successful in this course, students should already know:
Programming skills are required for the practical activities, which will be carried out in Python.
Lectures, practical exercises, and individual study.
For the 9 CFU version:
Scientific papers covering the topics of the syllabus will be suggested during the course. The course material will be presented on Aulaweb.
Ricevimento: By appointment (in person or online), taken via email (matteo.dellamico@unige.it).
Ricevimento: Appointment by email
GIORGIO DELZANNO (President)
MARINA RIBAUDO
MATTEO DELL'AMICO (President Substitute)
In agreement with the calendar approved by the Degree Program Board of Computer Science.
6 CFU version:
Oral examination with discussion of the practical exercises assigned during the course and theory introduced during lectures
9 CFU version:
Evaluation of assignments and written exam.
For each assignment, the quality of the code and the reports will indicate the technical skills acquired by the students.
The oral (6 CFU) and written (9 CFU) exam will allow the teachers to complete their evaluation with questions on the course program.
See the AulaWeb page for the course.