Studying at the University of Verona
Here you can find information on the organisational aspects of the Programme, lecture timetables, learning activities and useful contact details for your time at the University, from enrolment to graduation.
Study Plan
The Study Plan includes all modules, teaching and learning activities that each student will need to undertake during their time at the University.
Please select your Study Plan based on your enrollment year.
1° Year
| Modules | Credits | TAF | SSD |
|---|
2° Year It will be activated in the A.Y. 2026/2027
| Modules | Credits | TAF | SSD |
|---|
| Modules | Credits | TAF | SSD |
|---|
| Modules | Credits | TAF | SSD |
|---|
2 modules among:
- 1st year - Knowledge representation, Natural Language Processing, HCI - Multimodal Systems - delivered in 2025/2026
- 2nd year - AI & cloud - delivered in 2026/2027
- 1st and 2nd year - Advanced programming for AI, Computer vision & deep learning - delivered in 2025/2026 and in 2026/2027
2 courses among (mutually exclusive with the previous ones):
- 1st year - Knowledge representation, Natural language processing, HCI - multimodal systems - delivered in 2025/2026
- 2nd year - AI & cloud, Visual intelligence - delivered in 2026/2027
- 1st and 2nd year - Advanced programming for AI, Computer Vision & deep learning, Statistical learning - delivered in 2025/2026 and in 2026/2027 2 courses among the following
- A.A. 2025/2026 Network Science not activated
- A.A. 2026/2027: Complex Systems not activated1 course among the followingLegend | Type of training activity (TTA)
TAF (Type of Educational Activity) All courses and activities are classified into different types of educational activities, indicated by a letter.
Embedded AI - PARTE I (2025/2026)
Teaching code
4S010696
Credits
3
Coordinator
Not yet assigned
Language
English
Scientific Disciplinary Sector (SSD)
INF/01 - INFORMATICS
Courses Single
Authorized
The teaching is organized as follows:
Theory
Credits
2
Period
2nd semester
Academic staff
Nicola Bombieri
Laboratory
Credits
1
Period
2nd semester
Academic staff
Nicola Bombieri
Learning objectives
This course aims at providing theoretical and practical knowledge about programming and analysis of advanced computational architectures, with emphasis on multiprocessor and GPU platforms. At the end of the course the student will have to demonstrate the ability to apply the knowledge necessary to: identify techniques for parallel programming, also in a research context, through analysis of application efficiency and by considering both functional and non-functional design constraints (correctness, performance, energy consumption). This knowledge will allow the student to be able to analyze performance and to perform code profiling, by identifying critical zone and the corresponding optimizations by considering the architectural characteristics of the platform. At the end of the course the student will be able to compare parallel patterns and to select the best one by considering the use case; by defining the structure of the optimized code, demonstrate the ability to identify the proper architectural choices, by considering the target application and platform contexts. During the definition of the optimized code structure, the student will have the ability to continue the study autonomously in the field of the parallel programming languages and of the Software development for parallel embedded platforms.
Program
Theory
- Intro to parallel and heterogeneous architectures
- Intro to CUDA C
- GPU parallelism model
- Memory and data locality
- Thread Execution Efficiency
- Memory Access Performance
- Parallel Computation Patterns (Histogram)
- Parallel Computation Patterns (Stencil)
- Parallel Computation Patterns (Reduction)
- Parallel Computation Patterns (Scan)
- Floating-Point Considerations
- GPU as Part of the PC Architecture
- Efficient Host-Device Data Transfer
- Application Case Study: Advanced MRI Reconstruction
Lab
CUDA
MPI
Didactic methods
Lectures for the Theory section. Lectures and code development for the Laboratory section.
Learning assessment procedures
Open-ended exercises (total time 2 hours)
Evaluation criteria
To pass the exam, students must demonstrate:
- understanding the principles underlying parallel programming;
- being able to present their arguments precisely and coherently without digressions;
- being able to apply the acquired knowledge to solve application problems presented in the form of exercises, questions, and projects.
Exam language
English