Functional Automata - Formal Languages for Computer Science Students
Marco T. Moraz\'an (Seton Hall University), Rosario Antunez (City, College of New York)

TL;DR
This paper advocates for an experimental approach to teaching formal languages by using a library that allows students to build, test, and verify automata and grammars interactively, enhancing understanding and engagement.
Contribution
It introduces FSM, a library enabling students to experiment with automata, grammars, and regular expressions, bridging theory and practice in formal languages education.
Findings
Students can perform random testing of automata and grammars.
The library facilitates implementation of algorithms for constructive proofs.
Enhanced student engagement and understanding in formal languages.
Abstract
An introductory formal languages course exposes advanced undergraduate and early graduate students to automata theory, grammars, constructive proofs, computability, and decidability. Programming students find these topics to be challenging or, in many cases, overwhelming and on the fringe of Computer Science. The existence of this perception is not completely absurd since students are asked to design and prove correct machines and grammars without being able to experiment nor get immediate feedback, which is essential in a learning context. This article puts forth the thesis that the theory of computation ought to be taught using tools for actually building computations. It describes the implementation and the classroom use of a library, FSM, designed to provide students with the opportunity to experiment and test their designs using state machines, grammars, and regular expressions.…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
