Discrete event systems are systems whose dynamic behaviour is driven by asynchronous occurrences of discrete events. Examples can be found in a variety of fields, such as control, computer science, automated manufacturing, and communication and transportation networks. The aim of this course is to equip the students with several modelling and analysis tools for discrete event systems, ranging from automata theory to Markov chains and queueing theory. Lab tutorials with Matlab will be an important part of this course.