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.
The academic calendar shows the deadlines and scheduled events that are relevant to students, teaching and technical-administrative staff of the University. Public holidays and University closures are also indicated. The academic year normally begins on 1 October each year and ends on 30 September of the following year.
The Academic Calendar sets out the degree programme lecture and exam timetables, as well as the relevant university closure dates..
Definition of lesson periods
Oct 2, 2017
Jan 31, 2018
Mar 1, 2018
Jun 15, 2018
Sessione invernale d'esame
Feb 1, 2018
Feb 28, 2018
Sessione estiva d'esame
Jun 18, 2018
Jul 31, 2018
Sessione autunnale d'esame
Sep 3, 2018
Sep 28, 2018
Sessione Estiva Lauree Magistrali
Jul 19, 2018
Jul 19, 2018
Sessione Autunnale Lauree Magistrali
Oct 18, 2018
Oct 18, 2018
Sessione Invernale Lauree Magistrali
Mar 21, 2019
Mar 21, 2019
Dec 22, 2017
Jan 7, 2018
Mar 30, 2018
Apr 3, 2018
Patron Saint Day
May 21, 2018
May 21, 2018
Aug 6, 2018
Aug 19, 2018
Exam dates and rounds are managed by the relevant Science and Engineering Teaching and Student Services Unit.
To view all the exam sessions available, please use the Exam dashboard on ESSE3.
If you forgot your login details or have problems logging in, please contact the relevant IT HelpDesk, or check the login details recovery web page.
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 enrolment year.
The goal of this module is to introduce students to the main aspects of the computational complexity theory, and, in particular, to the NP-completeness theory and to the computational analysis of problems with respect to their approximability. Within the overall objectives of the CdS, this course allows students to widen and specialise their expertise in the analysis of algorithms and computational systems. It provides some advanced analysis tools to cope with non-trivial tasks.
The students will acquire skills and knowledge to understand and cope with the computational difficulty in solving some common task. Students will be able to independently analyze a new problem, understand its structure and what makes it difficult and propose possible alternative approach to its solution (approximation, parametrisation) in the absence of provably efficient solutions.
Computational models, computational resources, efficient algorithms and tractable problems.
Relationships among computational problems. Polynomial reductions of one problem into another. The classes P, NP, co-NP. Notion of completeness. Proofs od NP-completeness: Cook's theorem; proofs of completeness using appropriate reductions. Search and Decision Problems. Self-Reducibility of NP-complete problems and existence of non-selfreducible problems. Recap of basic notions of computability: Turing Machines and Diagonalization. Hierarchy theorems for time complexity classes. Separability of classes and the existence of intermediate problem under the hypothesis the P is not equal NP.
Space Complexity. Models and fundamental difference between the use of time resource and the space resource. The space complexity classes NL and L and their relationship with the time complexity class P. The centrality of the reachability problem for the study of space complexity. Completeness for space complexity classes: Log-space reductions; NL-completeness of reachability. Non-determinism and space complexity. Savitch theorem and Immelmann-Szelepcsenyi theorem. The classes PSPACE and NPSPACE. Examples of reductions to prove PSPACE-completeness.
Introduction to the approximation algorithms for optimisation problems. Examples of approximation algorithms. Classification of problems with respect to their approximabuility. The classes APX, PTAS, FPTAS. Notion of inapproximability; the gap technique to prove inapproximability results; examples of approximation preserving reductions. Examples of simple randomised algorithms in solving hard problems.
To attend the course in a productive way, a student should be confident with the following topics:
1. Basic data structures as list, stack, queue, tree, heap.
2. Graph representation and fundamental graph algorithms:
2.1 Graph visit: BFS, DFS.
2.2 Topological ordering. Connected component.
2.3 Minimal spanning tree. Kruskal and Prim algorithm.
2.4 Single-source shortest path: Dijkstra algorithm and Bellman-Ford one.
2.5 All-pairs shortest path: Floyd-Warshall algorithm and Johnson one.
2.6 Max flow: Ford-Fulkerson algorithm.
A recommended book to revise the above topics is ``Introduction to Algorithms" di T. H. Cormen, C. E. Leiserson, R. L. Rivest e C. Stein (3 ed.).
J. Kleinberg, É. Tardos
Christos H. Papadimitriou
S. Arora, B. Barak
Computational Complexity. A modern approach
Cambridge University Press
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein
Introduction to Algorithms
Introduction to the Theory of Computation
Cristopher Moore, Stephan Mertens
The Nature of Computation
The exam verifies that the students have acquired sufficient understanding of the basic complexity classes and the necessary skills to analyse and classify a computational problem.
The exam consists of a written test with open questions. The test includes some mandatory exercises and a set of exercises among which the student can choose what to work on. The mandatory exercises are meant to evaluate the ability of the student to apply knowledge: reproducing (simple variants of) theoretical results and algorithms seen in class for classical problems. "Free-choice" exercises test the analytical skills acquired by the students to model "new" toy problems and analyse its computational complexity using reductions.
The grade for the module "complexity" is averaged (50%) with the grade for the module algorithm to determine the final grade.
Type D and Type F activities
Modules not yet included
News for students
There you will find information, resources and services useful during your time at the University (Student’s exam record, your study plan on ESSE3, Distance Learning courses, university email account, office forms, administrative procedures, etc.). You can log into MyUnivr with your GIA login details.
As stated in point 25 of the Teaching Regulations for the A.Y. 2021/2022, attendance at the course of study is not mandatory.
Please refer to the Crisis Unit's latest updates for the mode of teaching.
I servizi e le attività di orientamento sono pensati per fornire alle future matricole gli strumenti e le informazioni che consentano loro di compiere una scelta consapevole del corso di studi universitario.