Litcius/Paper detail

A Think-Aloud Study of Novice Debugging

Jacqueline Whalley, Amber Settle, Andrew Luxton-Reilly

2023ACM Transactions on Computing Education23 citationsDOIOpen Access PDF

Abstract

Debugging is a core skill required by programmers, yet we know little about how to effectively teach the process of debugging. The challenges of learning debugging are compounded for novices who lack experience and are still learning the tools they need to program effectively. In this work, we report a case study in which we used a think-aloud protocol to gain insight into the behaviour of three students engaged in debugging tasks. Our qualitative analysis reveals a variety of helpful practices and barriers that limit the effectiveness of debugging. We observe that comprehension, evidence-based activities, and workflow practices all contribute to novice debugging success. Lack of sustained effort, precision, and methodical processes negatively impact debugging effectiveness. We anticipate that understanding how students engage in debugging tasks will aid future work to address ineffective behaviours and promote effective debugging activities.

Topics & Concepts

DebuggingAlgorithmic program debuggingComputer scienceWorkflowVariety (cybernetics)Think aloud protocolHuman–computer interactionProcess (computing)Software engineeringComprehensionProgramming languageUsabilityArtificial intelligenceDatabaseTeaching and Learning ProgrammingOnline Learning and AnalyticsSoftware Engineering Research