# Students Struggle to Explain Their Own Program Code

arXiv: https://arxiv.org/abs/2104.06710 · HTML: https://mlsanity.com/paper/2104.06710/

## Key facts

- Cited by 3 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 14 Apr 2021.

## Built on by (most cited first, 3 of 3)

- [Comparing Code Explanations Created by Students and Large Language Models](https://mlsanity.com/paper/2304.03938/) (2023)
- [Integrating Natural Language Prompting Tasks in Introductory Programming Courses](https://mlsanity.com/paper/2410.03063/) (2024)
- [AutoMCQ -- Automatically Generate Code Comprehension Questions using GenAI](https://mlsanity.com/paper/2505.16430/) (2025)

## Abstract (arXiv)

We asked students to explain the structure and execution of their small programs after they had submitted them to a programming exercise. These questions about learner's code (QLCs) were delivered at three occasions in an online and open course in introductory programming as a part of the digital learning material. We make inductive content analysis to research the open-ended text answers we collected. One third of the students struggled to explain their own program code. This estimates possible occurrences of fragile learning at the moment when a student seemingly succeeds in a program writing exercise. Furthermore, we examine correlations between the correctness of the answers with other learning data. Our results indicate that answering properly aligned QLCs correctly has stronger correlation with student success and retention than merely submitting a correct program. Additionally, we present observations on learning event-driven programming to explore QLCs' potential in identifying students' thinking process.
