
Problem Description
Automata theory is foundational in theoretical computer science, but many students struggle with its abstract nature. Interactive visualization and immediate feedback can significantly improve understanding. The primary goal is to create a system that enables students to test their own knowledge in preparation for the exam.
Project Definition
The goal of this project is to evaluate different existing automata creation and simulation tools (e.g. https://www.automataverse.com/simulator, https://fla-amrt.vlabs.ac.in/exp/construct-pushdown-automata/simulation.html, https://automatonsimulator.com/), and implement a website according to the project goals:
- Build automata and machines using an intuitive graphical editor
- Simulate execution step-by-step and observe state/configuration changes
- Validate solutions with automated checks and meaningful error feedback
- Explore examples, exercises, and conversions (where applicable)
Learning Outcome
Students apply web-development and UI/UX design techniques for learning tools. You will learn how to:
- Build interactive web interfaces for structured objects (graphs, transition tables, tapes/stacks).
- Implement visualizations that reflect formal execution (highlight active states/transitions, show stacks/tapes, step-through traces).
- Evaluate usability for learning: reduce cognitive load, provide clear feedback, and design error messages that support conceptual understanding.
Participation Requirements
Some knowledge about foundations of computer science, especially automata theory. Basics of web- and UI design.