CODE 114468 ACADEMIC YEAR 2025/2026 CREDITS 6 cfu anno 3 INFORMATICA 8759 (L-31) - GENOVA SCIENTIFIC DISCIPLINARY SECTOR INF/01 LANGUAGE Italian TEACHING LOCATION GENOVA SEMESTER 2° Semester TEACHING MATERIALS AULAWEB OVERVIEW This course introduces the fundamental principles and techniques for developing computer graphics and data visualization applications. The course has a theoretical-practical focus and is aimed at providing basic knowledge and acquiring the ability to use libraries and software tools to develop simple interactive applications. The course also provides the basis for addressing (in subsequent classes) related topics of greater complexity, such as geometric modeling and virtual reality AIMS AND CONTENT LEARNING OUTCOMES Learning basics of event-driven programming and how 2D and 3D computer graphics systems work. Learning the basic tools for creating interactive 2D computer graphics programs and for modeling and rendering 3D scenes. AIMS AND LEARNING OUTCOMES The course aims to: Provide both theoretical and practical knowledge to develop interactive applications that include 2D graphics output and/or data visualization; Illustrate the principles behind geometric shape modeling and introduce tools for this purpose; Provide the theoretical foundations of 3D graphics and dedicated hardware (GPU); Introduce high-level tools for developing 3D graphics applications. At the end of the course, the student will be able to: Understand the fundamental principles of Event-Driven Programming (EDP); Understand the fundamental principles of 2D and 3D computer graphics; Understand the basic principles of 3D polygonal modeling; Develop simple interactive 2D graphics applications; Use a geometric modeling system at a basic level; Use a high-level system for creating 3D scenes at a basic level. PREREQUISITES Imperative and object-oriented programming (C++ or similar languages) TEACHING METHODS Lectures (approximately half of the course) Guided lab sessions (the other half): the exercises will preferably take place in the classroom using the students' personal computers. SYLLABUS/CONTENT Overview of Computer Graphics and its applications The Event-Driven Programming (EDP) paradigm Interactive 2D graphics: application examples using an EDP library Elements of data visualization and examples 3D geometric modeling: polygonal models (meshes) Examples of creating polygonal models 3D graphics: ray tracing paradigm 3D graphics: GPU and rasterization paradigm Examples of 3D graphics applications RECOMMENDED READING/BIBLIOGRAPHY Textbooks are not strictly required. Most of the materials will be provided by the instructor or available online: https://www.sfml-dev.org/ https://www.blender.org/ https://www.shadertoy.com/howto For further reading: Steve Marschner, Peter Shirley, Fundamentals of Computer Graphics, Fourth Edition, CRC Press. TEACHERS AND EXAM BOARD ENRICO PUPPO Ricevimento: Appointment by email: enrico.puppo@unige.it During class period appointments for groups can be set by posting on the course forum on AulaWeb. LESSONS LESSONS START According to the calendar approved by the Degree Program Board: https://corsi.unige.it/en/corsi/8759/studenti-orario Class schedule The timetable for this course is available here: Portale EasyAcademy EXAMS EXAM DESCRIPTION Final project on one of the topics covered during the guided workshops. Oral exam. Guidelines for students with certified Specific Learning Disorders, disabilities, or other special educational needs are available at https://corsi.unige.it/en/corsi/8759/studenti-disabilita-dsa ASSESSMENT METHODS The final project aims to assess the practical skills of the student in relation to the libraries and software systems covered in the guided exercises. The oral exam aims to assess the student's knowledge of the fundamental principles of computer graphics, polygonal modeling, and all other topics covered in the lectures. FURTHER INFORMATION For further information, please refer to the course’s AulaWeb module or contact the instructor.