  Deterministic and nondeterministic finite automata (DFAs and NFAs) are
abstract models of computation commonly taught in introductory computing theory
courses. These models have important applications (such as fast regular
expression matching), and are used to introduce formal language theory.
Undergraduate students often struggle with understanding these models at first,
due to the level of abstraction. As a result, various pedagogical tools have
been developed to allow students to practice with these models. We introduce
the FSM Builder, a new pedagogical tool enabling students to practice
constructing DFAs and NFAs with a graphical editor, giving personalized
feedback and partial credit. The algorithms used for generating these are
heavily inspired by previous works. The key advantages to its competitors are
greater flexibility and scalability. This is because the FSM Builder is
implemented using efficient algorithms from an open source package, allowing
for easy extension and question creation. We discuss the implementation of the
tool, how it stands out from previous tools, and takeaways from experiences of
using the tool in multiple large courses. Survey results indicate the interface
and feedback provided by the tool were useful to students.
