JFLAP: Software and Curriculum for Presenting Theoretical Computer Science in a more visual and interactive manner.
(A) Theoretical computer science has traditionally been presented with pencil and paper problem solving, resulting in small, and tedious to solve problems. We have developed the software JFLAP, an instructional tool for visualizing and interacting with concepts, resulting in problem solving of larger problems with immediate feedback.
(B) This topic is taught in the computer science core curriculum. Undergraduate students in computer science will benefit from having immediate feedback when solving problems.
(A) Our goals are to 1) provide students with a tool for visualizing and interacting with
theoretical models and concepts in computer science, and to use that tool
in both the introduction and reinforcement of these concepts.
2) To provide students with the means of
experimentation of construction-type proofs in formal languages while
learning these concepts.
3) To provide students with the means for experimenting with formal
languages in a computational manner that can only be done with the use
of a computer.
4) To provide students with hands-on experimentation of
applications in theoretical computer science.
5) To integrate this approach (not replace) with
the theoretical nature of the formal languages
6) To provide materials for instructors to integrate this approach into their courses.
B) We developed additions to JFLAP to be able to experiment with additional theoretical concepts. We organized a workshop and had seven faculty write curriculum materials for JFLAP.
We supervised students in the design of the software to be visual and interactive. We held a workshop for faculty interested in developing curriculum materials and to get feedback on the software from the faculty.
We have developed JFLAP version 8.0 that ties the theoretical definitions and visual representations of automata and grammar more closely together. The seven faculty who attended our workshop have developed curriculum materials to use with JFLAP, covering many areas of theoretical computer science. We are now in the process of assembling these materials into an online resource.
The broader impacts provide a different way to learn this theoretical material, an interactive and visual approach. We also have included more theoretical representations in the visualization. Our software is being used around the world. Google Analytics showed our pages for three years ending September 2015 had 194,665 Users and 888,326 pageviews. Our dissemination has been our web page and conferences.
It took longer to get our software completed, which also delayed our faculty workshop to use the software. We ended up extending our grant and then running the faculty workshop.
Poster: Increasing the experimentation of theoretical computer science with new features in JFLAP,' ITICSE 13: Proceedings of the 18th ACM conference on Innovation and technology in computer science education, Canterbury, United Kingdom, July 2, 2013 (With Julian Genkins and Ian McMahon).
Paper: Increasing the use of JFLAP in Courses, Sixth Program Visualization Workshop, Darmstadt, Germany, p. 53-56, 2011 (With J. Su and H. Qin).