• Corpus ID: 39201734

High Coverage Hint Generation for Massive Courses by Sumukh Sridhara Research Project

  title={High Coverage Hint Generation for Massive Courses by Sumukh Sridhara Research Project},
  author={Sumukh Sridhara and Phitchaya Mangpo Phothilimthana and John DeNero},
In massive programming courses, automated hint generation o↵ers the promise of zero-cost, zero-latency assistance for students who are struggling to make progress on solving a program. While a more robust hint generation approach based on path construction requires tremendous engineering e↵ort to build, another easier-to-build approach based on program mutations su↵ers from low coverage. This paper describes a robust hint generation system that extends the coverage of the mutation-based… 

Figures and Tables from this paper



Automating Hint Generation with Solution Space Path Construction

It is shown how solution paths can be constructed from these abstract states that go beyond the paths directly observed in the data, and described a domain-independent algorithm that can automate hint generation through use of these paths.

Data-Driven Hint Generation in Vast Solution Spaces: a Self-Improving Python Programming Tutor

The results show that ITAP is capable of producing hints for almost any given state after being given only a single reference solution, and that it can improve its performance by collecting data over time.

Autonomously Generating Hints by Inferring Problem Solving Policies

This paper autonomously generate hints for the Code.org `Hour of Code,' (which is to the best of the authors' knowledge the largest online course to date) using historical student data, and discovers that this statistic is highly predictive of a student's future success.

Generating Data-driven Hints for Open-ended Programming

A new data-driven algorithm is presented, based on the Hint Factory, to generate hints for open-ended programming assignments, that can provide hints that successfully lead students to solutions from any state, help students achieve assignment objectives, and align with the student’s future solution.

Toward Automatic Hint Generation for Logic Proof Tutoring Using Historical Student Data

The feasibility of this approach to automatically generate hints for an intelligent tutor that learns is demonstrated by extracting MDPs from four semesters of student solutions in a logic proof tutor, and the probability that they will be able to generate hints at any point in a given problem is calculated.

Problems Before Solutions: Automated Problem Clarification at Scale

An enriched approach to automatic assessment is presented that explicitly assists students in understanding the detailed specification of technical problems that they are asked to solve, in addition to evaluating their solutions.

Combinatorial sketching for finite programs

SKETCH is a language for finite programs with linguistic support for sketching and its combinatorial synthesizer is complete for the class of finite programs, guaranteed to complete any sketch in theory, and in practice has scaled to realistic programming problems.

A lightweight symbolic virtual machine for solver-aided host languages

This paper describes how to implement a symbolic virtual machine (SVM) for a solver-aided domain-specific languages (SDSL) by employing a novel symbolic execution technique with two key properties: it produces compact encodings and it enables concrete evaluation to strip away host constructs that are outside the subset compilable to constraints.

Teaching and Assessing Knowledge Integration in Science

Interactive visualizations combined with online inquiry and embedded assessments can deepen student understanding of complex ideas in science.

Automated feedback generation for introductory programming assignments

A simple language for describing error models in terms of correction rules is introduced, and a rule-directed translation strategy is formally defined that reduces the problem of finding minimal corrections in an incorrect program to the problems of synthesizing a correct program from a sketch.