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