Debugging

Debugging

The renowned learning theorist Seymour Papert built his work on the observation that programming can catalyze powerful ideas. According to Papert, “powerful ideas” are central concepts and skills that are personally useful, interconnected with other disciplines, and grounded in intuitive knowledge internalized by a student over time (Papert, 1980). By affording novel ways of thinking and applying knowledge, powerful ideas offer a transformative approach to learning. Debugging is one such powerful idea. As Papert succinctly captures in this quote, fixing bugs is a context for learning to persist through failures. By encountering and overcoming errors in a low-stakes yet highly iterable environment, students practice problem-solving skills and hone traits of persistence and emotion regulation. Ultimately, these competencies transfer beyond the boundaries of coding, instilling that “being wrong” or “getting stuck” is only the first-step in an iterative process of deeper understanding. Although debugging is a powerful learning experience, it can be conceptually and emotionally challenging for novice learners.

Taken together, debugging poses a weighty dilemma: it is both immensely important and notoriously difficult to learn. Moreover, it is a skill that must be taught yet is often overlooked in programming education. This project attempts to bridge these gaps by addressing the question: “what are effective approaches for debugging instruction?”

Publications

  • Yang, S., Jiang, A., & Schneider, B. (2022). Supporting student learning with synchronous web-based awareness tools in a remote programming environment. In Proceedings of the 16th International Conference of the Learning Sciences (pp. 1349-1352). International Society of the Learning Sciences.
  • Yang, S., Baird, M., O’Rourke, E., Brennan., K., & Schneider, B. (accepted). Decoding Debugging Instruction: A Systematic Literature Review of Debugging Interventions. ACM Transactions on Computing Education (TOCE).
  • Yang, S., Hanzhang, Z., Yudian, X., Brennan, K., & Schneider, B. (2024). Debugging with an AI tutor: Investigating novice help-seeking behaviors and perceived learning. In Proceedings of the 2024 ACM Conference on International Computing Education Research-Volume 1 (pp. 84-94).