PhD courses a.y. 2021/2022

Linear algebra, non-negative matrices and their applications

Lecturers:  Gianna Del Corso, Federico Poloni

Period: From November 2nd to November 19th, 2021

Schedule: 6 hours the first two weeks, 4 hours the third week

To attend the course, please send an email to

In this course we will present some selected topics and applications in linear algebra and matrix theory. They will include: Non-negative matrices, Markov chains, and Markov chain models; Non-negative matrix factorization (NMF), rank-revealing factorizations like SVD and CUR, with applications to cluster and feature detection; Linear algebra-based centrality measures for complex networks: Pagerank, Estrada and Katz centrality.

Continual Learning: On Machines that can Learn Continually

Lecturers:  Vincenzo Lomonaco, Gido Van De Ven (Baylor College of Medicine, USA)

Period: From November 22nd, 2021 to December 15th, 2021

Schedule: Mondays and Wednesdays from 4pm to 6pm

To attend the course, please register at 

Humans have the extraordinary ability to learn continually from experience. Not only we can apply previously learned knowledge and skills to new situations, we can also use these as the foundation for later learning. One of the grand goals of Artificial Intelligence (AI) is building an artificial “continual learning” agent that constructs a sophisticated understanding of the world from its own experience through the autonomous incremental development of ever more complex knowledge and skills. However, despite early speculations and few pioneering works, very little research and effort has been devoted to address this vision. Current AI systems greatly suffer from the exposure to new data or environments which even slightly differ from the ones for which they have been trained for. Moreover, the learning process is usually constrained on fixed datasets within narrow and isolated tasks which may hardly lead to the emergence of more complex and autonomous intelligent behaviors. In essence, continual learning and adaptation capabilities, while more than often thought as fundamental pillars of every intelligent agent, have been mostly left out of the main AI research focus. In this PhD course, we will study the application of these ideas in light of the more recent advances in machine learning research and in the context of deep architectures for AI. We will start with an introduction to the topic, highlighting its relationship with related research areas and a comprehensive guide to the founding concepts of continual learning. The main portion of the course, instead, will be dedicated to the introduction to state-of-the-art benchmarks, strategies and evaluation methodologies. The third and final part of the course will concern practical recommendation, real-world applications and interesting research directions for the future of this exciting research topic.

Every lecture contains a hands-on session using the Avalanche continual learning library, partially developed at UNIPI.

Final exam: Project based on personal interests or by lecturer’s suggestion.

Mobile CrowdSensing and the Edge: An outlook to distributed architectures and privacy aspects

Lecturers:  Stefano Chessa, Michele Girolami (ISTI-CNR), Gabriele Oligeri (Hamad Bin Khalifa Univ., Qatar)

Period: From December 14th to December 21st, 2021

To attend the course, please send an email to

The PhD course provides an overview to the Mobile CrowdSensing (MCS) paradigm with a specific focus to edge-based architectures and security mechanisms. The course is structured in three modules:

  1. an introduction to the MCS paradigm, with an overview to some real-world experiments showing the challenges and opportunities of a collaborative approach for collecting information from the crowd.
  2. a practical survey to some data analytics methodologies to optimize the design of MCS platform. This module will consider a standard MCS architecture and some possible enhancements in order to boost the performance. According to the skills of the students, this module might also be extended with a short hand-on session.
  3. an overview to some security/privacy mechanisms to integrate with a MCS architecture, in order to prevent the possibility of disclosing the identity of users providing the collected data.

Distributed Ledger Technology: theory and applications

Lecturers:  Damiano Di Francesco Maesa

Period: From February 1st to February 9th, 2022

Schedule: February 1st, 2nd, 4th, and 8th: 2pm-5pm. February 9th: 2pm-6pm.

To attend the course, please send an email to

This course will cover many topics related to Distributed Ledger Technology, especially focusing on blockchain based proposals. After a general introduction to the technology and the current shortcomings it promises to solve, we will delve in more details about a precise use case. The chosen application will show all the problems, design choices, and drawbacks a real DLT based product has to tackle today. After this hands down and practical introduction to the technology we will cover more theoretical topics of DLTs during the rest of the course, including a deep dive in the analysis of cryptocurrency economies from a data science point of view.

Low rank approximation techniques for matrices and tensors

Lecturers:  Stefano Massei (TU/e, The Netherlands.)

Period: From February 7th to February 24th, 2022

Schedule: February 7th, 8th, 10th, 16th, 17th, 21st, 22nd, 24th, from 2pm to 4pm

To attend the course send an email t0

Matrices and tensors are the heart of many scientific and industrial computational problems. In this course we will survey numerical methods that leverage low-rank structures in matrices and tensors in order to reduce the consumption of computational resources while maintaining a satisfactory accuracy.

The course will touch the following topics:

  • Low-rank tensor formats: Tucker and tensor train
  • Deterministic and randomized algorithms for low-rank approximation of matrices and tensors
  • Trace and diagonal estimation of black box matrices

Component-wise definition of programming languages

Lecturers:  Egon Boerger

Period: From February 28th to March 18th, 2022

Schedule: Monday+Wednesday+Friday from 11am(sharp) to 12:30pm, 

To attend the course, please send an email to

The course presents a general method for component-wise abstract definition and provably correct implementation of a wide range of programming languages. In the first part of the course the approach is applied to piecemeal provide an abstract model for the execution of the constructs which define well-known programming languages belonging to different paradigms (imperative, logical, object-oriented, parallel). The resulting interpreters rigorously define the semantics of the languages involved (Pascal, Prolog, Java, C#, Occam) and can be shown to be correctly refinable on a target machine based upon an appropriate compilation scheme of the underlying constructs. In the second part of the course the students choose a (for example domain-specific or application programming) language to apply the method to typical constructs of such languages.

Design Thinking for Scientists

Lecturers:  Daniele Mazzei

Period: From March 21st to April 8th, 2022

To attend the course, please register here. For further information please send an email to

Design Thinking is an iterative process in which we seek to understand the user, challenge assumptions, and redefine problems in an attempt to identify alternative strategies and solutions that might not be instantly apparent with our initial level of understanding. Design Thinking provides a solution-based approach to solving problems. It is a way of thinking and working as well as a collection of hands-on methods. Design Thinking is not an exclusive property of designers all great innovators in literature, art, music, science, engineering, and business have practiced it. The course will introduce to design thinking and human centered design approaches giving PhD students an overall view on how this methods can be applied to the research context.

Big Data Analytics: Marine Data as a Case Study

Lecturers:  Gianpaolo Coro (ISTI-CNR)

Period: From April 26th to April 29th, 2022

Schedule: 4 hours per day (9am-1pm)

To attend the course, please send an email to

In this course, practical methodologies for marine data analysis and modelling will be presented. The course will cover specific classes of problems in marine science and their corresponding solutions, adopting state-of-the-art computer science technologies and methodologies. The explained techniques will include:

1) Unsupervised approaches to discover patterns of habitat change and predict fishing vessel activity patterns: Principal Component Analysis and Maximum Entropy for feature selection; KMeans, XMeans, DBScan, and Local Outlier Factor cluster analysis; Singular Spectrum Analysis for time series forecasting;

2) Supervised approaches for species distribution prediction and invasive species monitoring: Feed-Forward Artificial Neural Networks, Support Vector Machines, AquaMaps, Maximum Entropy;

3) Bayesian state-space models to predict fish stock availability in specific fishing areas: Monte Carlo and Markov Chain Monte Carlo models;

These methods will be applied to marine data such as vessel transmitted data, species observation records, and catch and vessel time series that fall into the Big Data category. These data are crucial to safeguard food availability and economic welfare, which are fundamental to human life. For example, predicting the impact of climate change on species habitat distribution contributes to avoiding economic and biodiversity collapse due to sudden ecosystem change. Likewise, monitoring the effect of overfishing on fish stocks and marine biodiversity prevents ecosystem and economic collapse.

The explained techniques will address real use cases of the United Nations (FAO, UNESCO, UNEP, and others) for marine food and ecosystem safety and illustrate the new lines of research in this context. They are also general enough to be applied to Big Data of other domains. The analysed data have indeed general characteristics of Big Data such as constantly incrementing volume, vast heterogeneity and complexity, and unreliable content. For this reason, the methodologies will be illustrated in the context of the Open Science paradigm, characterized by the repeatability, reproducibility, and cross-domain reuse of all experimental phases.

The course will be interactive and made up of practical exercises. Attendees will use online environments to parametrize the models, run the experiments, and potentially modify the models. Experiment completion will be valid as the exam.

Programming Tools and Techniques in the Pervasive Parallelism Era

Lecturers:  Marco Danelutto, Patrizio Dazzi (ISTI-CNR)

Period: From May 2nd to May 13th, 2022

To attend the course, please send an email to

The course covers techniques and tools (already existing or that are in the process of being moved to mainstream) suitable to support the implementation of efficient parallel/distributed applications targeting small scale parallel systems as well as larger scale parallel and distributed systems, possibly equipped with different kind of accelerators. The course follows a methodological approach to provide a homogeneous overview of classical tools and techniques as well as of new tools and techniques specifically developed for new, emerging architectures and applicative domains. Perspectives in the direction of reconfigurable coprocessors and domain-specific architectures will also be covered.

Foundation of Computing*

Lecturers:  Ugo Montanari

Period: From mid-February 2021 to mid-May 2021

(*Note that this course is open to Ph.D students but it is actually a MS course. It therefore consists of around 48 hours of classes spread from mid February till mid of May, with only 4 hours of classes per week.)

Students learn the essential properties of some widely employed models of computation for higher order, concurrency, interaction, mobility. Algebraic semantics and elementary category theory are employed.

Data compression and compressed data structures

Lecturers:  Giovanni Manzini, Paolo Ferragina

Period: From May 16th to June 10th, 2022

Schedule: 4 hours per week

Course web page

To attend the course, please send an email to

This course will describe some recent data compression techniques and how they have been used to design data structures that take advantage of the data distribution to offer order of magnitude improvements over traditional textbook data structures. The theoretical and algorithm engineering discussion will be accompanied with the description of some applications to graph DBs, search engines, bioinformatics, neural network compression, time series indexing, etc.

Challenges in Modern Web Search

Lecturers:  Franco Maria Nardini (ISTI-CNR), Salvatore Trani (ISTI-CNR)

Period: From June 27th till June 30th, 2022

Schedule: 4 hours per day (9am-1pm)

To attend the course, please send an email to

This PhD course focuses on Web search and discusses the challenges in three main areas of Web search: i) crawling, ii) indexing, iii) query processing and ranking. The course introduces each area by discussing the state of the art in the field and by presenting the open research questions. The emphasis of the course is on query processing, an area where machine learning provides an important contribution to advance the state of art. After an introduction of the different query processing techniques, the course i) introduces supervised techniques explicitly focused to target the ranking problem, ii) discusses several efficiency/effectiveness trade-offs in query processing and iii) analyse several related optimization techniques. The course will also provide an overview of the ranking techniques employing deep neural networks. Hands-on sessions will allow students to investigate the application of the techniques introduced on public Web collections.

Introduction to Agility and Scrum

Lecturer:  Fatma Karray (Université de Tunis El Manar, Tunisia)

Period: From July 11th till July 14th, 2022 

Schedule: 4 hours per day (9am-1pm)

To attend the course, please send an email to

The course will provide an introduction to Agile basics and Scrum Framework. The course will include both traditional classes and practical training.

Smart Living in the Era of IoT, AI, Data Science and Cybersecurity

Lecturer:  Sajal K. Das (Missouri University of Science and Technology, USA)

Period: From July 18th till July 21st, 2022

Schedule: Each day (18,19,20,21): from 9am to 1pm

Where: Sala seminari est

To attend the course, please send an email to

The advent of smart sensing, wireless communications, IoT and UAV networks, pervasive computing, AI, machine learning and data science technologies has made our lives increasingly smarter yet complex relying on a variety of interdependent cyber-physical-human systems (smart homes/cities, smart grid, smart transportation, smart health, smart agriculture, etc.) with a goal to improve quality of life and experience. However, CPS and IoT systems pose significant challenges due to complexity, scale, heterogeneity, uncertainty, security, privacy, human behavior, and dependability issues. This series of talks, organized in four parts, will highlight unique research challenges and opportunities, novel solutions and robust models to design secure and trustworthy smart living systems. The underlying design principles will be based on a rich set of theory and design principles, such as sensor fusion, uncertainty reasoning, data analytics, machine learning, information theory, prospect theory, belief/trust models, graph theory and game theory. Case studies and experimental results with real data sets will be presented where possible, with directions for future research.