Adaptive Scaffolding in Block-Based Programming via Synthesizing New Tasks as Pop Quizzes

by   Ahana Ghosh, et al.

Block-based programming environments are increasingly used to introduce computing concepts to beginners. However, novice students often struggle in these environments, given the conceptual and open-ended nature of programming tasks. To effectively support a student struggling to solve a given task, it is important to provide adaptive scaffolding that guides the student towards a solution. We introduce a scaffolding framework based on pop quizzes presented as multi-choice programming tasks. To automatically generate these pop quizzes, we propose a novel algorithm, PQuizSyn. More formally, given a reference task with a solution code and the student's current attempt, PQuizSyn synthesizes new tasks for pop quizzes with the following features: (a) Adaptive (i.e., individualized to the student's current attempt), (b) Comprehensible (i.e., easy to comprehend and solve), and (c) Concealing (i.e., do not reveal the solution code). Our algorithm synthesizes these tasks using techniques based on symbolic reasoning and graph-based code representations. We show that our algorithm can generate hundreds of pop quizzes for different student attempts on reference tasks from Hour of Code: Maze Challenge and Karel. We assess the quality of these pop quizzes through expert ratings using an evaluation rubric. Further, we have built an online platform for practicing block-based programming tasks empowered via pop quiz based feedback, and report results from an initial user study.


page 1

page 2

page 3

page 4


From Solution Synthesis to Student Attempt Synthesis for Block-Based Visual Programming Tasks

Block-based visual programming environments are increasingly used to int...

Synthesizing Tasks for Block-based Programming

Block-based visual programming environments play a critical role in intr...

Synthesizing a Progression of Subtasks for Block-Based Visual Programming Tasks

Block-based visual programming environments play an increasingly importa...

The Continuous Hint Factory - Providing Hints in Vast and Sparsely Populated Edit Distance Spaces

Intelligent tutoring systems can support students in solving multi-step ...

Detecting Code Quality Issues in Pre-written Templates of Programming Tasks in Online Courses

In this work, we developed an algorithm for detecting code quality issue...

Neural Task Synthesis for Visual Programming

Generative neural models hold great promise in enhancing programming edu...

A Framework to Counteract Suboptimal User-Behaviors in Exploratory Learning Environments: an Application to MOOCs

While there is evidence that user-adaptive support can greatly enhance t...

Please sign up or login with your details

Forgot password? Click here to reset