CODE 80302 ACADEMIC YEAR 2026/2027 CREDITS 6 cfu anno 3 INFORMATICA 8759 (L-31) - GENOVA SCIENTIFIC DISCIPLINARY SECTOR INF/01 LANGUAGE Italian TEACHING LOCATION GENOVA SEMESTER 2° Semester TEACHING MATERIALS AULAWEB OVERVIEW Introduction to multihreaded programming, concurrent programming and event based programming. In this course, we will introduce the base concept linked to multicore architecture, multihreading in operating systems and in distributed algorithms and architectures for distributed systems. The course is divided into some theoretical lectures and some programming laboratories AIMS AND CONTENT LEARNING OUTCOMES Understand the problems and the used methods for the design of concurrent and asynchronous distributed programs through the study of the communnication and synchronization between processes with shared memory and between processes distributed over different platform and programed in different languages. AIMS AND LEARNING OUTCOMES Upon completion of the teaching, the student will be able to: -Describe the problems due to concurrent execution of programs. -Describe the problem of mutual exclusion -Describe the differences between communication via shared memory and communication via messages -Analyze the behavior of a concurrent system. -Use synchronization mechanisms such as mutex, semaphores and condition variable -Implement in various languages of concurrent systems -Describe problems related to distributed systems with failures PREREQUISITES Notions of programming in C and Java Operating Systems Network programming Basic concepts of comouting networks TEACHING METHODS Theoretical lecture Execises in class Exercises in laboratory 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 Concurrency in the OS and in mutithread systems Introduction to concurrent programming Introduction to the concurrency problems Standard synchronization library with mutex and barriers Semaphores and monitors Introduction to distributed algorithms Distributed/concurrent network programming RECOMMENDED READING/BIBLIOGRAPHY Slides of the lecturer provided on Aulaweb Online material The Art of Multiprocessing Programming - M. Herlihy and N. Shavit. Principles of Concurrent and Distributed Programming - Mordechai Ben-Ari TEACHERS AND EXAM BOARD ARNAUD HENRI PAUL SANGNIER Ricevimento: Reception through appointment via mail. LESSONS LESSONS START According to the calendar approved by the Degree Program Board: 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 The evaluation consists in a 2 hours written exam and the delivery of some laboratory works. Guidelines for students with certified Specific Learning Disorders, disabilities, or other special educational needs are available at https://corsi.unige.it/en/corsi/8759/studenti-disabilita-dsa ASSESSMENT METHODS The written exam will verify the ability of the student to use the different notions presented during the lectures and the delivery of the laboratory works will allow to cotrol that the student is able to use in pratice the presented concepts. FURTHER INFORMATION For further information, please refer to the course’s AulaWeb module or contact the instructor. 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.