Discrete event data about dynamic behavior of individual actors or agents in larger systems is complex and hard to analyze. Process mining provides techniques to analyze discrete event data for understanding, improving, and predicting processes from various application domains in an objective and explainable way. This advanced course on process mining teaches students theoretical foundations and the state-of-the-art in process mining along a complete process mining methodology. You learn how to analyze multi-dimensional event data (in databases), unstructured event data (in event logs), and (real-time) event streams. The course covers how to design model learning algorithms and how to evaluate and improve model quality to learn explainable behavioral models using detailed diagnostic information using pattern detection, graph structure analysis, and state-of-the-art stream data mining.

- Teacher: Dirk Fahland
- Teacher: Arthur Goethem, van
- Teacher: Marwan Hassani
- Teacher: Renata Medeiros de Carvalho
- Teacher: Willem Sonke

In this course, you will develop basic skills and knowledge to create and reason about efficient algorithms to solve computational problems. To be able to reason about algorithms efficiently we first consider the structure and textual form of formal proofs. We then explore different basic algorithms and data structures for frequently appearing problems, using the proving techniques learned to show their correctness. We consider basic algorithm design techniques, correctness analysis, and efficiency analysis of algorithms.

- Teacher: Irene De Parada Munoz
- Teacher: Arthur Goethem, van
- Teacher: Willem Sonke

This course covers fundamental concepts and theory in the fields of

Automata Theory, Formal Language Theory, and Complexity Theory,

including regular languages, context-free languages, and decidable

languages and their computational models, viz. NFAs, PDAs, and TMs. In

addition NP-completeness is treated. The

above corresponds roughly with Chapters 1 to 7 of the textbook for

this course.

- Teacher: Arthur Goethem, van
- Teacher: Willem Sonke
- Teacher: Erik de Vink

Generic Engineering course planned for Q3 in 2017-2018; trial in Q2

- Teacher: Alessandro Di Bucchianico
- Teacher: Mathias Funk
- Teacher: Mike Holenderski
- Teacher: Jean-Bernard Martens
- Teacher: Renata Medeiros de Carvalho
- Teacher: Jim Portegies
- Teacher: Erik Quaeghebeur
- Teacher: Natalia Sidorova
- Teacher: Claire Wagemans
- Teacher: Cassio de Campos

- Teacher: Arthur Goethem, van
- Teacher: Willem Sonke
- Teacher: Bettina Speckmann

Many aspects of Data Science rely on computers to do the heavy lifting for handling data, computing results, running simulations, etc. To effectively use the computer as a tool, this course provides the fundamental concepts to reason about what computers can and cannot compute. For certain problems exact solutions can be computed by algorithms, and we need methods to establish that an algorithm is correct, and to analyze its efficiency.

- Teacher: Wouter Meulemans
- Teacher: Martijn Struijs
- Teacher: G. Zwaan
- Teacher: Gerard Zwaan

In this course we will cover basic discrete mathematical structures that occur in many contexts in computer science. You will learn the basic skills and knowledge to formally reason about these structures. Among others we will cover relations and ordering, counting arguments, and graphs and trees.

- Teacher: Arthur Goethem, van
- Teacher: Marcel Roeloffzen
- Teacher: Gerard Zwaan