Visualizing the pumping lemma for regular languages
Cogliati, Joshua Joseph
MetadataShow full item record
The pumping lemma for regular languages and its application are among the more difficult concepts students encounter in an introductory theory of computing course. The pumping lemma is used to prove that particular languages are not regular. Traditional methods of teaching the pumping lemma seem inadequate for helping average students learn this concept. In this thesis we describe a set of software tools that help students visualize the pumping lemma for regular language. The Java programming language was used to create active learning animations of various aspects of the pumping lemma that run as applets in web browsers. Each of the steps in the proof of the pumping lemma is animated. The finite state automaton animations can be manipulated so that the concepts can be tried easily. With the feedback provided, student mistakes in understanding the concept can be discovered and quickly corrected. New methods for teaching the pumping lemma are considered. These allow students to proceed at their own pace while learning about the pumping lemma through interactive animations. These methods can be used to augment or replace traditional teaching approaches. The pumping lemma animator will be included in an ongoing project designed to create animations and interactive tools for a complete course on theory of computing.