What does this Python code do? An exploratory analysis of novice students' code explanations

Vivian Van Der Werf, Efthimia Aivaloglou, Felienne Hermans, Marcus Specht

Research output: Chapter in Book/Conference proceedings/Edited volumeConference contributionScientificpeer-review

4 Downloads (Pure)

Abstract

Motivation. Code reading skills are important for comprehension. Explain-in-plain-English tasks (EiPE) are one type of reading exercises that show promising results on the ability of such exercises to differentiate between particular levels of code comprehension. Code reading/explaining skills also correlate with code writing skills. Objective. This paper aims to provide insight in what novice students express in their explanations after reading a piece of code, and what these insights can tell us about how the students comprehend code. Method. We performed an exploratory analysis on four reading assignments extracted from a university-level beginners course in Python programming. We paid specific attention to 1) the core focus of student answers, 2) elements of the code that are often included or omitted, and 3) errors and misconceptions students may present. Results. We found that students prioritize the output that is generated by print-statements in a program. This is indication that these statements may have the ability to aid students make sense of code. Furthermore, students appear to be selective about which elements they find important in their explanation. Assigning variables and asking input was less often included, whereas control-flow elements, print statements and function definitions were more often included. Finally, students were easily confused or distracted by lines of code that seemed to interfere with the newly learned programming constructs. Also domain knowledge (outside of programming) both positively and negatively interfered with reading and interpreting the code. Discussion. Our results pave the way towards a better understanding of how students understand code by reading and of how an exercise containing self-explanations after reading, as a teaching instrument, may be useful to both teachers and students in programming education.

Original languageEnglish
Title of host publicationProceedings CSERC 2021 - 10th Computer Science Education Research Conference
EditorsDave Stikkolorum, Ebrahim Rahimi
PublisherACM
Pages94-107
Number of pages14
ISBN (Electronic)9781450385763
DOIs
Publication statusPublished - 2021
Event10th Computer Science Education Research Conference, CSERC 2021 - Virtual, Online, Netherlands
Duration: 22 Nov 202123 Nov 2021

Publication series

NameACM International Conference Proceeding Series

Conference

Conference10th Computer Science Education Research Conference, CSERC 2021
Country/TerritoryNetherlands
CityVirtual, Online
Period22/11/2123/11/21

Keywords

  • Code reading
  • CS education
  • EiPE
  • Program comprehension
  • Python

Fingerprint

Dive into the research topics of 'What does this Python code do? An exploratory analysis of novice students' code explanations'. Together they form a unique fingerprint.

Cite this