  Regular expressions in an Automata Theory and Formal Languages course are
mostly treated as a theoretical topic. That is, to some degree their
mathematical properties and their role to describe languages is discussed. This
approach fails to capture the interest of most Computer Science students. It is
a missed opportunity to engage Computer Science students that are far more
motivated by practical applications of theory. To this end, regular expressions
may be discussed as the description of an algorithm to generate words in a
language that is easily programmed. This article describes a programming-based
methodology to introduce students to regular expressions in an Automata Theory
and Formal Languages course. The language of instruction is FSM in which there
is a regular expression type. Thus, facilitating the study of regular
expressions and of algorithms based on regular expressions.
