The course is an introduction to multithreading/multicore, event-driven and distributed programming concepts. The contents are inspired to the following themes of the ACM/IEEE Computer Science Curriculum Concurrency, Scheduling and Dispatch; Event-Driven and Reactive Programming; Concurrency and Parallelism: Communication and Coordination, Distributed Systems; Mobile Platforms.
The aim of the course is to introduce the main concepts underlying multithreading and distributed programming. The course has a practical part with guided lab exercises in C, Java and Android and a final project in which students have to apply all concepts and programming technique studied in the course.
Standard: lectures and labo sessions
Theory
Labo
Concurrent programming
Asynchronous and event-driven programming
Distributed and network programming
Android libraries
LABO
Project
Ricevimento: Appointment by email
GIORGIO DELZANNO (President)
GIOVANNI CHIOLA
MARINA RIBAUDO
CONCURRENT PROGRAMMING AND DISTRIBUTED ALGORITHMS
Written exam and project
Discussion of the written test and of the project