Advanced Computer Graphics
Academic Year 2025/2026 - Teacher: GIOVANNI GALLOExpected Learning Outcomes
Knowledge and Understanding:
a) Data Visualization: The student will learn the principles of proper data visualization using the structured approach of the 'Grammar of Graphics'.
b) Visual Programming: The student will learn the general principles of the node-based programming style, with particular reference to their use in the Blender system.
Applying Knowledge and Understanding:
a) The student will apply the above principles using the latest versions of Python data management and visualization libraries (pandas, seabor, plotnine).
b) The student will familiarize themselves with Blender's Geonodes system for creating parametric assets.
Making Judgments:
a) The student will acquire criteria for evaluating the technical quality and informative effectiveness of a graphical presentation of quantitative and qualitative data.
b) the student will acquire experience and judgment skills regarding the opportunity for parametric design or static creation of 3D assets.Communication skills:
a) The student will acquire basic skills in creating complex information graphics that can effectively support the analysis of experimental data.
b) The student will acquire skills in creating interfaces useful for controlling high-quality parametric 3D assets.
Learning skills:
a) The student will be able to navigate and effectively use constantly updated data visualization libraries.
b) The student will possess the basic elements of visual programming to independently learn how it is applied in various areas of software development.Course Structure
Teaching is delivered through lectures and laboratory activities. Lectures will introduce theoretical concepts, while the laboratory will allow for practical application through exercises and case studies.
If teaching is taught in a blended or distance learning mode, necessary changes may be made to the previously stated curriculum to ensure compliance with the planned program outlined in the syllabus.
Required Prerequisites
Knowledge of structured and object-oriented programming, with particular emphasis on the Python language.
Knowledge of the basics of descriptive statistics and hypothesis testing.
Knowledge of the basics of Human/Computer Interaction.
Experience using a 3D graphical asset development environment, with particular emphasis on Blender.
Knowledge of graphs.
Attendance of Lessons
Accordng to Course rules
Textbook Information
The first module uses:
- handouts and slides provided by the instructor on the course's Facebook page. These resources are available at the beginning of class and are constantly updated.
- students are accustomed to using the online API documentation for the libraries used.
We also recommend reading:
- "The Grammar of Graphics," L. Wilkinsonet al., Springer 2nd ed.
- "Non-Designer's Design Book," R. Williams, Pearson ed.Course Planning
| Subjects | Text References | |
|---|---|---|
| 1 | Introduzione alla visualizzazione dati (1h) | |
| 2 | Storia della visualizzazione dati (2h) | |
| 3 | I principi della gestalt (2h) | |
| 4 | Principi base di Graphics Design con esempi e esercitazioni (5h) | |
| 5 | Principi ed elementi base della Grammar of Graphics (2h) | |
| 6 | Richiami Python e libreria pandas ed esercitazioni (2h) | |
| 7 | Libreria Matplotlib ed esercitazioni (4h) | |
| 8 | Libreria plotnine ed esercitazioni (6h) | |
| 9 | Introduzione, storia e casi d’uso della programmazione visuale (2h) | |
| 10 | Richiami all’UI di Blender e all’uso dei modificatori (2h) | |
| 11 | Asset parametrici vs asset fissi (1h) | |
| 12 | Editor geonodes: GUI e shortcuts (1h) | |
| 13 | I geonodes di base : points, meshes, volumes, curves, instances (2h) | |
| 14 | Operazioni fondamentali sui geonodes di base (4h) | |
| 15 | L’area ‘repeat’ ed esempi (3h) | |
| 16 | L’area ‘for each’ ed esempi (1h) | |
| 17 | L’area ‘simulation’ ed esempi (3h) | |
| 18 | Attributes e loro uso (3h) | |
| 19 | Nodi avanzati e specializzati (2h) |
Learning Assessment
Learning Assessment Procedures
The exam consists of two parts: Part a) A 3-hour laboratory test on creating graphics and visualizations from a tabular database. Part b) Development and presentation of a project (independent and individual) that includes the creation of parametric assets using advanced geonodes. The exam is designed to thoroughly assess the student's preparation, analytical and reasoning skills on the topics covered in the course, as well as the appropriateness of the technical language used. The two tests carry equal weight in the evaluation and are both essential elements in the overall assessment of student progress. The presentation and discussion of the "geonodes" project follows the successful completion of the laboratory test.
The following criteria will generally be used to assign the final grade: - Not approved: The student has not mastered the basic concepts and is unable to complete the exercises. - 18-23: The student demonstrates minimal mastery of the basic concepts, their presentation and connection skills are modest, and they are able to solve simple exercises. - 24-27: The student demonstrates good mastery of the course content, their presentation and connection skills are good, and they solve the exercises with few errors. - 28-30 with honors: The student has mastered all the course content and is able to present it fully and connect it critically; they solve the exercises completely and without errors. Students with disabilities and/or learning disabilities (DSA) must contact the instructor, the DMI CInAP representative (Prof. Daniele), and CInAP well in advance of the exam date to communicate their intention to take the exam with appropriate compensatory measure
Examples of frequently asked questions and / or exercises
Lab tests require the development of various types of graphs (barplots, pieplots, multimodal scatterplots, denisty plots, denisty matrices, etc.) starting from tabular databases with up to 300 records with 10 fields (numeric and/or categorical). Students are provided with sample tests in advance, and the assigned tests are published on the course Facebook page.
During lectures, exercises similar to those students will complete for their final exam will be completed. Additional exercises will be made available during lectures.