Effective Feedback for Introductory CS Theory: A JFLAP Extension and Student Persistence
Ivona Bez\'akov\'a, Kimberly Fluet, Edith Hemaspaandra, Hannah Miller,, David E. Narv\'aez

TL;DR
This research introduces a JFLAP extension that provides targeted feedback to help undergraduate students better understand automata and formal languages, leading to improved learning outcomes in introductory CS theory.
Contribution
We developed a JFLAP server extension that offers automated correctness evaluation and witness feedback for various automata models, enhancing student learning in CS theory courses.
Findings
Students using the extension performed better on targeted homework questions.
The extension encouraged persistence and iterative learning among students.
Witness feedback helped students understand concepts more deeply.
Abstract
Computing theory analyzes abstract computational models to rigorously study the computational difficulty of various problems. Introductory computing theory can be challenging for undergraduate students, and the main goal of our research is to help students learn these computational models. The most common pedagogical tool for interacting with these models is the Java Formal Languages and Automata Package (JFLAP). We developed a JFLAP server extension, which accepts homework submissions from students, evaluates the submission as correct or incorrect, and provides a witness string when the submission is incorrect. Our extension currently provides witness feedback for deterministic finite automata, nondeterministic finite automata, regular expressions, context-free grammars, and pushdown automata. In Fall 2019, we ran a preliminary investigation on two sections (Control and Study) of the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsTeaching and Learning Programming · Software Engineering Techniques and Practices · Software Engineering Research
