Second cycle degree in DATA SCIENCE

Campus: PADOVA

Language: English

Teaching period: Second Semester


Number of ECTS credits allocated: 12

Prerequisites: The student should have basic knowledge of programming.
Examination methods: Written exam and (individual) project. The project is due by the end of the course.
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.