From Bugs to Breakthroughs: Novice Errors in CS2

📅 2025-02-20
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
This study investigates the longitudinal evolution of programming errors among CS2 beginners to characterize how error types change over time and to derive pedagogical implications. Method: Over one semester, 710 authentic programming assignment errors from novice learners were manually annotated and clustered using an enhanced error taxonomy distinguishing syntactic, semantic, and logical errors. Contribution/Results: Syntactic and semantic errors decline rapidly early in learning, whereas logical errors persist at high frequency with stable morphological patterns—indicating rapid acquisition of language syntax but prolonged deficits in conceptual modeling and algorithmic reasoning. These findings challenge the conventional assumption that programming difficulties stem primarily from unfamiliarity with programming language constructs. Instead, they highlight persistent cognitive bottlenecks in problem decomposition, abstraction, and logical expression. The results provide empirical grounding for diagnosing instructional barriers and designing targeted interventions—such as scaffolded algorithmic thinking exercises and domain-specific debugging scaffolds—to address foundational computational thinking gaps.

Technology Category

Application Category

📝 Abstract
Background: Programming is a fundamental skill in computer science and software engineering specifically. Mastering it is a challenge for novices, which is evidenced by numerous errors that students make during programming assignments. Objective: In our study, we want to identify common programming errors in CS2 courses and understand how students evolve over time. Method: To this end, we conducted a longitudinal study of errors that students of a CS2 course made in subsequent programming assignments. Specifically, we manually categorized 710 errors based on a modified version of an established error framework. Result: We could observe a learning curve of students, such that they start out with only few syntactical errors, but with a high number of semantic errors. During the course, the syntax and semantic errors almost completely vanish, but logical errors remain consistently present. Conclusion: Thus, students have only little trouble with learning the programming language, but need more time to understand and express concepts in a programming language.
Problem

Research questions and friction points this paper is trying to address.

Identify common programming errors in CS2 courses
Understand student evolution over time
Analyze syntax, semantic, and logical errors
Innovation

Methods, ideas, or system contributions that make the work stand out.

Longitudinal study of errors
Manual error categorization
Learning curve analysis
🔎 Similar Papers
No similar papers found.
N
Nadja Just
Professorship of Software Engineering, University of Technology Chemnitz, Chemnitz, Germany
Janet Siegmund
Janet Siegmund
Chemnitz University of Technology
Human factor in computer science and software engineering
B
Belinda Schantong
Professorship of Software Engineering, University of Technology Chemnitz, Chemnitz, Germany