AutomaTutor: An Educational Mobile App for Teaching Automata Theory

  • Steven Jordaan University of Pretoria
  • Nils Timm University of Pretoria
  • Linda Marshall University of Pretoria

Resumo


Automata theory is one of the core theories in computer science because it allows scientists and practitioners to understand the complexity of computational problems, and thus, to develop efficient solutions to them. Several formal methods such as model checking are based on automata theory. Automata theory has traditionally been taught on a theoretical level. Students learned to define abstract machines via pen and paper without the possibility to actually run these machines. Over the years several automata simulators have been introduced and employed in teaching automata theory. These tools offer rich features for designing and manipulating automata, but do not provide pedagogical guidance to the user. In this paper we present the AutomaTutor, an educational tool on automata theory that particularly targets learners without prior knowledge of theoretical computer science. The tool is a mobile application that offers guided learning by solving interactive exercises. Exercises can be randomly generated or customised by an educator. The user-friendly touch interface allows learners to solve exercises by constructing finite automata or regular expressions that match with given languages. Learners receive immediate feedback. The application’s focus on user experience and visualisation aims to make it accessible regardless of the technological background of the user. Our target is that the tool stimulates the students in their learning activities, and thus, leads to an improved understanding of automata theory and an increased interest in formal and theoretical aspects of computer science.
Publicado
04/12/2023
JORDAAN, Steven; TIMM, Nils; MARSHALL, Linda. AutomaTutor: An Educational Mobile App for Teaching Automata Theory. In: SIMPÓSIO BRASILEIRO DE MÉTODOS FORMAIS (SBMF), 26. , 2023, Manaus/AM. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2023 . p. 131-140.