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.

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 Ingegneria e scienze informatiche - Enrollment from 2025/2026

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:

1° Year 

ModulesCreditsTAFSSD
12
B
ING-INF/05
6
B
ING-INF/05
12
B
ING-INF/05

2° Year   activated in the A.Y. 2018/2019

ModulesCreditsTAFSSD
6
B
INF/01
6
B
ING-INF/05
Other activitites
4
F
-
Final exam
24
E
-
ModulesCreditsTAFSSD
12
B
ING-INF/05
6
B
ING-INF/05
12
B
ING-INF/05
activated in the A.Y. 2018/2019
ModulesCreditsTAFSSD
6
B
INF/01
6
B
ING-INF/05
Other activitites
4
F
-
Final exam
24
E
-
Modules Credits TAF SSD
Between the years: 1°- 2°
2 courses to be chosen among the following
6
C
INF/01
6
C
INF/01
6
C
INF/01
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

4S02709

Credits

12

Coordinator

Romeo Rizzi

Language

Italian

The teaching is organized as follows:

COMPLESSITÀ

Credits

6

Period

II sem.

Academic staff

Ferdinando Cicalese

ALGORITMI

Credits

6

Period

II sem.

Academic staff

Romeo Rizzi

Learning outcomes

We refer to the web pages of the modules for the complete and precise list of goals of the course as divided into its two parts. We limit ourselves to focus here on the overall targets of the Algorithm course, as a whole, which is to expose some aspects of the deep and important dialectic exchange between the search for algorithmic solutions and the study of the complexity of problems. Here, we can only touch upon the nature of the privileged relationship of these two disciplines, and their actual unity (like the Yin and Yang sides of a single one art), hoping, nonetheless, that this will help orienting the student in tackling this adventurous path with the right enthusiasm and perspective.

Algorithms are the backbone and the substance of information technologies, but at the same time their study goes beyond the "mere" computer science and is pervasive to all the disciplines that are problem-bearers.
The design of an algorithm starts from the study of the structure of the problem to be solved and it usually represents the highest achievement of this process. The study of algorithms requires and offers methodologies and techniques of problem solving, logical and mathematical skills.
The course therefore aims to provide students with fundamental skills and methodologies for the analysis of problems and the design of the algorithms for solving them. Particular emphasis is given to the efficiency of the algorithms themselves, and the theory of computational complexity plays a profound methodological role in the analysis of problems. For non-trivial problems, the process of algorithm design rests on the theory of complexity not only to identify on which questions, and subproblems, it may make sense to concentrate efforts, but also as a dialectical counterpart providing the right language to disclose the subtle nuances of the problem and guiding towards the appropriate way of addressing its solution. A goal of the course is to highlight and illustrate the symbiosis between the competences (algorithm design and the study of problem complexity) which are addressed in the two modules.

With reference to the overall didactic aims of the Master program, the course leads students to deepen and expand the three-year training in the field of analysis and evaluation of problems, algorithms, and computational models, providing a wealth of advanced tools to address non-trivial problems in different IT fields.

Program

See the sheets for the two separate modules of this course.

Bibliography

Reference texts
Author Title Publishing house Year ISBN Notes
Sanjoy Dasgupta, Christos Papadimitriou, Umesh Vazirani Algorithms (Edizione 1) McGraw-Hill Higher Education 2007 978-0-07-352340-8
Christos H. Papadimitriou Computational complexity Addison Wesley 1994 0201530821
Garey, M. R. and Johnson, D. S. Computers intractability: a guide to the theory of NP-completeness Freeman 1979 0-7167-1045-5
T. Cormen, C. Leiserson, R. Rivest Introduction to algorithms (Edizione 1) MIT Press 1990 0262031418
J. Kleinberg, É. Tardos Algorithm Design (Edizione 1) Addison Wesley 2006 978-0321295354
Ingo Wegener Complexity Theory Springer 2005
S. Arora, B. Barak Computational Complexity. A modern approach (Edizione 1) Cambridge University Press 2009 9780521424264
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein Introduction to Algorithms (Edizione 3) MIT Press 2009 978-0-262-53305-8
Michael Sipser Introduction to the Theory of Computation PWS 1997 053494728X
Cristopher Moore, Stephan Mertens The Nature of Computation Oxford 2011

Examination Methods

When the student has collected, in its own mark wallet, both a positive mark for the Complexity module (at least 18) and a positive mark for the Algorithms module (at least 18), then he can ask for the recording of its final mark obtained as the rounded-up average of the above two marks, where 30+lode = 33. In order to get 30+lode as your final mark you need to get at least one lode and both marks should be at least 30. When you think your time has come to ask for registering this final mark, you send a mail to romeo.rizzi@univr.it making precise:
1. mark for the Algorithms module: specify the session of the exam at which you got your best mark, this best mark, and the bonus points. (Specify the file in the mark wallet).
2. mark for the Complexity module: specify the last session of the exam where you delivered your elaborate for correction.
3. specify your generalities (student code VRxxxxxx) and the expected mark.

The whole workflow for obtaining your mark is described at:
http://profs.sci.univr.it/~rrizzi/classes/Algoritmi/index.html

At the same page you can find the wallet of your marks for both the "Algorithms" and the "Computationl Complexity" modules comprising the course (if any), plus your extra scores for Algorithms in case you have collected any of them with projects. (For the Algorithms module, you will also find here the problems given at previous exam sessions,
and more detailed instructions on the procedures for the exam and for the composition and registration of your mark.)
For the module-specific informations we redirect to the Didactic Dashboard sheets of the single module.

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