Ph.D. Program

Academic Year 2019/2020

Immigration Courses

Pillar

Title

Instructor

Syllabus

Alg

Design and Analysis of Algorithms

Michele Flammini, Ruben Becker, Bojana Kodric

Basic notions of algorithms and complexity; Divide-and-Conquer; Dynamic Programming; Basic data structures: heaps, hash tables; Greedy; Local Search; Network Flow; All-pairs Shortest Paths; NP-complete problems and intractability; PSPACE

FM

Introduction to Formal Methods

Emilio Tuosto, Omar Inverso, Catia Trubiani

Basics on formal models of computations, operational semantics and (labelled) transition systems, formal languages, preliminary notions of process algebraic approaches. Preliminary concepts of software verification, typical verification flow, common program analysis techniques, decision procedures. Basic concepts of software modelling and analysis with stochastic processes, discrete-time markov processes, and petri nets.

SE

Software, Systems and Services

Ludovico Iovino

Basic concepts of software development paradigms, application domains, the software life cycle, design of software systems and modeling, software architectures. The course also provide some basic knowledge of the tools used to generate software programs from models.

*

How to - Introductory Lectures

Catia Trubiani

How to write a paper. How to give a scientific talk. How to referee a scientific paper.

Core Courses

Pillar

Title

Instructor

Syllabus

SE

Program Analysis

Paola Inverardi

This course analyses different kind of analysis for software: static, dynamic and hybrid. Introduce the theoretical principles of static analysis and present some of the approaches and tools used in software practice.

SE

Software Testing

Antonella Bertolino

General concepts and techniques of software testing. Main approaches for dependability and security validation. Most interesting research challenges in software testing.

SE

Domain Specific Modeling + Probabilistic Model Checking

Dimitris Kolovos, Javier Camara

This course will introduce students to the theory, and to tools and methods for domain-specific modelling and for probabilistic model checking. The first part of the course will cover stochastic modelling using the Prism probabilistic model checker, as well as the basics of quantitative verification of system properties employing probabilistic temporal logics like PCTL and CSL. The second part of the module will introduce object-oriented domain-specific language development using the Eclipse Modelling Framework, graphical syntax specification using the Eclipse Graphical Modeling Framework and Eugenai, and programmatic model management using the Eclipse Epsilon family of languages.

FM

Model Checking and Software Verification

Omar Inverso, Emilio Tuosto

Modelling of reactive systems, review of the model checking approach, temporal logics (LTL, CTL, and CTL*), safety and liveness properties of reactive systems, fairness conditions.

FM

Formal Methods at Work

Catia Trubiani

Modelling, Analysis, and Testing of Probabilistic Systems: Stochastic Process Algebras, Markov Decision Processes, Timed Automata, Queueing Networks

FM

Modelling and Verification of Reactive Systems

Rocco De Nicola

Principles of Parallel and Concurrent Programming, Introduction to Concurrency, Paradigms for Parallel Programming, Interference and Atomicity, Mutual Exclusion, Semaphores, Monitors, Elements of Distributed Programming, Concurrent Programming Languages

Alg

Approximation Algorithms


Gianlorenzo D'Angelo, Cosimo Vinci

Introduction to linear programming; the set cover problem; greedy algorithms and local search; rounding data and dynamic programming; deterministic rounding of linear programs; random sampling and randomized rounding of linear programs; the primal-dual method; techniques to prove the hardness of approximation

Alg

Algorithmic Game Theory

Michele Flammini

Algorithmic Game Theory (Equilibria: dominant versus Nash equilibria; Computational issues of equilibria); Congestion Games; Mechanism design; Computational social choice

Alg

Randomized Algorithms

Ruben Becker, Bojana Kodric

Basics in probability theory; coupon collector and contention resolution; Yao’s principle and the secretary problem; the probabilistic method; randomized min-cut and quicksort; Chernoff bounds; random graphs; smoothed analysis

Advanced Courses

Title

Instructor

Graph Transformations

Adrian Rutle

Multi-Agent Systems and Simulations

Martina De Sanctis

Parameterized Complexity

Clemens Grabmayer, Hugo Gilbert

Reinforcement Learning

Marcello Restelli

Selected topics in graphs and algorithms

Vahan Mkrtchyan

Strategic aspects of blockchain technologies

Paolo Serafino

Testing, Debugging and Program Repairing

Leonardo Mariani