Foobaz: Variable Name Feedback for Student Code at Scale

Current traditional feedback methods, such as hand-grading student code for substance and style, are labor intensive and do not scale. We created a user interface that addresses feedback at scale for a particular and important aspect of code quality: variable names. We built this user interface on t...

Full description

Bibliographic Details
Main Authors: Glassman, Elena L, Fischer, Lyla J, Scott, Jeremy Kenneth, Miller, Robert C
Other Authors: Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Format: Article
Language:en_US
Published: Association for Computing Machinery (ACM) 2018
Online Access:http://hdl.handle.net/1721.1/116536
https://orcid.org/0000-0001-5178-3496
https://orcid.org/0000-0003-4171-8580
https://orcid.org/0000-0002-5319-0595
https://orcid.org/0000-0002-0442-691X
Description
Summary:Current traditional feedback methods, such as hand-grading student code for substance and style, are labor intensive and do not scale. We created a user interface that addresses feedback at scale for a particular and important aspect of code quality: variable names. We built this user interface on top of an existing back-end that distinguishes variables by their behavior in the program. Therefore our interface not only allows teachers to comment on poor variable names, they can comment on names that mislead the reader about the variable's role in the program. We ran two user studies in which 10 teachers and 6 students created and received feedback, respectively. The interface helped teachers give personalized variable name feedback on thousands of student solutions from an edX introductory programming MOOC. In the second study, students composed solutions to the same programming assignments and immediately received personalized quizzes composed by teachers in the previous user study.