CODE 101809 ACADEMIC YEAR 2026/2027 CREDITS 6 cfu anno 1 COMPUTER SCIENCE 11964 (LM-18) - GENOVA SCIENTIFIC DISCIPLINARY SECTOR INFO-01/A LANGUAGE English TEACHING LOCATION GENOVA SEMESTER 1° Semester OVERVIEW 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. AIMS AND CONTENT LEARNING OUTCOMES The teaching unit aims to introduce the fundamental design principles for distributed systems, in particular with respect to reliability, availability, and fault tolerance. A few chosen architectures are analyzed more in depth. AIMS AND LEARNING OUTCOMES EXPLAIN the reasons for using (or not using) distributed systems DISCUSS the key motivations and ideas for solutions of the problem of distributed consensus SUMMARIZE some important results about scheduling for distributed systems DISCUSS the main motivations, issues and solutions related to the design of peer-to-peer architectures EXPLAIN the design of large-scale data processing tools DESCRIBE the principles for data distribution EVALUATE the impact of some design choices through simulation PREREQUISITES To be successful in this course, students should already know: data structures and algorithms client-server architectures network protocols basic security topics Programming skills are required for the practical activities, which will be carried out in Python. TEACHING METHODS Lectures and practical exercises. Students who hold valid certificates relating to Specific Learning Difficulties (SLD), disabilities or other educational needs are invited to contact the lecturer and the school’s disability liaison officer at the start of the course to agree on any teaching arrangements which, whilst respecting the course objectives, take into account individual learning styles. The contact details for the university’s disability liaison officer are available at the following link: https://unige.it/commissioni/comitatoperlinclusionedeglistudenticondisabilita. SYLLABUS/CONTENT Transactions and Consensus ACID properties and the CAP theorem Consensus algorithms: Paxos, Raft Concrete applications: Zookeeper, Google Cloud Spanner Queueing and Scheduling Some theory on the problem of prioritizing and dispatching jobs to workers in a distributed system Erasure Coding How to efficiently guarantee data availability Peer-to-Peer (P2P) Systems Tor: a system for enabling anonymous communication Searching in P2P systems: distributed hash tables Incentives to cooperation: BitTorrent Introduction to Large-Scale Data Processing The MapReduce paradigm The design of Hapace Hadoop and Apache Spark Introduction to Large-Scale Distributed Data Systems Principles Architectural approaches RECOMMENDED READING/BIBLIOGRAPHY Scientific papers covering the topics of the syllabus will be suggested during the course. The course material will be presented on Aulaweb. TEACHERS AND EXAM BOARD MATTEO DELL'AMICO Ricevimento: By appointment (in person or online), taken via email (matteo.dellamico@unige.it). BARBARA CATANIA Ricevimento: Appointment by email or by Microsoft Teams Office: Valle Puggia – 327 LESSONS LESSONS START https://easyacademy.unige.it/portalestudenti/index.php?view=easycourse&_lang=it&include=corso Class schedule The timetable for this course is available here: Portale EasyAcademy EXAMS EXAM DESCRIPTION Test taken in the laboratory as a quiz on Aulaweb, and oral examination, with discussion of the test and assignments. Guidelines for students with certified Specific Learning Disorders, disabilities, or other special educational needs are available at https://corsi.unige.it/en/corsi/11964/studenti-disabilita-dsa ASSESSMENT METHODS The Aulaweb quiz will evaluate the understanding of topics addressed during the lectures. For each assignment, the technical skills and maturity acquired by the students will be assessed during the oral examination. The exam will allow the teachers to complete their evaluation with questions on the course program. FURTHER INFORMATION For further information, please refer to the course’s AulaWeb module or contact the instructors. Students with valid certifications for Specific Learning Disorders (SLD) may request accommodations for exams at least 7 days prior to the exam date by filling out the “accommodation request form” (available via online services at https://modulionline.unige.it/richiesta-adattamenti# no-back), which will be automatically forwarded by the system to the instructor in charge of the course and to the faculty liaison for students with disabilities and SLDs in their School/Department. The student will receive a copy of their request.