Course overview
Event-driven systems are the backbone of modern computer systems and services. This course explores the fundamental principles behind these systems; Finite State Automata, their behaviour and implementation; Correspondence with regular expressions; Examples of embedded systems; Introduction to interconnected state machines, Petri Nets, and concurrency. We'll also explore modern approaches to event-driven systems; Reactive Programming; event streams, and observable data.
Course learning outcomes
- Describe the different ways a finite-state machine can be represented
- Explain how a finite state machine recognises an input string
- Explain how a non-deterministic finite state machine works
- Explain the behaviour of regular expressions
- Translate a regular expression into a corresponding finite-state machine
- Use Mealy and Moore Machines to develop advanced event-driven systems
- Understand and apply modern approaches to event-driven systems