|SCIENTIFIC DISCIPLINARY SECTOR||INF/01|
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.
The main goal of this course is to understand when it makes sense to move from centralized to distributed systems, and some of the key choices in designing them, taking into account attributes such as availability, reliability, fault tolerance. Peer-to-peer and blockchain-based applications will be presented as examples of such systems.
To be successful in this course, students should already know:
Programming skills are required for the practical activities.
Lectures, practicals, and individual study.
When do you really need a distributed system? Pros and cons of choosing them
Handling distributed data
Making systems consistent
Making systems fast: delving in the design of successful systems
Making systems decentralized: peer-to-peer
Consensus for peer-to-peer systems: blockchains and distributed ledgers
Scientific papers covering the topics of the syllabus will be suggested during the course.
Office hours: Appointment by email
MARINA RIBAUDO (President)
MATTEO DELL'AMICO (President Substitute)
All class schedules are posted on the EasyAcademy portal.
Oral examination with discussion of the practicals assigned during the course.
For each assignment, the quality of the code and the reports will indicate the technical skills acquired by the students.
The oral exam will allow the teachers to complete their evaluation with questions on the course program.
|06/02/2023||09:00||GENOVA||Esame su appuntamento|
|26/06/2023||09:00||GENOVA||Esame su appuntamento|
|22/09/2023||09:00||GENOVA||Esame su appuntamento|