Abstract
Debugging (or troubleshooting) provides a rich context to foster problem-solving. Yet, while we know much about some problems and strategies that novices face in programming on-screen, we know far less about debugging and troubleshooting in the context of physical computing, where coding issues may overlap with materially embedded problems. In this paper, we study the thought processes novice students employed and the challenges they faced in debugging an electronic textile project with multiple overlapping problems that crossed physical, electronic, and computational domains. We employed a think-aloud protocol to develop an instrumental case study by video-recording 45 minutes of one pair of 9th-grade students debugging and fixing a buggy e-textile project. The problem space included the computational system’s programmatic, electronic, and physical spatial aspects, which are more generally reflective of physical computing systems. We found that (1) students’ troubleshooting was more recursive and less linear than traditional approaches that usually propose linear, procedural, step-wise activities, and (2) students coordinated their approach across multiple modalities, taking advantage of a distributed set of tools and people in order to tackle a complex set of problems. In the discussion, we address various pedagogical implications for improving teaching about troubleshooting.
Acknowledgments
This work was supported by a grant from the National Science Foundation to Yasmin Kafai and Mike Eisenberg (#1742140). Any opinions, findings, conclusions, or recommendations expressed in this paper are those of the authors and do not necessarily reflect the views of NSF, the University of Pennsylvania, or Utah State University. Our gratitude toward our advisory board who helped us think through the early analysis of this project—Joshua Danish, Joanna Goode, Leah Buechley and Shuchi Grover—as well as Justice Walker, Gayithri Jayathirtha, and Mia Shaw who provided additional feedback during analysis. Special thanks to the reviewers who helped us improve this paper substantially and expanded our thinking on this work.