Mattia Curri

Course notes from my degrees and tutoring.

Master's

Formal Methods 2024โ€“25

Propositional, predicate and temporal logic, Petri nets, and model checking with NuSMV.

Fundamentals of AI 2024โ€“25

Logic, ontologies, agents, search and games, expert systems, inductive logic programming, and modal logics.

Software Engineering for AI 2024โ€“25

Building ML systems for production: requirements, system design, versioning, CI/CD, containers, serving APIs, QA, and monitoring.

Machine Learning 2024โ€“25

From regression, SVMs and decision trees to CNNs, RNNs, autoencoders and generative models, plus probabilistic graphical models, probabilistic circuits, and knowledge graph embeddings.

Big Data 2025โ€“26

The KDD process, association rules, ensembles, data streams, NoSQL with Cassandra, and Spark.

Bachelor's

Metodi Avanzati di Programmazione 2022โ€“23

Object-oriented programming in Java: abstraction, polymorphism, exceptions, collections, generics, I/O, threads, networking, and functional programming.

Ingegneria della Conoscenza 2023โ€“24

Search, constraint satisfaction, propositional inference, supervised learning, neural networks, learning under uncertainty, relations, and knowledge graphs.

Tutoring

Tutorato 2025โ€“26

Exercises and solutions in C for intro programming, plus grammars and formal languages for the Programming and Formal Languages course.