Giving Feedback on Interactive Student Programs with Meta-Exploration

11/16/2022
by   Evan Zheran Liu, et al.
0

Developing interactive software, such as websites or games, is a particularly engaging way to learn computer science. However, teaching and giving feedback on such software is time-consuming – standard approaches require instructors to manually grade student-implemented interactive programs. As a result, online platforms that serve millions, like Code.org, are unable to provide any feedback on assignments for implementing interactive programs, which critically hinders students' ability to learn. One approach toward automatic grading is to learn an agent that interacts with a student's program and explores states indicative of errors via reinforcement learning. However, existing work on this approach only provides binary feedback of whether a program is correct or not, while students require finer-grained feedback on the specific errors in their programs to understand their mistakes. In this work, we show that exploring to discover errors can be cast as a meta-exploration problem. This enables us to construct a principled objective for discovering errors and an algorithm for optimizing this objective, which provides fine-grained feedback. We evaluate our approach on a set of over 700K real anonymized student programs from a Code.org interactive assignment. Our approach provides feedback with 94.3 accuracy, improving over existing approaches by 17.7 human-level accuracy. Project web page: https://ezliu.github.io/dreamgrader.

READ FULL TEXT

page 1

page 5

page 18

research
05/22/2015

Learning Program Embeddings to Propagate Feedback on Student Code

Providing feedback, both assessing final work and giving hints to stuck ...
research
10/27/2021

Play to Grade: Testing Coding Games as Classifying Markov Decision Process

Contemporary coding education often presents students with the task of d...
research
10/15/2020

Program Equivalence for Assisted Grading of Functional Programs (Extended Version)

In courses that involve programming assignments, giving meaningful feedb...
research
06/02/2021

Automatic Assessment of the Design Quality of Python Programs with Personalized Feedback

The assessment of program functionality can generally be accomplished wi...
research
03/07/2021

Toward Semi-Automatic Misconception Discovery Using Code Embeddings

Understanding students' misconceptions is important for effective teachi...
research
10/04/2020

Mossad: Defeating Software Plagiarism Detection

Automatic software plagiarism detection tools are widely used in educati...
research
07/26/2021

AutoGrad: Automated Grading Software for Mobile Game Assignments in SuaCode Courses

Automatic grading systems have been in existence since the turn of the h...

Please sign up or login with your details

Forgot password? Click here to reset