Autonomous and Adaptive Systems 2019-2020


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


The oral exams will take place on 22 June 2020, 13 July 2020 and 20 July 2020. Please check the first deck on slides containing administrivia and information about the exam (and the programming project to be submitted).

Mailing List of the Course

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


Introduction to the Course

Introduction to Intelligent and Autonomous Agents

Introduction to Reinforcement Learning

Multi-armed Bandits

Monte Carlo Methods

Temporal Difference Learning

Introduction to Deep Learning I

Introduction to Deep Learning II

Value Approximation Methods in Reinforcement Learning

TensorFlow and Keras

Policy Gradient Methods

Introduction to OpenAI Gym

Deep Reinforcement Learning in TensorFlow - Advanced Topics

Multiagent Systems

Autonomous Robots and Self-driving Cars

AI and Creativity: Generative Machine Learning

Python Notebooks

Notebook Keras MNIST

Notebook DQN Cartpole

Notebook TF-agents DQN Atari Games

Last updated: 7 June 2020