A Web App for Teaching Finite State Automata

Christopher William Schankula,Lucas Dutton
2024-10-16
Abstract:We present the open-source tool <a class="link-external link-http" href="http://finsm.io" rel="external noopener nofollow">this http URL</a>, a tool for creating, simulating and exporting deterministic and non-deterministic finite state automata (DFA/NFA). We first describe the conceptual background on which the tool is based, followed by a description of features and preliminary evaluation of the tool based on use spanning multiple years and hundreds of student users. Preliminary evaluation found that instructors and students overwhelmingly recommend the tool to others and agree that it has improved their learning and teaching. The authors invite interested educators to use the tool in their finite automata courses.
Computers and Society
What problem does this paper attempt to address?
The problem that this paper attempts to solve is: How to improve the teaching and learning effects of Finite State Automata (FSA) by developing an open - source Web application named finsm.io. Specifically, this tool aims to help students and teachers create, simulate, and export Deterministic Finite Automata (DFA) and Non - Deterministic Finite Automata (NFA) more efficiently, thereby enhancing the teaching quality and learning experience. ### Core problems of the paper 1. **Teaching efficiency and quality**: - Traditional teaching methods of finite state automata (such as hand - drawing or using general drawing tools) have problems such as low efficiency and being error - prone. - How to improve teaching efficiency and quality through modern tools and technological means? 2. **Learning experience and understanding**: - Students have difficulties in understanding and mastering the concepts of finite state automata, especially when dealing with complex transition relationships. - How to help students better understand and debug finite state automata through visualization and interactive simulation? 3. **Tool usability and accessibility**: - Existing FSA teaching tools may have problems such as complex installation and unfriendly interfaces. - How to develop a Web application that is easy to use, requires no installation, and supports multiple output formats (such as LATEX)? ### Solutions - **finsm.io** is a Web - based open - source tool that allows users to create, simulate, and export DFA and NFA. - **Main functions**: - **Construction mode**: Users can create states and transitions through simple mouse clicks and keyboard shortcuts. - **Simulation mode**: Users can input test strings and observe the state changes of the automata, which helps with debugging and understanding. - **Export function**: It supports exporting the automata as LATEX code, which is convenient for academic writing and assignment submission. ### Effect evaluation - **User feedback**: Through a survey of more than 860 students and teachers, the results show that the vast majority of users think that this tool has significantly improved the teaching and learning effects. - **Improvement suggestions**: Users have put forward improvement suggestions such as adding support for other types of automata (such as Push - Down Automata, PDA and Turing Machines). Through these measures, finsm.io not only improves the efficiency of teaching and learning, but also enhances students' understanding and mastery of finite state automata.