First cycle
degree courses
Second cycle
degree courses
Single cycle
degree courses
School of Science
Course unit
SCP7079257, A.A. 2018/19

Information concerning the students who enrolled in A.Y. 2018/19

Information on the course unit
Degree course Second cycle degree in
SC2377, Degree course structure A.Y. 2017/18, A.Y. 2018/19
bring this page
with you
Number of ECTS credits allocated 12.0
Type of assessment Mark
Website of the academic structure
Department of reference Department of Mathematics
Mandatory attendance No
Language of instruction English
Single Course unit The Course unit can be attended under the option Single Course unit attendance
Optional Course unit The Course unit can be chosen as Optional Course unit

Teacher in charge ALESSANDRO SPERDUTI INF/01

ECTS: details
Type Scientific-Disciplinary Sector Credits allocated
Core courses INF/01 Computer Science 6.0
Core courses ING-INF/05 Data Processing Systems 6.0

Course unit organization
Period Second semester
Year 1st Year
Teaching method frontal

Type of hours Credits Teaching
Hours of
Individual study
Lecture 12.0 96 204.0 No turn

Start of activities 25/02/2019
End of activities 14/06/2019

Examination board
Examination board not defined

Prerequisites: The student should have basic knowledge of programming.
Target skills and knowledge: This class teaches the basics in algorithmic methods and machine learning.
The part of the course covering algorithmic methods will first concentrate on the main data structures and their efficient implementation. Attention will then shift to the fundamental algorithmic paradigms for problem solving and their applicability through the discussion of relevant case studies. The other part will focus on machine learning techniques typically used in a data science scenario. First of all, general concepts concerning machine learning will be introduced. Then, the theory underpinning each presented technique will be explained and subsequently followed by practical demonstrations using Python and Scikit-Learn.
Examination methods: Written exam and (individual) project. The project is due by the end of the course.
Assessment criteria: The project work, and the written exam, will be evaluated on the basis of the following criteria: i) student’s knowledge of the concepts, methods, and technologies; ii) ability of the student to master the implementation technology; iii) student’s capacity for synthesis, clarity, and abstraction, as demonstrated by the written exam and project presentation. The final grade is obtained as the weighted sum of the grades of the written exam (80%) and the project (20%).
Course unit contents: The course will cover the topics listed below:
- Algorithmic Methods:
Preliminaries: definition of problem, instance, solution, algorithm. Models of computation. Analysis of algorithms: correctness and running time,. Asymptotic analysis.
Basic data structures: lists, stacks, queues. Trees and their properties. Dictionaries and their implementation. Priority queues.
Graphs: representation of graphs. Basic properties. Graph searches and applications.
Divide and Conquer paradigm: the use of recursion. Recurrence relations. Case study: sorting.
Dynamic programming: coping with repeating subproblems. Memoization of recursive code. Case study: optimization algorithms on sequences.
Greedy paradigm: solving by successive choices. Applicability of the paradigm. Case study: data compression.
- Machine Learning
Introduction to Machine Learning: why machine learning is useful; when to use it.; where to use it; Machine Learning paradigms; basic ingredients of Machine Learning; complexity of the hypothesis space; complexity measures; examples of supervised learning algorithms.
Application Issues: classification pipeline, representation and selection of categorical variables; model selection, evaluation measures.
in Depth (theory and practice using Python and Scikit-Learn): Support Vector Machines; Decision Trees and Random Forest; Neural Networks and Deep Learning; Manifold Learning; Kernel Density Estimation.
Planned learning activities and teaching methods: The course consists of lectures.
Additional notes about suggested reading: Log of the lessons, didactic material (slides) and the detailed exam modalities will be available in the Website accessible from the MOODLE platform.
Textbooks (and optional supplementary readings)