This PhD course discusses the transition from big data architectures to the broader notion of data platforms and introduces some of the research opportunities and open challenges related to the synergy of data platforms and artificial intelligence. The course (i) introduces the world of big data, (ii) provides an in-depth analysis of polyglot persistence (multistores, polystores, and lakehouse architecture) to query heterogeneous distributed database systems, (iii) shows the main techniques based on AI for the smart management of data platforms, and (iv) summarizes future challenges and applications.
This PhD course introduces methods and tools for the planning and execution of (systematic) literature reviews. It will provide a conceptual framework on the topic, the types of literature reviews (and their differences), and the most authoritative guidelines for studies in computer science. It will also cover the steps for planning literature reviews, and rigorous techniques for effective extraction and presentation of results. Notable articles will be used as case studies. Finally, the course will provide Python-based tools to support the literature review process, including the gathering and analysis of data.
Complex systems play an important role in our understanding of nature; indeed, very diverse phenomena such as a dripping faucet, pedestrians walking on a bridge, a flock of birds, or the future evolution of the solar system, are all governed by self-interactions that produce emergent behaviors that may appear unpredictable. Computers help us understand these phenomena and have become an essential tool in the study of complex systems. In this course we will explore the computational aspects of chaos, fractals and dynamical systems. In this journey we will understand what computation can and cannot do with respect to the analysis of natural and artificial phenomena.
This PhD course introduces GPU parallel programming with CUDA, which is now essential for accelerating computationally intensive applications, particularly in AI and Computer Vision. The course covers the key concepts of CUDA: the programming model, the execution model and the memory hierarchy. Implementations will be explored in CUDA C and through high-level interfaces such as PyCUDA and CuPy, up to integration with modern AI frameworks such as PyTorch. The course will present practical cases of CUDA being used to optimize computer vision and deep learning algorithms, highlighting its importance in modern AI applications.
The purpose of the course is to present students with a critical selection of articles of relevance to the broad field of machine intelligence. Foundational papers -both technical and philosophical- in the fields of artificial intelligence, robotics, cybernetics and cognitive systems will be surveyed.
Deep generative models represent one of the most groundbreaking innovations in recent years within the field of artificial intelligence, thanks to their remarkable ability to generate images and text that are virtually indistinguishable from real ones. Despite their growing popularity, these models are often treated as black boxes, without a deep understanding of how they work. This course aims to introduce students—even those with no prior knowledge of the topic—to modern generative models, providing both a solid theoretical foundation and practical tools for their implementation. Specifically, the course will: (i) introduce the fundamental concepts needed to understand modern generative models, (ii) explore in depth some of the most widely used models, including Variational Autoencoders, Generative Adversarial Networks, and Diffusion Models, (iii) equip students with the necessary skills to implement these models independently and integrate them into their own research, and (iv) build a strong foundational knowledge, enabling students to further deepen their understanding through scientific literature. By balancing theory and practice, the course will offer a clear and comprehensive overview of the most advanced methodologies in generative modeling, fostering their conscious and critical use in research.
Deep Learning models and optimization algorithms are not designed to learn continuously, and they struggle to generalize and adapt to new circumstances and environments. To achieve continual learning capabilities, an intelligent agent must contextualize past knowledge while acquiring new skills and improving existing behaviors in response to novel scenarios. However, when faced with new concepts to learn or drifts in data distribution, a model trained with classic gradient-based techniques forgets all previously accumulated knowledge, leading to “catastrophic forgetting”. The concept of learning continually from experiences has long been explored in AI and robotics. Research in this direction has been referred to by different names, such as Lifelong Learning and Continual Learning, with the latter being associated with most modern approaches. This course introduces Continual Learning, covering its key challenges, main approaches, reference benchmarks, and evaluation metrics. A hands-on part will guide students through Avalanche, the main research framework in this area.
Serverless Computing is an emerging model of Cloud Computing where applications, services, and functions created by users are managed by cloud providers throughout their entire lifecycle. This doctoral course introduces students to the fundamentals necessary to understand this emerging cloud computing model, the motivations behind its success, and the advantages and disadvantages it offers compared to classical models. The course will then focus on the main architectural approaches adopted at the infrastructural level, developed by the leading open-source solutions available on the market and proposed in research. Finally, the course will explore the many research directions for Serverless and cloud infrastructures supporting this paradigm, as well as the new possibilities that the application of this model can provide in the fields of Industry 5.0, Smart City, and Cloud Continuum.
Big data privacy is gaining momentum in the research community, due to the several challenges posed by the issue of ensuring the privacy of such kind of data in real-life applications and systems. The proposed course will start from foundations of big data privacy and will evolve to specialized topics of big data privacy, with regards to the case of multidimensional big data. Course Overview: (1) Lecture 1: Big Data Privacy: Foundations; (2) Lecture 2: State-Of-The-Art Algorithms for Big Data Privacy; (3) Lecture 3: Federated Learning over Big Data; (4) Lecture 4: Privacy-Preserving Big Multidimensional Data Management; (5) Lecture 5: Privacy-Preserving Big Data Analytics via Drill-Across Multidimensional Analytics over Big Co-Occurrence Aggregate Hierarchical Data.
The learning objectives of this module can be summarized as follows: