Delivered study plan 2022/2023

Students of the Italian National PhD Program in Artificial Intelligence (led by Sapienza University of Rome) may consider in their study plan any course included in one of the following lists.

  • The list of the courses offered specifically for the Italian National PhD Program in Artificial Intelligence in Sapienza, University of Rome. Such courses, offered by the different academic partners of the PhD Program in Artificial Intelligence, can be found in the remainder of this document.

  • The list of courses offered by the PhD Program in Engineering in Computer Science (Sapienza, University of Rome)
    https://phd.uniroma1.it/web/OffertaFormativa38.aspx?i=3514&l=IT
    https://docs.google.com/document/d/1unIN6X00PknWA6LobNIn4WhJQ2ZMUWtoqcliLeP0Yjs

  • The list of courses offered by the PhD Program in Data Science (Sapienza, University of Rome)
    https://phd.uniroma1.it/web/OffertaFormativa38.aspx?i=3565&l=IT

  • The list of the courses offered within the different branches of the whole National PhD Program in Artificial Intelligence programs. The list of all the branches can be found at the following link: https://www.phd-ai.it/en/359-2/. As a special case, interested students may find the list of courses offered within the Italian National PhD Program in Artificial Intelligence for Society (University of Pisa) at the following address: https://phd-ai-society.di.unipi.it/training/

All the courses are offered in a blended or purely online format. Therefore, attendance should be possible even if the course is offered in another city or country. For all the details about the courses, please, refer to the email addresses of the professors teaching the courses (indicated in the description below).

------------------------------------------------------------------------------------------------------------------------------------------------------------
IN WHAT FOLLOWS E PRESENT THE LIST OF THE COURSES OFFERED BY THE ITALIAN NATIONAL PhD PROGRAM IN ARTIFICIAL INTELLIGENCE (Sapienza, University of Rome) A.Y. 2022/23
------------------------------------------------------------------------------------------------------------------------------------------------------------

Title: Game-Theoretic Approach to Planning and Synthesis
Instructors: Giuseppe De Giacomo, Antonio Di Stasio, Giuseppe Perelli, Shufang Zhu (Sapienza University of Rome)
Contact Email: degiacomo@diag.uniroma1.it
Host Institutions: Sapienza University + ICT-48 TAILOR (https://tailor-network.eu/) + AIDA: AI Doctoral Academy (https://www.i-aida.org/)
Level: Postgraduate
Course duration: 20 hours.
Course Type: Lecture series.
Registration: Free but required
Class delivery modality: Blended (Online and In Presence).
In-presence Location: Department of Computer, Automation, and Management Engineering, Sapienza University of Rome
Online Location: Zoom
Schedule: TBA
Language: English
Notes: We, as instructors, will not give exams to other Ph.D. curricula except Sapienza’s. Though we can informally discuss the topics in the course with anyone interested in them.
Description: This course introduces AI planning and program synthesis for tasks (goals) expressed over finite traces, instead of states. Specifically, borrowing from Formal Methods we will consider tasks and environment specifications expressed in LTL, as well as its finite trace variant LTLf. We will review the main results and algorithmic techniques to handle planning in nondeterministic domains. Then, we will draw connections with verification, reactive synthesis in particular, together with their game-theoretic solution techniques. The main catch is that working with these logics can be based on devising suitable games and finding strategies, i.e., plans, to win them. Specifically we will cover the following topics: Planning in nondeterministic domain, Temporal Logics, LTL, LTLf, Game-theoretic Techniques, Safety Games, Reachability Games, Games for LTL/LTLf objectives, Reactive Synthesis. This course is partially based on the work carried out in ERC Advanced Grant WhiteMech.

Title: Research Methods
Credits: 6 CFU (36 hours of lectures, 114 hours of individual work)
Reference Instructor: Diego Calvanese (Free University of Bozen-Bolzano)
Additional Instructors: Matteo Ceccarello
Antonella De Angeli
Enrico Franconi
Marco Montali
Werner Nutt

Abstract: The course consists of six units, taught in six different weeks by different lecturers from the Faculty of Computer Science of the Free University of Bozen-Bolzano, and covering the following topics:
- Presenting scientific work (Marco Montali)
- Introduction to research and scientific paper reading and writing (Diego Calvanese)
- How to write a research plan (Antonella De Angeli)
- Good scientific writing style (Enrico Franconi)
- Research evaluation (Werner Nutt)
- Empirical/experimental CS research methods (Matteo Ceccarello)
Each unit foresees two lectures, one at the beginning of the week (3-4 hours), and one at the end (2-3 hours). In the first lecture, the lecturer covers key notions about the respective topic and assigns the students a task they have to complete during the week. In the second lecture, the work carried out by the students is discussed, and further important lessons are drawn from the comments provided in the groupwork.

The tentative schedule of the lectures is as follows: (still to be confirmed)

09/01-13/01 Marco Montali (Presenting scientific work)
16/01-20/01 Diego Calvanese (Introduction to research, and scientific paper reading and writing)
23/01-27/01 Antonella De Angeli (How to write a research plan)
30/01-03/02 Enrico Franconi (Good scientific writing style)
06/02-10/02 Werner Nutt (Research evaluation)
13/02-17/02 Matteo Ceccarello (Empirical/experimental CS research methods)

Website (old edition): http://www.inf.unibz.it/~calvanese/teaching/2022-01-PhD-RM/


Title: An introduction to foundations of SAT-solving
Instructor: Prof. Nicola Galesi
Contact Email: galesi@diag.uniroma1.it

Hours: 15 hours (four weeks, 4hr/week)

Abstract: The satisfiability problem (SAT) is the problem to determine whether a given a formula in propositional logic has a satisfying assignment or not
This is a problem of central importance to both the theory of computer science and the practice of automatic theorem proving and proof search.

For theoretical computer science, SAT is the canonical NP-complete problem. In contrast, for practical theorem proving, SAT is the core method for encoding and solving problems. Amazingly, state-of-the-art algorithms for deciding satisfiability - so-called SAT solvers - can routinely handle real-world instances involving hundreds of thousands or even millions of variables. SAT solvers can often run in (close to) linear time and it is no surprise that most companies doing software or hardware verification are now using SAT solvers (for example Intel). Many SAT solvers are openly available from academia or the industry and can be used as a black box with a simple input/output language developed at DIMACS.

The current state-of-the art SAT solvers are based on Resolution (DPLL algorithm) and the so called conflict-driven clause learning (CDCL) extensions of DPLL. Some solvers also incorporate elements of algebraic reasoning like Gaussian elimination and geometric reasoning based on integer programming.

The course aim is to introduce the student to the the theoretical foundations of SAT-solving: (1) understanding Resolution and the core engines of modern SAT-solvers, i.e. DPLL algorithm and CDCL heuristic; (2) understanding the theoretical limitations of such solvers studying the interactions between SAT-solving and Proof Complexity, i.e. the theory of the efficiency of proving theorems; (3) A brief glimpse inside other geometric heuristics to approach SAT-solving.

Schedule: At the moment the course is scheduled on Thurs: May 4, 11, 18, 25 from 10:00 to 14:00 both remotely and in-class in Room A2 at DIAG (Via Ariosto 25, 00185 Roma)

Web page: https://sites.google.com/diag.uniroma1.it/foundations-of-sat-solving/home-page

Prerequisites: No specific topic is required to take the course: Basic (undergrad level) knowledge in Logic, Discrete Math, Combinatorial optimization and Complexity theory may be helpful but not necessary.

Evaluation: A final presentation of a research paper (or part of it, if too long) concerning the topics of the course with a final question-&-answer session.


Title: Machine Learning Security

Instructor(s): Battista Biggio, University of Cagliari, Italy
Contact Email: battista.biggio@unica.it
Duration: 50 hours
Credits: 5 CFU

When: October-December 2023

Location: Lectures will be held at the Department of Electrical and Electronic Engineering, University of Cagliari. Online: The course will also be offered online via Teams.

Description. Today machine-learning algorithms are used for many real-world applications, including image recognition, spam filtering, malware detection, biometric recognition. In these applications, the learning algorithm may have to face intelligent and adaptive attackers who can carefully manipulate data to purposely subvert the learning process. As machine learning algorithms have not been originally designed under such premises, they have been shown to be vulnerable to well-crafted attacks, including test-time evasion (namely, adversarial examples) and training-time poisoning attacks. In addition, the security of machine-learning models deployed as a service (MLaaS) has been questioned through the careful construction of adversarial queries that can reveal confidential information on the machine-learning model itself, the training data used to build it, or even its users. This course aims to introduce the fundamentals of the security of machine learning, the related field of adversarial machine learning, and some techniques to assess the vulnerability of machine-learning algorithms and to protect them from adversarial attacks. We report application examples including object recognition in images, biometric recognition, spam and malware detection.

Website: https://github.com/unica-mlsec/mlsec

Evaluation: PhD students are required to develop and present a project related to the course topics, either proposed by themselves, or assigned by the course instructor.

Title: Machine Learning
Instructor(s): Battista Biggio, University of Cagliari, Italy
Contact Email: battista.biggio@unica.it
Duration: 60 hours
Credits: 6 CFU

When: March-May 2023

Location: Lectures will be held at the Department of Electrical and Electronic Engineering, University of Cagliari. Online: The course will also be offered online via Teams.

Description. The objective of this course is to provide students with the fundamental elements of machine learning and its applications to pattern recognition. The main concepts and methods of machine learning and statistical pattern recognition are presented, as well as basic methods to design and evaluate the performance of a pattern recognition system.
Expected outcomes include an understanding of fundamental concepts and methods of machine learning, statistical pattern recognition and its applications; an ability to analyze and evaluate simple algorithms for pattern classification; an ability to design simple algorithms for pattern classification, code them with Python programming language and test them with benchmark data sets.

Website: https://github.com/unica-ml/ml

Evaluation: PhD students are required to develop and present a project related to the course topics, either proposed by themselves, or assigned by the course instructor.


Title: Diritto delle tecnologie emergenti/Emerging Technologies Law.
Instructors: Simona Cacace – Giorgio Pedrazzi (Università degli Studi di Brescia).
Contact Email: simona.cacace@unibs.it

Course duration: 20 hours.

Class delivery modality: Online.

Online Location: Meet/Teams.

Schedule: May/October 2023.

Language: English/Italian.

Description. The technological revolution induced by Artificial Intelligence raises
unprecedented legal questions, calling for prompt answers. Those who develop or apply Artificial Intelligence systems shall be introduced to the fundamental legal concepts and regulatory tools to better understand this new scenario and to control its challenges. After completing the course, students should be able to analyze and evaluate the relevance of the concepts investigated during the course and to assess the main legal solutions.

This course offers an interdisciplinary legal and bio-legal dimension in private and
comparative private law, focusing on the biotechnological and healthcare fields, as well as the legal issues connected to safety, precaution and liability of the man-machine interaction.

Course Overview.
The course consists of two units, taught in different weeks.
Unit 1. Introduction to the ethical and legal issues of Artificial Intelligence - Simona
Cacace
(01/5/2023 - 30/06/2023)
Schedule:
Lecture 1.1: Monday 08/05/2023, 17:00-18:30
Lecture 1.2: Monday 22/05/2023, 17:00-18:30
Lecture 1.3: Monday 12/06/2023, 17:00-18:30
Lecture 1.4: Monday 19/06/2023, 17:00-18:30
Lecture 1.5: Monday 26/06/2023, 17:00-18:30
Unit 2. AI: Big Data, privacy and liability - Giorgio Pedrazzi
(01/09/2023 - 31/10/2023)
Lecture 1.1: Monday 04/09/2023, 17:00-18:30
Lecture 1.2: Monday 11/09/2023, 17:00-18:30
Lecture 1.3: Monday 18/09/2023, 17:00-18:30
Lecture 1.4: Monday 25/09/2023, 17:00-18:30
Lecture 1.5: Monday 02/10/2023, 17:00-18:30

Title: Adversarial Machine Learning
Instructors: Fabio Roli and Luca Demetrio

Contact Email: fabio.roli@unige.it

Duration: 12 hours (3 half-days)

When: July 3-5 2023

Where: online on MS Teams

Curriculum: Cybersecurity and Reliable AI
Exam: 2 written assessments (one with multiple choice questions, one hands-on assessment using the SecML software library, https://secml.readthedocs.io/en/v0.15/)

Abstract:Today machine-learning algorithms are used for many real-world applications, including image recognition, spam filtering, malware detection, biometric recognition. In these applications, the learning algorithm can have to face intelligent and adaptive attackers who can carefully manipulate data to purposely subvert the learning process. As machine learning algorithms have not been originally designed under such premises, they have been shown to be vulnerable to well-crafted attacks, including test-time evasion and training-time poisoning attacks (also known as adversarial examples). In particular, the security of cloud-based machine-learning services has been questioned through the careful construction of adversarial queries that can reveal confidential information on the machine-learning service and its users. This course aims to introduce the fundamentals of the security of machine learning, the related field of adversarial machine learning, and some techniques to assess the vulnerability of machine-learning algorithms and to protect them from adversarial attacks. We report application examples including object recognition in images, biometric identity recognition, spam and malware detection, with hands-on on attacks against machine learning and defences of machine-learning algorithms using the SecML software library,
https://secml.readthedocs.io/en/v0.15/.

Program:

1. Introduction to adversarial machine learning: introduction by practical examples from computer vision, biometrics, spam, malware detection.

2. Design of learning-based pattern classifiers in adversarial environments. Modelling adversarial tasks. The two-player model (the attacker and the classifier). Levels of reciprocal knowledge of the two players (perfect knowledge, limited knowledge, knowledge by queries and feedback). The concepts of security by design and security by obscurity

3. System design: vulnerability assessment and defense strategies. Attack models
against machine learning. Vulnerability assessment by performance evaluation.
Taxonomy of possible defense strategies.

4. Hands-on classes on attacks and defences of machine-learning algorithms using the SecML open-source Python library for the security evaluation of machine learning algorithms (https://secml.readthedocs.io/en/v0.15/ ).

5. Summary and outlook. Current state of this research field and future perspectives

References:

• B., Battista, F. Roli. "Wild patterns: Ten years after the rise of adversarial machine
learning." Pattern Recognition 84 (2018): 317-331.

• B. Biggio, F.Roli, Wild Patterns, Half-day Tutorial on Adversarial Machine Learning:
https://www.pluribus-one.it/research/sec-ml/wild-patterns

• Biggio, B., Corona, I., Maiorca, D., Nelson, B., Srndic, N., Laskov, P., Giacinto, G.,

Roli, F. Evasion attacks against machine learning at test time. ECML-PKDD, 2013.

• Biggio, B., Fumera, G., Roli, F. Security evaluation of pattern classifiers under attack.
IEEE Trans. Knowl. Data Eng., 26 (4):984–996, 2014.











Title: Effective habits and skills for successful young scientists

Instructor(s): Fabio Roli

Contact Email: fabio.roli@unige.it

Duration: 20 hours (5 half-days)

When: June 26-30 2023, 09-13 a.m.

Where: online on MS Teams

Exam: written assessments with open-ended questions

Abstract:
Although tons of books on effective habits and soft skills have been published, they have not been thought for scientists, and, therefore, issues that are relevant for them are not easily available. This short course aims to collect spread ideas and place them in a coherent framework useful for young scientists and provide a small tactical guide for scientists at the first stages of their career. First, I review the main concepts of Steve Covey's personal and time management paradigm, the inspirational speeches of the late Professor Randy Pausch, and the paradigm of atomic habits of James Clear, and discuss their utility for daily activity of a young scientist. Then, I focus on a few practical skills, namely, on how to write a great paper and give a great talk. I try to convey the message that succeeding in science and technology requires skills and habits beyond the pure intelligence and intellectual abilities, and that good
habits and skills of personal and time management are extremely important for young scientists.

Program:
1. Basic concepts of theory of habits. Effective habits for young scientists.
2. Basis concepts of personal and time management. Effective personal and time
management for young scientists.
3. Survival skills in the game of science. Know yourself: match your goals to your character and talents.
4. How to write a great paper.
5. How to give a great talk.

References:
• S. Covey, The 7 Habits of Highly Effective People, 2020
• J. Clear, Atomic habits, 2018
• F. Rosei, T. Johnston, Survival skills for scientists, 2006
• F. Roli, Personal and time management for young scientists, tutorial at the International
Conference on Machine Learning and Cybernetics, 2013
• R. Hamming, You and your research, 1986
• U. Alon, How to choose a good scientific problem, Molecular Cell, 2009.
• D. A. Patterson, How to have a bad career in research, Talks at Google, 2016


Title: Mobile Security

Instructor: Alessio Merlo and Luca Verderame

Contact Email: {name.surname}@unige.it

Hours: 20 hours (one week, 4hr/day)

When: TBA - June-July 2023

Location: The course will be held online on Microsoft Teams.

Abstract: The course provides an overview of the main topics related to the security of mobile devices and applications. The course offers an insight into the leading mobile operating systems (i.e., Android and iOS) and their security issues. Moreover, the course discusses emerging mobile security technologies (e.g., Host-Based Card Emulation and Trusted Execution Environment), security threats, and possible countermeasures. The second part of the course will cover the security of Mobile Applications, focusing on state-of-the-art frameworks and methodologies for the vulnerability assessment of Android applications. Finally, the course will provide specific hands-on sessions with tools and techniques for the vulnerability assessment of Android applications.

Course Program:
Introduction to mobile devices: history, features, and evolution;
Architecture and security features of the principal mobile OSes (Android, iOS);
Emerging mobile security technologies, security threats, and countermeasures;
OWASP for Mobile Application Security Analysis;
Reverse Engineering of Android Apps and Reversing Countermeasures;
Static and Dynamic analysis of Android Apps.

During the hands-on sessions, students will get acquainted with several static and dynamic analysis tools, including

ObfuscAPK - https://github.com/ClaudiuGeorgiu/Obfuscapk
Apktool - https://ibotpeaches.github.io/Apktool/
Jadx - https://github.com/skylot/jadx
Inspeckage - https://github.com/ac-pm/Inspeckage
Approver - https://approver.talos-sec.com
Charles Proxy - https://www.charlesproxy.com

Examination: each student must prepare a short report detailing a security analysis of a mobile app made using the concepts and tools presented in the course. After completing the project, students must present the main results included in the report (max 5 min).


Title: An Introduction to Prolog

Instructor: Viviana Mascardi

Contact Email: viviana.mascardi@unige.it

Duration: 12 hours (3 half-days)

When: April 3-4-5, 2023 (4 hours per day, given in presence at DIBRIS and online via Teams)

Where: DIBRIS, Via Dodecaneso 35, Genova, and online on MS Teams

Exam: Different forms of exam can be agreed with the instructor, including the development of a small project in Prolog; a short survey of the literature on Prolog, on Computational Logic, or on some of their applications; a position paper describing for example a personal – but scientifically well motivated – view on the future of Prolog and Computational Logic in the Neural Network era; etc

Abstract: "In the summer of 1972, Alain Colmerauer and his team in Marseille developed and implemented the first version of the logic programming language Prolog. Together with both earlier and later collaborations with Robert Kowalski and his colleagues in Edinburgh, this work laid the practical and theoretical foundations for the Prolog and logic programming of today. Prolog and its related technologies soon became key tools of symbolic programming and Artificial Intelligence."
This statement is taken from the "The Year of Prolog" web page, http://prologyear.logicprogramming.org/: the 50th anniversary of Prolog has been celebrated in 2022 with scientific and dissemination initiatives all over the world. Keeping the momentum going, we offer a compact introductory course on Prolog, with practical exercises and an overview of the existing and future Prolog applications. In particular, we highlight the potential of Prolog for implementing cognitive intelligent agents and for supporting eXplainable Artificial Intelligence (XAI) thanks to its declarative flavor.

Program:
Prolog syntax
Prolog operational semantics
Extra-logical and meta-logical predicates
Examples
Applications
Future perspectives

References:
The Art of Prolog, second edition, Advanced Programming Techniques by Leon S. Sterling and Ehud Y. Shapiro, 1994


Title: Approximate Computing for low-energy, high-speed and area-efficient digital circuits and systems: when “good enough” is better than “good”

Reference Instructor: Prof. Fabio Frustaci (f.frustaci@dimes.unical.it)

Schedule: 19-23 Giugno 2023

Duration: 8hrs

Abstract: The design optimization of digital circuits and systems typically consists in a three-dimensional trade-off among energy dissipation, area occupancy and computational speed. In the last decade, breaking such a trade-off has become very challenging since the breakdown of Dennard’s scaling, and as Moore’s and Koomey’s laws approaching their end. Therefore, newer devices, architectures, and design techniques have become extremely urgent, also due to the strict energy, speed and area-efficiency requirements dictated by the emerging Internet-of-Things applications. Approximate Computing (AC) is a recent design paradigm aiming to fill the gap between requirements and capabilities of current platforms. It consists in introducing a new dimension in the optimization space, accuracy, to significantly reduce the hardware complexity, energy consumption and computational time. AC can be applied in several application areas that are intrinsically resilient to computational errors, e.g., machine learning, sensor signal processing, data mining and multimedia. The degree of accuracy can span across all the vertical computing stack, starting from the algorithm level and going down to the circuit and device levels. Preferably, a cross layer interaction should be enabled to optimize the energy-area-speed-accuracy trade-off.
In this course, we will describe the most recent techniques based on AC, focusing in particular on arithmetic circuits at transistor and logic level and on memory architectures. Moreover, we will present a general overview about how approximation can be leveraged at software and device levels. Finally, we will discuss about several application examples and computing platforms where AC can be applied, thus underlining the interdisciplinarity of such a design paradigm.


Title: Deep Learning and Statistical Learning

Reference Instructor: Prof. Giuseppe Manco (giuseppe.manco@icar.cnr.it)

Schedule: 10-14 Luglio 2023

Duration: 8hrs

Abstract: The course is aimed at reviewing a set of statistical and feature learning methods and tools which can be exploited in data science. We will start by studying probabilistic modeling, the problems of inference and parameter estimation, generative vs. discriminative learning, Bayesian learning. Within this framework, we will focus on the most prominent machine learning methods: Neural networks and Feature learning, latent variable modeling. We shall apply these mathematical tools to the problems of supervised, semi-supervised and unsupervised learning and to scenarios such as text and document modeling, image and video analysis, social network analysis, recommendation.

Title: Digital technologies and artificial intelligence law

Reference Instructor: Prof. Pasquale Laghi (pasquale.laghi@unical.it)

Schedule: 20 Aprile - 15 Maggio

Duration: 8hrs

Abstract: The course focuses on the main legal aspects of digital technologies and artificial intelligence. The first part of the course is dedicated to general aspects, relating to the development of a legal notion of cyberspace and the analysis of different regulatory approaches. Subsequently, having acknowledged the disciplinary inadequacy of formal legislation, the issue of non-regulatory based regulatory systems is addressed. In this sense, the need for an ""interdisciplinary"" approach is recognized that can lead to the definition of legal rules ""modeled on the nature of things"" to be regulated. Specifically, the disciplinary potential of design is analyzed, i.e. the suitability of design standards in regulating digital phenomena in a much more incisive way than the laws in a formal sense. From the examination of the advantages and criticalities of such an approach - especially with regard to respect for fundamental rights and freedoms - we come to envisage a new model of regulation, based on the interaction between legal and technical factors, the result of which is to to arrive at the creation of a so-called norm ""techno-juridical"" which derives its binding character, in the light of the principle of horizontal subsidiarity. The second part of the course addresses the problem of the so-called cybersecurity, with regard to both digital activities and more specifically artificial intelligence. We come to the definition - also in the light of the main European regulatory interventions - of a ""proceduralized"" and ""multiphase""security model, based on the subsidiary interaction between legal, technical and organizational-managerial factors. Subsequently, the issue of responsibility deriving from the production and management of artificial intelligence systems is dealt with, both in terms of existing legislation and in terms of European regulatory proposals.


Title: IoT and Edge AI

Reference Instructor: Prof. Antonio Iera, Prof. Claudio Savaglio (antonio.iera@dimes.unical.it)

Schedule: 12-13 Giugno 2023

Duration: 8hrs

Abstract: The course is organized in 4 sessions, two mainly theoretical and two mainly practical, we will try to trace the approach path from IoT to edge computing, presenting, as a main result, the concept of TinyML, i.e. the use of machine learning in 1 mW devices.

We will start with a description of what the IoT is and what are its various components, focusing on two relevant communication protocols: LoRaWAN, as a low power communication standard and MQTT as a widely used protocol to connect devices and services in a more flexible way than the classical REST (HTTP) based solutions.

The next step, in the first practical session, will be to provide an overview of the data path, from the sensors through the different network components, gateways, networks servers, visualization platforms up to the "TIG stack" used to facilitate the collection, storage, visualization and generation of alerts from time series data.
The next two sessions will justify the need for edge computing in IoT and describe TinyML, which is a rapidly growing area where machine learning technologies and applications, including hardware, algorithms and software, are capable of performing sensor data analysis on devices with extremely low power consumption, typically in the mW range and below, and thus enabling a variety of broader use cases targeting battery-powered devices. The theory session will describe the process of using the TensorFlow Lite libraries and devices such as the Arduino Nano 33 BLE Sense and the hands-on session will use the Edge Impulse platform, currently the leading development platform for ML on edge devices, to build a real-time model using the accelerometer, microphone or camera of a smartphone, how to collect data and train machine learning algorithms, and observe what happens live on the platform


Title: Declarative Problem-solving with Answer Set Programming


Instructors: Francesco Ricca francesco.ricca@unical.it, Simona Perri simona.perri@unical.it


Schedule: Maggio 2023


Duration: 12hrs


Abstract: Answer Set Programming (ASP) is a powerful AI formalism for knowledge representation and reasoning that has been developed in the field of logic programming and nonmonotonic reasoning. After more than twenty years after the introduction of ASP, the theoretical properties of the language are well understood and the solving technology has become mature for practical applications. The high modeling power of ASP makes it ideal for solving several complex problems arising in both academic and industrial applications of AI. Problems are modeled and solved in a declarative fashion by specifying a set of logic rules and resorting to an ASP system to compute solutions. In this course, we first present the basics of the ASP language and ASP solving techniques, and, then, we concentrate on its usage for knowledge representation and reasoning in several contexts. In particular, we illustrate methodologies and tools for the development of ASP-based applications, possibly mentioning some relevant extensions of ASP for ontological reasoning, combinatorial optimization, planning, neural-symbolic reasoning, explainable AI, and more. We also report on the development of both academic and industry-level applications of ASP developed with the ASP system DLV.








Title: An introduction to GPGPU Programming in CUDA

Instructor: Donato D'Ambrosio donato.dambrosio@unical.it

Schedule: Marzo 2023

Duration: 12hrs


Abstract. Nvidia CUDA is currently one of the most diffuse technologies and programming models for General-Purpose computing on Graphics Processing Units (GPGPU), representing one of the best options to speed up computer applications in various scientific fields, including Numerical Simulation, Artificial Intelligence, and Data Science. This course provides an operative introduction to CUDA through simple examples. It also illustrates the parallelization of the SciddicaT cellular automaton, a simple but effective Computational Fluid Dynamics (CFD) model for landslides simulations.


Title: An introduction to Kubernetes

Instructor: Mario Alviano mario.alviano@unical.it


Schedule: Maggio 2023


Duration: 12hrs

Abstract: Kubernetes is widely used in data-centers to abstract away the hardware infrastructure, and to expose a whole data-center as a single enormous computational resource. Software components, often microservices, are deployed and run without having to know about the actual servers underneath. Kubernetes autonomously selects a server for each component, deploys it, and enables it to easily find and communicate with all the other components of your application. This course introduces the main concepts required to effectively develop and run applications in a Kubernetes environment.


Title: Inductive and deductive AI techniques: overview, limitations, innovative solutions and real-world applications

Instructor: Jessica Zangari zangari@mat.unical.it


Schedule: Settembre 2023


Duration: 12hrs


Abstract. In recent years, AI techniques can be envisioned in two main classes: inductive and deductive ones. The course will survey some innovative approaches in both categories, also discussing their limitations. On the inductive side, the course will mainly discuss Deep Learning (DL), a widely used approach in several application scenarios thanks to its ability in identifying complex relationships within huge amounts of data and in detecting latent patterns; in particular, the course will present DL-based applications in healthcare contexts. However, the lack of proper means to explain the decision-making process is still a relevant issue in DL approaches, while deductive methods are somehow complementary, as they are often ”explainable by design”. The course will hence provide an overview of them, mostly focusing on Answer Set Programming (ASP). In particular, the course will cover very recent advancements in incremental evaluation techniques purposely conceived to further extend ASP applicability. Indeed, these new ASP features make it attractive also in real-world contexts such as Stream Reasoning.



TItle: Artificial Intelligence in highly dynamic environments

Instructor: Giovambattista Ianni giovambattista.ianni@unical.it


Schedule: Giugno 2023


Duration: 12hrs


Abstract: The course introduces the audience to techniques of design and integration of automated reasoning modules in unknown environments, possibly partially structured or not structured at all, where requirements on timing performance are very strict. These environments include stream reasoning, robotic applications, and real-time videogames. The course overviews reactive reasoning systems, deliberative systems, hybridizations of these, and integration techniques in real applications; then some use cases, related to videogames and robotics are described. A collective discussion on related open and challenging research problems closes the course.



Title: Parallel Computing Optimization Techniques in Computational Science


Instructor: William Spataro william.spataro@unical.it


Schedule: To Be Defined (Contact the Instructor)

Duration: 12hrs


Abstract: Computational Science is a field of Mathematics that adopts techniques, tools, and theories by exploiting the computing power of advanced parallel computers. Typical applications are found Science and Engineering, and regard among others Complex Systems, Bioinformatics, Data Science, and Modelling and Simulation in general. After a rapid overview of parallel computing and High Performance Computing paradigms, the course presents optimization techniques that are adopted to further speed-up di performances of computational models on parallel machines. As support, simple computational fluid dynamics (CFD) models, referred to landslide and lava flow simulation, are adopted to illustrate the presented methods.


Title: Logical Methods for Data Management

Instructor: Marco Console console@diag.uniroma1.it

Duration: 15 hours

Website: https://classroom.google.com/c/NTg2MjY2NjQ2NDc1?cjc=7lokias

Timeframe: July or September 2023

Abstract

Mathematical logic played an active role in the development of data management systems. Tools from logic are used, for example, to define data models and query languages and to study the complexity of several data management tasks. In this course we will survey a set of tools from mathematical logic relevant for data management and present some of their applications. Topics will include:

Logical formalization of the relational model
Circuital complexity of query answering
Logical definability of queries
Incomplete information

At the end of the course, students will have a basic understanding of these tools and their scope of application.

Suggested Material

Abiteboul, Hull, Vianu. Foundations of Databases.
Libkin. Elements of Finite Model Theory.
More material will be suggested during the course

Exam. Final exam is possible.

Title: Deductive and Inductive Reasoning over Knowledge Graphs

Instructor: Gianluca Cima
Contact Email: cima@diag.uniroma1.it

Duration: 15 hours
When: From 04 September to 22 September 2023 (3 weeks, 5/hrs per week)
Location: Lectures will be held online using the Google Meet platform

Abstract: Knowledge Graphs are graphs intended to capture domain knowledge of real-world scenarios, whose nodes represent entities of interest and whose edges represent relations between these entities. The main purpose of this course is to provide a comprehensive introduction to Knowledge Graphs, with the specific goal of understanding how to reason over them using both deductive and inductive techniques.

Web page (Classroom): https://classroom.google.com/c/NTk0NDkxNjc1NjAz?cjc=734tk7j

Prerequisites: No prerequisite is required for this course

Evaluation: There are two alternatives for the candidates to pass the exam:
Paper Presentation. Candidates illustrate the content of one paper suggested by the instructor. Unless otherwise specified, presentations are intended to be individual;
Practical Project. Candidates implement and illustrate an algorithm from a paper suggested by the instructor. Practical projects can be presented in groups of up to three candidates.

© Università degli Studi di Roma "La Sapienza" - Piazzale Aldo Moro 5, 00185 Roma