Salta al contenuto principale
CODICE 80302
ANNO ACCADEMICO 2016/2017
CFU
SETTORE SCIENTIFICO DISCIPLINARE INF/01
LINGUA Italiano
SEDE
PERIODO 2° Semestre
MATERIALE DIDATTICO AULAWEB

PRESENTAZIONE

Il corso introduce metodologie di programmazione multithreading e multicore, ad eventi (GUI, server, dispositivi mobili, IoT)  e distribuita (architetture client/server,  cloud).  
I contenuti sono ispirati alle tematiche del Computer Science Curriculum dell'ACM/IEEE (link): Concurrency, Scheduling and Dispatch; Event-Driven and Reactive Programming; Concurrency and Parallelism: Communication and Coordination, Distributed Systems; Mobile Platforms.

 

OBIETTIVI E CONTENUTI

OBIETTIVI FORMATIVI

Comprendere i problemi e le metodologie necessarie allo sviluppo di programmi concorrenti ed asincroni attraverso lo studio dei principi di cooperazione e sincronizzazione tra processi con memoria condivisa e tra processi distribuiti. Esercitazioni in laboratorio sull'uso di librerie per concorrenza e distribuzione in diversi linguaggi/piattaforme.

MODALITA' DIDATTICHE

Tradizionale: Lezioni in classe ed esercitazioni guidate in laboratorio.

PROGRAMMA/CONTENUTO

Teoria 
Problema della sezione critica
Algoritmi di  mutua esclusione
Lock-free programming (compare and swap, test and set lock)
Lock, semafori, monitor
Multihreading e librerie per la concorrenza 
Strutture dati concorrenti
Programmazione ad eventi in Java/Swing
Programmazione di rete (ServerSocket e Remote Method Invocation)
Transazioni
Processi in Android 
Introduzioni ai sistemi distribuiti e algoritmi di base
Laboratorio
Programmazione concorrente, distribuita ed ad eventi in C e Java
Progetto finale 

DOCENTI E COMMISSIONI

Commissione d'esame

GIORGIO DELZANNO (Presidente)

GIOVANNI CHIOLA

MARINA RIBAUDO

LEZIONI

ESAMI

MODALITA' D'ESAME

Prova scritta + Progetto finale + prova orale.

Calendario appelli

Data appello Orario Luogo Tipologia Note
16/06/2017 09:00 GENOVA Scritto
03/07/2017 09:00 GENOVA Scritto
20/07/2017 09:00 GENOVA Scritto
13/09/2017 09:00 GENOVA Scritto
27/09/2017 14:00 GENOVA Scritto