Use of chunking strategy during collaborative debugging
Understanding of code is critical for debugging computer programs. Chunking, breaking code into smaller parts, has been proven to be an effective strategy for analyzing code at various levels of abstraction. Novice debuggers struggle to comprehend code and recognize its underlying structure and components. They often debug code in an arbitrary and unfocused manner, potentially resulting in frustration. To facilitate the process of learning to debug, we developed a supportive tool called Debug Space designed to enhance the collaborative debugging process of novices. Informed by computing literature and theoretical frameworks, this tool incorporates visual cognitive resources, aiding novices in visualizing the structure and parts of code. We analyzed the conversations and actions of a pair of novices during their interactions with the tool to explore how they identified and corrected errors using visual cognitive resources and debugging strategies. The qualitative case analysis revealed that the pair underwent the subprocesses of examining debugging situations, describing discrepancies between the actual and desired code states, locating bugs, and proposing informed solutions to address the identified bugs. The results also suggest that the use of visual cognitive resources helped novices understand the configuration of the code, particularly in terms of what the code does and how it operates. This understanding enabled the pair to consider bugs and assess whether the proposed solutions can be effective. Educational implications are discussed, and future research directions are outlined in the paper.
Tinkering is often viewed as arbitrary practice that should be avoided. However, tinkering can be performed as part of a sound reasoning process. In this ethnomethodological study, we investigated…
Understanding of code is critical for debugging computer programs. Chunking, breaking code into smaller parts, has been proven to be an effective strategy for analyzing code at various levels of…