Autonomous and Adaptive Systems 2022-23


The goal of this module is to provide a solid introduction to the design of autonomous and adaptive computing systems from a theoretical and practical point of view. Topics will include principles of autonomous system design, reinforcement learning, game-theoretic approaches to cooperation and coordination, bio-inspired systems, complex adaptive systems, and computational social systems. The module will also cover several practical applications from a variety of fields including but not limited to distributed and networked systems, mobile and ubiquitous systems, robotic systems, and vehicular and transportation systems.

Link to official course page containing syllabus and textbooks



Mailing List of the Course

Please join the mailing list of the course by signing up through this form.

The instructor will exclusively use this mailing list to send all the information regarding the module, including organisation of the lectures, additional material, exams, etc. Please sign-up using your institutional address.


Introduction to the Course

Intelligent Agents and Machines

Introduction to Reinforcement Learning

Multi-armed Bandits

Montecarlo Methods

Temporal Difference Methods

Introduction To Deep Learning and Neural Architectures I

Introduction To Deep Learning and Neural Architectures II

Introduction To Deep Learning and Neural Architectures III

Function Approximation Methods

Policy Gradient Methods

Introduction to TensorFlow and Keras

Reinforcement Learning with TensorFlow

Introduction to Gym/Gymnasium

Multi-agent Systems


Generative Learning


AI Creativity (Giorgio Franceschelli, University of Bologna)


Notebook Keras MNIST

Notebook DQN Cartpole

Notebook DQN Atari Game

Last updated: 9 June 2023.