Integrating hands-on work into the formal languages course via tools and programming

Abstract

Integrating hands-on practice into an automata and formal languages course aids in transforming the course from a traditional mathematics course into a traditional computer science course, while making the material more interesting from both teaching and learning perspectives. The interactive and visual tools we integrate into our course are FLAP, a tool for constructing and simulating several types of nondeterministic automata, and LLparse and LRparse, tools for constructing parse tables and animating the parsing of strings. As a programming component, our students are also required to write an LR(1) parser for a simple programming language, using the tool Xtango to animate programs in this new language.

Supported in part by the National Science Foundation's Division of Undergraduate Education through grants DUE-9596002 and DUE-9555084.