Identifying and Correcting Programming Language Behavior Misconceptions
Kuang-Chen Lu, Shriram Krishnamurthi
Abstract
Misconceptions about core linguistic concepts like mutable variables, mutable compound data, and their interaction with scope and higher-order functions seem to be widespread. But how do we detect them, given that experts have blind spots and may not realize the myriad ways in which students can misunderstand programs? Furthermore, once identified, what can we do to correct them?
In this paper, we present a curated list of misconceptions, and an instrument to detect them. These are distilled from student work over several years and match and extend prior research. We also present an automated, self-guided tutoring system. The tutor builds on strategies in the education literature and is explicitly designed around identifying and correcting misconceptions.
We have tested the tutor in multiple settings. Our data consistently show that (a) the misconceptions we tackle are widespread, and (b) the tutor appears to improve understanding.
CCS Concepts: • Software and its engineering → General programming languages.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Cited by top-tier papers2
- "I'm trying to learn...and I'm shooting myself in the foot": Beginners' Struggles When Solving Binary Exploitation ExercisesJames Mattei, Christopher Pellegrini, Matthew Soto, Marina Sanusi Bohuk et al.USENIX Security 2025
- A Design Space Exploration of Async/AwaitGavin Gray, Shriram Krishnamurthi, Will CrichtonOOPSLA 2026
Builds on1
Related papers
- Misconceptions in Finite-Trace and Infinite-Trace Linear Temporal LogicBen Greenman, Siddhartha Prasad, Antonio Di Stasio, Shufang Zhu et al.FM 2024 · 5 citations
- PyTER: effective program repair for Python type errorsWonseok Oh, Hakjoo OhFSE 2022 · 22 citations
- How Beginning Programmers and Code LLMs (Mis)read Each OtherSydney Nguyen, Hannah McLean Babe, Yangtian Zi, Arjun Guha et al.CHI 2024 · 66 citations
- Exploring the Learnability of Program Synthesizers by Novice ProgrammersDhanya Jayagopal, Justin Lubin, Sarah E. ChasinsUIST 2022 · 40 citations
- Exploring Experiences with Automated Program Repair in PracticeFairuz Nawer Meem, Justin Smith, Brittany JohnsonICSE 2024 · 14 citations
