Journal ArticleDOI
OverCode: Visualizing Variation in Student Solutions to Programming Problems at Scale
Elena L. Glassman,Jeremy Scott,Rishabh Singh,Philip J. Guo,Robert C. Miller +4 more
- Vol. 22, Iss: 2, pp 7
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
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
Gagan Bansal,Tongshuang Wu,Joyce Zhou,Raymond Fok,Besmira Nushi,Ece Kamar,Marco Tulio Ribeiro,Daniel S. Weld +7 more
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
Gagan Bansal,Tongshuang Wu,Joyce Zhou,Raymond Fok,Besmira Nushi,Ece Kamar,Marco Tulio Ribeiro,Daniel S. Weld +7 more
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
Elliot Soloway,Kate Ehrlich +1 more
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.