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
This information is intended exclusively for students already enrolled in this course.If you are a new student interested in enrolling, you can find information about the course of study on the course page:
Laurea magistrale in Computer Engineering for intelligent Systems - Enrollment from 2025/2026The 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. 2025/2026
Modules | Credits | TAF | SSD |
---|
3 modules among the following
Modules | Credits | TAF | SSD |
---|
Modules | Credits | TAF | SSD |
---|
3 modules among the following
Modules | Credits | TAF | SSD |
---|
4 modules among the following:
- 1st year: Advanced visual computing and 3d modeling, Computer vision, Embedded & IoT systems design, Embedded operating systems, Robotics
- 2nd year: Advanced control systems
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.
Computer architectures and programming for intelligent systems (2024/2025)
Teaching code
4S012351
Teacher
Coordinator
Credits
6
Also offered in courses:
- Advanced Computer Architectures of the course Master's degree in Computer Engineering for Robotics and Smart Industry
Language
English
Scientific Disciplinary Sector (SSD)
ING-INF/05 - INFORMATION PROCESSING SYSTEMS
Period
Semester 1 dal Oct 1, 2024 al Jan 31, 2025.
Courses Single
Authorized
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
Basic programming
Basic vomputer architectures
Program
Theory (24 h):
-) 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).
-) Cache coherency in shared-memory architectures, Snoopy protocols.
-) Edge computing and Deep Learning at the edge
Lab (24 h):
-) Programming heterogeneous architectures (CPU-iGPU)
-) Parallel compilers for multi-core architectures
-) CNN-based inference and transfer learning at the edge
Bibliography
Didactic methods
Lectures for theory Lectures and code development for lab
Learning assessment procedures
Free response exercises for the theory part, code development for the lab part. Total time 2 hours.
Evaluation criteria
To pass the exam the student must demonstrate that:
- they have understood the principles underlying the programming of intelligent systems;
- be able to present your arguments in a precise and organic way without digressions;
- know how 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 concerning both the theoretical and laboratory parts. The student will be able to develop a project assigned by the teacher for a bonus (up to +5 points).
Exam language
English