Progettazione ad alte prestazioni in C++ (2020/2021)



Codice insegnamento
4S008910
Crediti
6
Coordinatore
Federico Busato
Settore disciplinare
INF/01 - INFORMATICA
Lingua di erogazione
Italiano
L'insegnamento è organizzato come segue:
Attività Crediti Periodo Docenti Orario
Teoria 5 II semestre Federico Busato

Vai all'orario delle lezioni

Laboratorio 1 II semestre Federico Busato

Vai all'orario delle lezioni

Obiettivi formativi

Il corso si propone di fornire paradigmi e tecniche risolutive relative allo sviluppo di sistemi software nei contesti in cui sono richieste alte prestazioni. L’obiettivo è dare alle studentesse e agli studenti conoscenze e abilità per progettare, implementare e valutare metodi e strumenti per realizzare software efficiente, in modalità collaborativa, sapendo sfruttare le caratteristiche dell’hardware coinvolto e implementando buone pratiche di programmazione. Il linguaggio di riferimento sarà il C++ con il coinvolgimento di adeguate librerie di supporto. Al termine del corso le studentesse e gli studenti dovranno dimostrare di conoscere e comprendere i principali metodi di gestione efficiente del codice, gestione della memoria, di sviluppo di librerie per il raggiungimento di alte prestazioni e per l’organizzazione di progetti in contesti collaborativi. Questo consentirà alle studentesse e agli studenti di saper scegliere le tecniche risolutive più adeguate per lo sviluppo di sistemi software efficienti in contesti applicativi diversi e di proseguire gli studi in modo autonomo nell’ambito della progettazione ad alte prestazioni in C++ approfondendo argomenti trattati a lezione su fonti di documentazione diverse.

Programma

Il materiale del corso e il programma dettagliato è riportato al seguente link
Course material: Modern C++ Programming

Modalità d'esame

Per superare l'esame lo studente dovrà dimostrare di:

  • Aver compreso i principi fondamentali della programmazione C++
  • Organizzare in modo preciso e chiaro il codice
  • Essere in grado di ottimizzare il codice e saper utilizzare i principali strumenti per l'analisi del codice e di debugging
L'esame consiste nello sviluppo di un progetto concordato con il docente e di un orale con la discussione di quanto prodotto.

Testi di riferimento
Attività Autore Titolo Casa editrice Anno ISBN Note
Teoria Marc Gregoire Professional C++ (Edizione 4) Wrox Pr Inc 2014 978-1-118-85805-9
Teoria Bjarne Stroustrup Programming Principles and Practice Using C++ (Edizione 2) Addison-Wesley 2014 978-0-321-99278-9