Creating Guided Code Explanations with chat.codes
By Steve Oney, Christopher A. Brooks, Paul Resnick. 2018
32 citations recorded by the source corpus.
Effective communication is crucial for instructors and students in programming courses. However, communicating about code can be difficult --- particularly in asynchronous settings where an instructor authors an explanation meant to be read and understood by a student later on. Communicating about code is uniquely difficult for two reasons. First, because of the dichotomous nature of the explanation, which consists of fragments of code and natural language descriptions. Second, instructors' explanations of code often involve modifying code throughout their explanation. This paper introduces chat.codes, a new tool for creating guided explanations about code. chat.codes introduces two features that make it easier to communicate about code. First, it adds deictic code references that allows instructors to write messages that reference specific regions of code. Second, it tracks and summarizes code edits in-line with messages, allowing instructors to create explanations in stages. An evaluation showed that these features were beneficial for both instructors and students.
Subfields: Developmental and Educational Psychology, Information Systems, Code Generation & Program Synthesis, Human-Computer Interaction
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Developmental and Educational Psychology
In Information Systems
- Paul Denny
- Juho Leinonen
- Sami Sarsa
- Arto Hellas
- Stephen MacNeil
- Seth Bernstein
- Andrew Tran
- Joanne Kim
In Code Generation & Program Synthesis
- Paul Denny
- Juho Leinonen
- Sami Sarsa
- Arto Hellas
- Stephen MacNeil
- Seth Bernstein
- Andrew Tran
- Joanne Kim
In Human-Computer Interaction
- Sami Sarsa
- Juho Leinonen
- Arto Hellas
- Paul Denny
- Seth Bernstein
- Andrew Tran
- Stephen MacNeil
- Joanne Kim
Citations in the corpus
- Comparing Code Explanations Created by Students and Large Language Models (2023, background): “Some strategies include trace execution [6], explanations [31], and notional machines [15].”