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 |
---|
Mathematical analysis 1
Computer Architecture
2° Year activated in the A.Y. 2020/2021
Modules | Credits | TAF | SSD |
---|
3° Year activated in the A.Y. 2021/2022
Modules | Credits | TAF | SSD |
---|
1 module to be chosen among the following
Modules | Credits | TAF | SSD |
---|
Mathematical analysis 1
Computer Architecture
Modules | Credits | TAF | SSD |
---|
Modules | Credits | TAF | SSD |
---|
1 module to be chosen among the following
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.
Algorithms (2020/2021)
Teaching code
4S02709
Teacher
Coordinator
Credits
12
Also offered in courses:
- Algorithms of the course Bachelor's degree in Applied Mathematics
- Algorithms of the course Master's degree in Mathematics
Language
Italian
Scientific Disciplinary Sector (SSD)
INF/01 - INFORMATICS
Period
II semestre, I semestre
Learning outcomes
The course objective is to provide the foundamental tools to design algorithmic solutions for concrete programs. The algorithms are evaluated and compared based required amount of resources. At the end of the course the student will have to demonstrate knowledge and understanding of the main algorithms for the problems of sorting, selection, priority queues, visit of graphs, shortest paths, minimum spanning trees, maximum flow; have ability to apply acquired knowledge and understanding skills to compare algorithms on the basis of their complexity; know how to choose the right algorithm for a specific situation; know how to develop the skills necessary to expand the knowledge learned in order to understand algorithmic solutions to new problems.
Program
Complexity: complexity of algorithms, asymptotic notation, resolution of recurrence equations.
Sorting and selection: insertion sort, merge sort, heap sort, quick sort, randomized quick sort. Linear algorithms, counting sort, radix sort, bucket sort. Selection algorithms.
Data structures: heap, binary search trees, RB-trees, B-trees, binomial heaps, hash tables, priority queues, disjoint sets, extension of data structures, graphs.
Design and analisis of alsorithms: divide et impera, greedy, dynamic programming, local serch, backtracking, branch and bound.
Foundamental algorithms: minimum spanning tree (Prim and Kruskal), linear programing (simplex and basic elements of the elipsoid method) shortest path with single source (Dijkstra and Bellman-Ford) and multiple source (Floyd-Warshall and Johnson), maximum flow (Ford-Fulkerson, Karp), maximnal matching on bipartite graph.
Author | Title | Publishing house | Year | ISBN | Notes |
---|---|---|---|---|---|
T. Cormen, C. Leiserson, R. Rivest, C. Stein | Introduzione agli Algoritmi e Strutture Dati (Edizione 2) | McGraw-Hill | 2005 | 88-386-6251-7 |
Examination Methods
The exam consists of a writtene test of three hours, divided into two parts, and possibly of an oral colloquium.
The forst part of the written test consists of several questions with multiple choices. It produces a valuation from 0 to 30. The exam is not passed if the evaluation is below 18. The exam ends if the evaluation is between 18 and 23. The second part of the written test, available only if the evaluation of the first part is at least 24, consists of one or more exercises of increasing complexity. The evaluation is between 24 and 30.
The optional oral examination is available only if the evaluation of the second part of the written test is at least 27.
The evaluation scale is the following. 18-21 (pure notionistic knowledge), 22-24 (acceptable understanding of the arguments), 25-27 (ability to apply the concepts learned in the course), 28-30 (ability to elaborate autonomous ideas based on the concepts learned in the course).