This app uses a set of exercises to introduce Finite State Machines (FSMs). Concepts are introduced gradually, without assuming prior knowledge of the subject. The exercises include creating and modifying machines, as well as answering questions about machines. Simple deterministic machines lead on to non-determinism, ε-transitions and transducers.
In addition to the exercises, the Create tool allows users to build and test their own FSMs.
The app runs in the browser with no plugins required. It is free and open-source.
The app was designed for 1st year undergraduates but will be useful to anyone who wants to learn more about Finite State Machines, whether they have used them before or not.
Source code available on GitHub.
This version of the application is under active development. An older version is available here.
Questions, suggestions, comments or requests welcome at email@example.com