Conoscere e apprendere i principi su cui si basano le tecniche di programmazione concorrente e parallela, in modo indipendente da un linguaggio Saper sviluppare applicazioni ad esecuzione concorrente e parallela utilizzando gli strumenti offerti dai sistemi operativi e dai framework object-oriented conosciuti Essere in grado di sfruttare gli approcci a memoria condivisa, a scambio di eventi (sincroni e asincroni) e tramite lightweight tasks Studio dei problemi classici di sincronizzazione