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.

CURRICULUM TIPO:

2° Year   It will be activated in the A.Y. 2026/2027

ModulesCreditsTAFSSD
Final exam
24
E
-
It will be activated in the A.Y. 2026/2027
ModulesCreditsTAFSSD
Final exam
24
E
-
Modules Credits TAF SSD
Between the years: 1°- 2°
4 modules among:
- 1st year - Embedded operating systems, Embedded & IoT Systems design, Robotics, Computer vision, Advanced visual computing and 3D modeling - delivered in 2025/2026
- 2nd year - Advanced control systems - delivered in 2026/2027
6
B
ING-INF/05
6
B
ING-INF/04
Between the years: 1°- 2°
3 modules among:
- 2nd year -  Advanced methods for biomedical signal processing, Neurohealth, Medical robotics, Internet of Medical things - delivered in 2026/2027
- 1st or 2nd year - Mathematical modeling for Industrial and medical digital twins, Cloud computing and distributed systems - delivered in 2025/2026 or in 2026/2027 
6
C
ING-INF/04 ,MED/50
6
C
ING-INF/06 ,MED/37
Between the years: 1°- 2°
Further activities
6
F
-
Between the years: 1°- 2°

Legend | 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.




S Placements in companies, public or private institutions and professional associations

Teaching code

4S012351

Credits

6

Coordinator

Nicola Bombieri

Language

English en

Scientific Disciplinary Sector (SSD)

ING-INF/05 - INFORMATION PROCESSING SYSTEMS

Courses Single

Authorized

The teaching is organized as follows:

Teoria

Credits

4

Period

1st semester

Academic staff

Nicola Bombieri

Laboratorio

Credits

2

Period

1st semester

Academic staff

Nicola Bombieri

Learning objectives

The course aims at providing theoretical and practical knowledge about computing architectures for intelligent systems and the corresponding programming languages, with emphasis on heterogeneous platforms for the Edge-Cloud continuum. At the end of the course the student will have to demonstrate the ability to apply the knowledge necessary to identify techniques of advanced software programming for intelligent systems, also in a research context, through analysis of application efficiency and by considering both functional and extra-functional design constraints (i.e., correctness, performance, power consumption, energy efficiency). This knowledge will allow the student to analyze performance and perform code profiling, by identifying critical zone and the corresponding optimizations and by considering the architectural characteristics of the computing platform. At the end of the course, the students will demonstrate the ability to compare patterns for advanced software development and to select the best one by considering the use case. By defining the structure of the optimized code, the student will demonstrate the ability to identify the proper architectural choices, by considering the target application and platform contexts. Finally, the student will have to demonstrate the ability to continue the study autonomously in the field of computing architectures and programming languages for intelligent systems.

Prerequisites and basic notions

Computer Architecture
Basic C Programming

Program

Theory:
-) Intro to advanced computer architectures.
-) Parallel programming models and programming models for programmable edge devices.
-) Performance measurements and analysis, Amdhal law, metrics.
-) Power consumption and energy efficiency: programming models
-) Data-level parallelism: GPU e CPU-iGPU architectures
-) Pipeline: basic and advanced concepts
-) Instruction-level parallelism (ILP).
-) Branch prediction, static scheduling and speculation.
-) Memory hierarchy: basic and advanced concepts
-) Advanced techniques for cache performance optimization.
-) Thread-level parallelism (TLP).
-) Edge computing and Deep Learning at the edge

Lab:
-) Programming heterogeneous architectures (CPU-iGPU)
-) Parallel compilers for multi-core architectures
-) CNN-based inference and transfer learning at the edge
-) Containerization and orchestration

Bibliography

Visualizza la bibliografia con Leganto, strumento che il Sistema Bibliotecario mette a disposizione per recuperare i testi in programma d'esame in modo semplice e innovativo.

Didactic methods

Frontal lessons for theory Frontal lessons and code development in the lab.

Learning assessment procedures

Written: open-ended exercises (total time 2 hours)

Students with disabilities or specific learning disorders (SLD), who intend to request the adaptation of the exam, must follow the instructions given HERE

Evaluation criteria

To pass the exam, students must demonstrate:
- understanding the principles underlying architecture and programming for intelligent systems
- being able to present their arguments precisely and coherently without digressions
- being able to apply the knowledge acquired to solve application problems presented in the form of exercises, questions, and projects.

Criteria for the composition of the final grade

The exam consists of a written test containing multiple-choice questions, open-ended questions, and exercises covering both the theoretical and laboratory sections. The maximum score for each exercise depends on its complexity. The sum of the maximum scores is 31/30. Students may develop a project assigned by the instructor for a bonus (up to +5 points).

Exam language

inglese