scispace - formally typeset
Journal ArticleDOI

OverCode: Visualizing Variation in Student Solutions to Programming Problems at Scale

TLDR
OverCode is presented, a system for visualizing and exploring thousands of programming solutions that allows teachers to more quickly develop a high-level view of students' understanding and misconceptions, and to provide feedback that is relevant to more students' solutions.
Abstract
In MOOCs, a single programming exercise may produce thousands of solutions from learners. Understanding solution variation is important for providing appropriate feedback to students at scale. The wide variation among these solutions can be a source of pedagogically valuable examples and can be used to refine the autograder for the exercise by exposing corner cases. We present OverCode, a system for visualizing and exploring thousands of programming solutions. OverCode uses both static and dynamic analysis to cluster similar solutions, and lets teachers further filter and cluster solutions based on different criteria. We evaluated OverCode against a nonclustering baseline in a within-subjects study with 24 teaching assistants and found that the OverCode interface allows teachers to more quickly develop a high-level view of students' understanding and misconceptions, and to provide feedback that is relevant to more students' solutions.

read more

Content maybe subject to copyright    Report

Citations
More filters
Posted Content

A Survey of Machine Learning for Big Code and Naturalness

TL;DR: This article presents a taxonomy based on the underlying design principles of each model and uses it to navigate the literature and discuss cross-cutting and application-specific challenges and opportunities.
Journal ArticleDOI

A Survey of Machine Learning for Big Code and Naturalness

TL;DR: A survey of machine learning, programming languages, and software engineering has recently taken important steps in proposing learnable probabilistic models of source code that exploit the abundance of patterns of code.
Proceedings ArticleDOI

Learning Natural Coding Conventions

TL;DR: NATURALIZE as mentioned in this paper is a framework that learns the style of a codebase and suggests revisions to improve stylistic consistency, which can even transfer knowledge about coding conventions across projects.
Posted Content

Does the Whole Exceed its Parts? The Effect of AI Explanations on Complementary Team Performance

TL;DR: This work conducts mixed-method user studies on three datasets, where an AI with accuracy comparable to humans helps participants solve a task (explaining itself in some conditions), and observes complementary improvements from AI augmentation that were not increased by explanations.
Proceedings ArticleDOI

Does the Whole Exceed its Parts? The Effect of AI Explanations on Complementary Team Performance

TL;DR: In this paper, the authors conduct mixed-method user studies on three datasets, where an AI with accuracy comparable to humans helps participants solve a task (explaining itself in some conditions).
References
More filters
Proceedings ArticleDOI

Winnowing: local algorithms for document fingerprinting

TL;DR: The class of local document fingerprinting algorithms is introduced, which seems to capture an essential property of any finger-printing technique guaranteed to detect copies, and a novel lower bound on the performance of any local algorithm is proved.
Proceedings ArticleDOI

Clone detection using abstract syntax trees

TL;DR: The paper presents simple and practical methods for detecting exact and near miss clones over arbitrary program fragments in program source code by using abstract syntax trees and suggests that clone detection could be useful in producing more structured code, and in reverse engineering to discover domain concepts and their implementations.
Book

Classroom Discourse and the Space of Learning

TL;DR: This chapter discusses the role of language in the development of a pedagogy of learning and some examples show how language can play a role in this process.
Journal ArticleDOI

Empirical Studies of Programming Knowledge

TL;DR: Two empirical studies attempt to evaluate the hypothesis that expert programmers have and use two types of programming knowledge: programming plans, which are generic program fragments that represent stereotypic action sequences in programming, and rules of programming discourse, which capture the conventions in programming and govern the composition of the plans into programs.
Proceedings ArticleDOI

Automated feedback generation for introductory programming assignments

TL;DR: 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.
Related Papers (5)