Logan Caraco and Nate Weinman and Stanley Ko and Armando Fox

EECS Department, University of California, Berkeley

Technical Report No. UCB/EECS-2022-173

June 27, 2022

http://www2.eecs.berkeley.edu/Pubs/TechRpts/2022/EECS-2022-173.pdf

We present a system for automatically converting existing code-writing exercises in Python into Faded Parsons Problems (FPPs) that students solve interactively in a Web browser. FPPs were introduced by Weinman et al. as a novel exercise interface for teaching programming patterns or idioms. Like original Parsons Problems, FPPs ask students to arrange lines of code to reconstruct a correct solution. Unlike original Parsons Problems, FPPs can also ask students to fill in some blanks in the provided lines of code, in addition to ordering the lines. In our system, which extends the open-source PrairieLearn platform, the student uses a Web browser to fill in blanks, reorder the lines of code, or both. The student can check their work at any time using an autograder that runs the student-submitted code against instructor-provided test cases; feedback to the student can be as fine-grained as the test cases allow. Converting existing code-writing exercises to FPPs is nearly automatic. Manually changing the amount of scaffolding in the FPP is easy and amenable to future automation. Instructors can thereby take advantage of initial study findings that FPPs outperform code-writing and code-tracing exercises as a way of teaching programming patterns, and how FPPs improve overall code-writing ability at a level comparable to code-writing exercises but are preferred by students.


BibTeX citation:

@techreport{Caraco:EECS-2022-173,
    Author= {Caraco, Logan and Weinman, Nate and Ko, Stanley and Fox, Armando},
    Title= {Automatically Converting Code-Writing Exercises to Variably-Scaffolded Parsons Problems},
    Year= {2022},
    Month= {Jun},
    Url= {http://www2.eecs.berkeley.edu/Pubs/TechRpts/2022/EECS-2022-173.html},
    Number= {UCB/EECS-2022-173},
    Abstract= {We present a system for automatically converting existing code-writing exercises in Python into Faded Parsons Problems (FPPs) that students solve interactively in a Web browser. FPPs were introduced by Weinman et al. as a novel exercise interface for teaching programming patterns or idioms. Like original Parsons Problems, FPPs ask students to arrange lines of code to reconstruct a correct solution. Unlike original Parsons Problems, FPPs can also ask students to fill in some blanks in the provided lines of code, in addition to ordering the lines. In our system, which extends the open-source PrairieLearn platform, the student uses a Web browser to fill in blanks, reorder the lines of code, or both. The student can check their work at any time using an autograder that runs the student-submitted code against instructor-provided test cases; feedback to the student can be as fine-grained as the test cases allow. Converting existing code-writing exercises to FPPs is nearly automatic. Manually changing the amount of scaffolding in the FPP is easy and amenable to future automation. Instructors can thereby take advantage of initial study findings that FPPs outperform code-writing and code-tracing exercises as a way of teaching programming patterns, and how FPPs improve overall code-writing ability at a level comparable to code-writing exercises but are preferred by students.},
}

EndNote citation:

%0 Report
%A Caraco, Logan 
%A Weinman, Nate 
%A Ko, Stanley 
%A Fox, Armando 
%T Automatically Converting Code-Writing Exercises to Variably-Scaffolded Parsons Problems
%I EECS Department, University of California, Berkeley
%D 2022
%8 June 27
%@ UCB/EECS-2022-173
%U http://www2.eecs.berkeley.edu/Pubs/TechRpts/2022/EECS-2022-173.html
%F Caraco:EECS-2022-173