Skip to main content
CODE 80302
ACADEMIC YEAR 2026/2027
CREDITS
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

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.