Automated style feedback for advanced beginner Java programmers
Hannah Blau, Samantha Kolovson, W. Richards Adrion, Robert N. Moll
Abstract
Hannah Blau, Samantha Kolovson, W. Richards Adrion, Robert N. Moll
Abstract
We created an Eclipse plug-in called FrenchPress that offers students feedback on their Java programming style. It is designed not for novices but for students taking their second or third Java course. Advanced beginner students know enough to produce a program with the desired input/output behavior, but fail to understand it could still be poorly written. Large class sizes in introductory courses make it difficult for instructors to give their students individualized attention. FrenchPress automates a small subset of the feedback students might have received from educators. The system diagnoses issues characteristic of programmers who have not yet assimilated the object-oriented paradigm, such as misuse of the public modifier, fields that should have been local variables, and instance variables that should have been class constants. We conducted a classroom trial of the plug-in covering four assignments in data structures and algorithms. Among students whose code triggered one or more diagnostic rules, the percentage who modified their program in response to FrenchPress feedback varied from a high of 59% on the first project to a low of 23% on the second and fourth projects. On the user surveys following each assignment, 56-66% of respondents said they were satisfied with FrenchPress performance.
OpenAlex reports 3 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
We created an Eclipse plug-in called FrenchPress that offers students feedback on their Java programming style. It is designed not for novices but for students taking their second or third Java course. Advanced beginner students know enough to produce a program with the desired input/output behavior, but fail to understand it could still be poorly written. Large class sizes in introductory courses make it difficult for instructors to give their students individualized attention. FrenchPress automates a small subset of the feedback students might have received from educators. The system diagnoses issues characteristic of programmers who have not yet assimilated the object-oriented paradigm, such as misuse of the public modifier, fields that should have been local variables, and instance variables that should have been class constants. We conducted a classroom trial of the plug-in covering four assignments in data structures and algorithms. Among students whose code triggered one or more diagnostic rules, the percentage who modified their program in response to FrenchPress feedback varied from a high of 59% on the first project to a low of 23% on the second and fourth projects. On the user surveys following each assignment, 56-66% of respondents said they were satisfied with FrenchPress performance.
Key concepts: Java, Computer science, Class (philosophy), Plug-in, Programming language, Eclipse, Object-oriented programming, Human–computer interaction