Disciplinary courses 2025-26


Empowering AI through Enriched Data: Combining Knowledge Graphs and Machine Learning
Speakers: Matteo Palmonari
Objectives:
AI applications are largely based on data, which usually come in different semi-structured and unstructured formats. The course overview approaches proposed to improve data that fuel AI applications using Knowledge Graphs (KG). The coursehas the following more specific objectives:

Providing a short introduction to KGs as data models for knowledge representation and reasoning.

Discussing how these data models are critical to improve data enrichment for downstream AI applications by supporting a semantic data integration paradigm. To this end, we discuss how to combine Machine Learning (ML) and KGs to interpret,annotate, and augment tabular data and texts. This will cover KG-based NLP methods applied to both tabular and textual data.

Discussing how these data models can enhance Large Language Models (LLMs) by feeding domain-specific knowledge.

Discussing how enriched data can be used in downstream applications to improve search and answer questions.

Prerequisites:
Graduate-level knowledge about machine learning and (large) language models.

Content:
The course will cover the following main topics:
1) An introduction to Knowledge Graphs: data models and schemas
2) Data Enrichment with Knowledge Graphs: the semantic data integration paradigm
3) Data Enrichment with Knowledge Graphs: tabular data augmentation
4) Data Enrichment with Knowledge Graphs: NLP and information extraction
5) Searching and Question Answering: LLMs and knowledge graphs for search and QA
6) Discovering novel connections: link prediction with KGs

Exam:
Students may choose one of two options for their final evaluation:
Hackathon Mode: Complete a simple project on a topic related to data enrichment with Knowledge Graphs, which will be briefly presented on an exam day scheduled one week after the course only. This option encourages practical application and hands-on problem-solving.
Presentation Mode: Choose a research paper, in coordination with the lecturers, and deliver a presentation on it. This can be done at any agreed-upon time, allowing students to dive deeper into a specific aspect of data enrichment using Knowledge Graphs.


Geometry Processing and Machine Learning for Geometric Data
Speakers: Simone Melzi

The attendees will learn the fundamentals of the digital representation of bi-dimensional surfaces embedded in 3D space. Moreover, they will discover challenges that arise from machine learning algorithms when applied to geometric data. Finally, the course will introduce them to the techniques of geometric deep learning and tools available for machine learning on geometric data such as graphs. This course will also provide some demos to process geometric data and apply machine learning tools to them.

Neural Symbolic Computation
Speakers: Guido Fiorino, Rafael Peñaloza Nyssen, Italo Zoppis

The aim of the course is to present the field of neuro-symbolic integration, also known as Neural-Symbolic Learning and Reasoning. As far as possible we try to keep the couse self-contained, in particular for the logical notions necessary to understand the approach.

Tentative programme:

  • Computational Graphs.
  • Non-monotonic reasoning and ASP;
  • Fuzzy and Real Logics;
  • Inserting and extracting knowledge from CLIP System;
  • Logic Tensor Networks and, if possible, Logical Neural Networks;

Signal, audio, and image processing and understanding
Speakers: Simone Bianco, Raimondo Schettini, Paolo Napoletano

The aim of this course is to provide the students an in-depth overview of processing and understanding techniques applied to different domains, from generic mono-dimensional signals to audio and image data. The course will cover a broad range of techniques ranging from classical approaches to methods based on deep learning.


String algorithms
Speakers: Gianluca Della Vedova, Raffaella Rizzi
Objectives:

We will study some efficient data structures and algorithms on
strings and graphs, with a strong emphasis on those that can be used on massive
datasets.
The algorithms described are not related to a specific domain or application, to
guarantee that the course is useful to everyone.

Prerequisites:
Knowledge of algorithms at a graduate level, including dynamic programming and
basic graph algorithms.

Content:

  1. Introduction to text indexing: suffix trees, suffix arrays (2 hrs, Rizzi)
  2. Enhanced suffix arrays (4 hrs, Rizzi)
  3. Burrows-Wheeler Transform (BWT), FM-index (2 hrs, Rizzi)
  4. Dynamic programming in linear space (2 hrs, Della Vedova)
  5. Speeding up dynamic programming: Four Russians’ and Wavefront techniques. (2 hrs, Della Vedova)
  6. Dynamic programming on trees and graphs (4 hrs, Della Vedova)

Exam:
Exercises given during the course.
The exercises can be solved by small groups of students.
Each student must write individually a detailed solution of the exercises.

Interdisciplinary courses

Steps to enrol for an Interdisciplinary Course:

  1. Go to Esse3 (https://s3w.si.unimib.it/)
  2. Click on the burger menu at the right top corner
  3. Select “Segreteria”
  4. Select “Corsi Elettivi”
  5. Select the course you wish to enrol
  6. Select “Iscrizione corsi elettivi”
  7. Select “Iscrivi”

Note that the enrolment period of each course is different. Access the list of interdisciplinary course to be informed about the enrolment period.