PulseExploreJournal ClubDebatesTrendingResearchersJournals
Instagram
HomeExploreJournal ClubTrending
Synapse
⌘+K
Synapse
February 2, 2026ACM Transactions on Computing Education0 citations

A Systematic Review of Approaches for Evaluating Students’ Function-Level Code Structure Knowledge with a Catalog of All Discussed Patterns

View Full Paper
SNSara NurollahianNBNoelle BrownARAnna N. Rafferty

Key Points

  • This review aims to compile and categorize key function-level code structure topics that are crucial for student learning and assessment.
  • Conducted a systematic literature review of existing studies on code structure topics and assessment practices.
  • Identified approximately 70 code-structure topics and classified them into seven categories.
  • Cataloged definitions, example defects, and solutions for each topic to assist educators and researchers.
  • Classified 70 code-structure topics into categories like expressions, loops, and conditionals.
  • Found that half of the studies analyzed students’ code submissions for structure violations, revealing limited insight into underlying causes.
  • Identified a lack of focus on specific assessment tasks like code recall and editing, and noted gaps in empirical testing of programming knowledge deficits.

Abstract

Code structure, an important aspect of code quality, involves stylistic and structural decisions within individual functions, such as selecting appropriate control flow structures for a specific task. Despite over forty years of research on student performance in various code structure topics, a comprehensive overview of these studies remains absent. Therefore, we conducted a systematic literature review to understand which function-level code structure topics were considered essential for student learning and what assessment practices were used to evaluate students’ knowledge of code structure. Our review identified approximately 70 code-structure topics, which we classified into seven categories: expressions, variables and parameters, Boolean expressions, conditionals, loops, functions, and others. We created a catalog of these topics that includes their definitions, an example defect for each topic, and a corresponding solution. This catalog can serve as a resource for instructors seeking to incorporate code structure into introductory programming courses, as well as for researchers developing educational tools or investigating the extent and causes of code-structure violations. Regarding assessment practices in prior studies, we found that various assessment tasks and student artifacts were utilized, with half of the studies examining students’ code-writing submissions for the occurrence of violations. While this approach is scalable through the use of automated detectors, it provides limited insight into the underlying causes of these violations or into students’ performance on non-writing skills such as code refactoring. Additionally, we found very little research that focuses on specific assessment tasks such as code recall and code editing (i.e., refactoring others’ code). Moreover, while many studies suggested that student code structure defects stem from knowledge gaps in programming concepts, only a few empirically tested this hypothesis. Finally, we conclude this study by highlighting open areas for future research on code structure.

Ask AI
Helpful
Bookmark
Share
View Full Paper

Cite This Study

Nurollahian et al. (2026) studied this question.

synapsesocial.com/papers/6980fff5c1c9540dea812db4https://doi.org/10.1145/3787450
Ask AI
Helpful
Bookmark
Share
View Full Paper