PROGRAMMAZIONE DI SISTEMI MULTICORE
(obiettivi)
Obiettivi generali: Il corso è finalizzato all'acquisizione della conoscenza di tecniche algoritmiche e di programmazione adatte alle moderne piattaforme di calcolo multicore.
Obiettivi specifici:
Conoscenza e comprensione: Al termine del corso gli studenti avranno una profonda comprensione dei principali problemi di programmazione posti dai sistemi paralleli, nonché delle astrazioni e tecniche di programmazione utili per scrivere codice scalabile.
Capacità di applicare conoscenza e comprensione: gli studenti saranno in grado di progettare ed analizzare software parallelo, adattando a diversi contesti paralleli tecniche algoritmiche e di programmazione tradizionalmente pensate per modelli sequenziali.
Capacità critiche e di giudizio: gli studenti saranno in grado di affrontare le sfide che si presentano nella progettazione di algoritmi paralleli e nell'implementazione di programmi paralleli efficienti e scalabili, anche tenendo conto delle caratteristiche architetturali delle diverse piattaforme di calcolo (incluse le GPU).
Capacità di comunicare quanto si è appreso: gli studenti saranno in grado di comunicare in modo efficace, riassumendo le idee principali nella progettazione di software parallelo in modo chiaro e presentando informazioni tecniche accurate.
Capacità di studio autonomo: obiettivo del corso è di introdurre i principi di base nella progettazione di software parallelo. Gli studenti saranno quindi in grado di estendere la loro conoscenza in modo indipendente, adattandola all’evoluzione delle tecnologie e delle piattaforme di calcolo.
|