Computer Vision

The educational objectives are to provide both theoretical and practical foundations in computer vision, contributing to the specific educational objectives of this MSc program. Preliminarily, the course course will provides the foundations in image acquisition, compression and processing in space and frequency domains, as well some background on computer vision. Next, the course will first discuss AI-based discriminative methods for for computer vision, including applications to problems like image classification, segmentation and restoration, object detection, etc. as well as AI-based methods for image and video synthesis and compression. The course will include both theoretical lectures in the classroom a well as practical sessions in the lab.

Network Science & Graph Analytics

The objective of this course is to provide students with a comprehensive understanding of the fundamental principles and practical techniques of network science, enabling them to model, analyze, and interpret complex, interconnected systems that arise in real-world applications. The course introduces the core concepts of graph theory and network analysis, including network models, structural properties, connectivity, centrality, robustness, community structure, and spreading phenomena. Students will also develop an understanding of advanced network representations, including weighted and heterogeneous graphs and hypergraphs, and learn how structural properties relate to network evolution and emerging collective behavior. The course further introduces modern graph representation learning techniques, including graph neural networks, with applications to tasks such as node classification and link prediction. Emphasis is also placed on analyzing large-scale graph data and on hands-on experience with computational tools and methods for extracting meaningful insights from complex network structures.

Mathematics for AI & HPC

The course provides the mathematical tools which serve as a basis for other courses. These tools include linear algebra concepts, complex numbers, probability and statistics, numerical analysis and multivariate functions as well as continuous optimisation algorithms.

Machine & Deep Learning

The objective of this course is to provide students with a comprehensive understanding of the fundamental principles and practical techniques of machine learning and deep learning, enabling them to design, implement, and evaluate intelligent systems for real-world applications. The course introduces the core concepts of supervised, unsupervised, and self-supervised learning, along with essential topics such as model evaluation, generalization, and the bias–variance tradeoff. Students will gain proficiency in widely used machine learning algorithms, including linear models and kernel-based methods, and will further develop an in-depth understanding of neural networks and deep learning architectures such as convolutional neural networks, transformer-based models, graph neural networks, and diffusion models. Emphasis is placed on hands-on experience using modern deep learning frameworks, in particular PyTorch, to build, train, and optimize models, as well as on the correct application of performance metrics, validation techniques, and experimental methodologies for robust model assessment.

Language Technologies

This course has two main educational goals. The first is to provide students with the background knowledge necessary to manipulate and process natural language data with computational methods. The module familiarizes the students with the discipline of Computational Linguistics, its main study objects and problems, as well as the methodologies for collecting, representing, and process language data and resources. This goal is instrumental to the second one, of learning the machine learning techniques that are used to process natural language, from the representation of language as algebraic structures and tensors, to a series of neural architectures based on the attention mechanism used to train general-purpose language models for classification and generation tasks.