Currently, debugging is rarely taught as its own discrete skill set. Students are expected to get better at debugging by virtue of having to debug a lot. We believe expertise in debugging follows a cohesive process with specific strategies that can be taught explicitly.
To investigate debugging as a systematic process, we conducted 6 Cognitive Task Analyses, where participants were asked to debug unfamiliar code. We then synthesized these results into a sequence model, and built an intelligent tutor to scaffold the steps in the sequence.
We believe that reframing debugging from a minute skill to something broader, akin to medical diagnosis or the scientific method, is can make debugging easier to learn and thus lower the frustrations of novice programmers.
Role : Researcher
Duration : 2 months
Team : Ryan Emberling, Emilio Vargas-Vite
Course : Advanced Topics in Personalized Online Learning, Prof. Vincent Aleven, Spring 2019