Advanced Computer Graphics

Anno accademico 2025/2026 - Docente: GIOVANNI GALLO

Risultati di apprendimento attesi

Conoscenza e capacità di comprensione (knowledge and understanding):
a) data visualization: lo studente apprenderà i principi della corretta visualizzazione dati seguento l’approccio strutturato della ‘Grammar of Graphics’.
b) visual programming: lo studente apprenderà i prinicipi generali dello stile di programmazione mediante reti di nodi con particolare riferimento al loro uso nel sistema Blender.


Capacità di applicare conoscenza e comprensione (applying knowledge and understanding):

a) lo studente applicherà i principi di cui sopra utilizzando le versioni più aggiornate delle librerie Python di gestione e visualizzazione dati (pandas, seabor, plotnine).

b) lo studente familiarizzerà con il sistema dei Geonodes di Blender per la creazione di asset parametrici.


Autonomia di giudizio (making judgements):

a) lo studente acquisirà criteri per la valutazione della qualità tecnica e della efficacia informativa di una presentazione grafica di dati quantitativi e qualitativi.

b) lo studente acquisirà esperienza e abilità di giudizio circa al opportunità di progettazione parametrica o realizzazione statica di asset 3d.


Abilità comunicative (communication skills):

a) lo studente acquisirà competenza di base per la redazione di grafici informativi complessi che possano validamente accompagnare l’analisi di dati sperimentali.

b) lo studente acquisirà competenza per la creazione di interfacce utili al controllo di asset 3d parametrici di buona qualità grafica.


Capacità di apprendimento (learning skills):

a) lo studente sarà in grado di orientarsi e operare con profitto nell’utilizzo di librerie di visualizzazione dati in costante aggiornamento.

b) lo studente sarà in possesso degli eementi base della programmazione visuale per apprendere in autonomia come essa viene applicata in vari settori di sviluppo software.


Modalità di svolgimento dell'insegnamento

L’insegnamento si svolge attraverso lezioni frontali e attività di laboratorio. Le lezioni introdurranno i concetti teorici, mentre il laboratorio ne permetterà l’applicazione pratica tramite esercitazioni e casi studio.

Qualora l'insegnamento venisse impartito in modalità mista o a distanza potranno essere introdotte le necessarie variazioni rispetto a quanto dichiarato in precedenza, al fine di rispettare il programma previsto e riportato nel syllabus.



Prerequisiti richiesti

Conoscenza della programmazione strutturata ed ad oggetti con particolare riferimento al linguaggio Python.

Conoscenza delle nozioni di base di statistica descrittiva e testing di ipotesi.

Conoscenza delle nozioni base di Interazione Uomo/Macchina.

Esperienza nell’utilizzo di un sistema di un ambiente di sviluppo di asset grafici 3d con particolare riferimento a Blender.

Nozioni sui grafi.

Frequenza lezioni

Seconod le regole del corso di Studio

Contenuti del corso

Modulo Data Visualization (3cfu)
In questo primo modulo del corso si affronta il tema della rappresentazione grafica di informazioni numeriche e/o qualitative a partire da una collezione strutturata di dati.
Si fornisce una breve panoramica storica presentando esempi di data visualizaztion precursori dei metodi moderni.

Si affrontano successivamente alcune problematiche rilevanti relative alla percezione visuale passando in rassegna le leggi della Gestalt e alla valutazione dello stile grafico secondo le regole di E.Tufte.

Dopo aver presentato una rapida tassonomia dei grafici più comuni nella reportistica tecnica attuale si introduce l’approccio strutturale della ‘Grammar of Graphics’ di L.Wilkinson dapprima nel sup aspetto teorico e successivamente con attività di laboratorio in Python.

Le attività di laboratorio includono lo sviluppo di ‘notebook’ che utilizzino le librerie pandas, matplotlib, seaborn e plotnine.

Modulo Visual programming (3cfu)

In questo modulo dopo avere presentato una breve storia dell’approccio visuale alla programmazione e illustarto alcuni degli esempi pù noti si presentano gli ambienti di sviluppo ‘a nodi’ presenti dentro il software 3d Blender con particolare riferimento al sistema detto dei ‘geometry nodes’..

Giustificata con esempi rilevanti la opportunità e il valore dlelo sviluppo di asset parametrici vs asset fissi si svolgono attività di laboratorio che presentano via via i ‘nodi’ base e i ‘nodi’ avanzati per completare lo sviluppo di asset complessi sia statici che animati.

Testi di riferimento

Il primo modulo utilizza:

- dispense e slide fornite dal docente nella pagina FB del corso, tali risorse sono disponibili all’inizio delle lezioni e sono aggiornate costantemente.

- si abitua lo studente all’utilizzo on line della documentazione API delle librerie utilizzate.

Si suggerisce inoltre la lettura di:

- ‘The Grammar of Graphics’ L.Wilkinsonet alii, Springer 2nd ed.

- ‘Non designer’s design book’, R.Williams, Pearson ed.

Verifica dell'apprendimento

Modalità di verifica dell'apprendimento

La verifica si svolge in due parti:

Parte a) prova di laboratorio della durata di 3 ore relativa alla creazione di grafiche e visualizzazioni a partire da una base di dati tabellare.

Parte b) Sviluppo e presentazione di un progetto (autonomo ed individuale) che includa la creazione di asset parametrici che utilizzino in modo avanzato i geonodes.


La prova d’esame è finalizzata a valutare in modo approfondito la preparazione dello studente, la capacità di analisi e di ragionamento sugli argomenti trattati durante il corso, nonché l’adeguatezza del linguaggio tecnico utilizzato.


Le due prove hanno peso eguale ai fini della valutazione e costituiscono entrambe elementi essenziali per la valutazione complessiva del profitto.
La presentazione e discussione del progetto ‘geonodes’ è successiva al superamento della prova di laboratorio.


Per l'attribuzione del voto finale si seguiranno di norma i seguenti criteri:
-
non approvato: lo studente non ha acquisito i concetti di base e non è in grado di svolgere gli esercizi.
-
18-23: lo studente dimostra una padronanza minima dei concetti di base, le sue capacità di esposizione e di collegamento dei contenuti sono modeste, riesce a risolvere semplici esercizi.
-
24-27:  lo studente dimostra una buona padronanza dei contenuti del corso, le sue capacità di esposizione e di collegamento dei contenuti sono buone,  risolve gli esercizi con pochi errori.
-
28-30 e lode: lo studente ha acquisito tutti i contenuti del corso ed è in grado di esporli compiutamente e di collegarli con spirito critico; risolve gli esercizi in modo completo e senza errori.


Gli studenti con disabilità e/o DSA dovranno contattare con sufficiente anticipo rispetto alla data dell'esame il docente, il referente CInAP del DMI (prof.ssa Daniele) e il CInAP per comunicare che intendono sostenere l'esame fruendo delle opportune misure compensative.

Esempi di domande e/o esercizi frequenti

Le prove di Laboratorio richiedono lo sviluppo di alcune tipologie di grafico (barplot, pieplot, scatterplot multimodali, denisty plot, denisty matrix etc) a partire da basi di dati tabellari con max 300 records a 10 campi (numerici e/o categoriali). Sono fornite per tempo agli studenti esempi di prova e le prove assegnate vengono via via pubblicate nella paogina FB del corso.

Durante le lezioni verranno svolti degli esercizi simili a quelli che gli studenti dovranno affrontare nel loro esame finale. Ulteriori esercizi verranno resi disponibili nel corso delle lezioni. 

ENGLISH VERSION