PRIMMDebug consists of an online tool that takes students through the steps of a pedagogical process based on PRIMM, a framework for teaching programming, and encourages written articulation throughout the debugging process and limits students'ability to run and edit code at certain stages.
Abstract
Debugging is a challenging and infuriating experience for many secondary school students learning their first text-based programming language. One frequent problem is the lack of reflection in students'debugging strategies, which makes error resolution unlikely and teacher reliance common. Tools that encourage more reflective and teacher-independent debugging may foster more success with fixing errors, but are lacking. This paper presents PRIMMDebug, an approach for teaching the debugging process to secondary school students. PRIMMDebug consists of an online tool that takes students through the steps of a pedagogical process based on PRIMM, a framework for teaching programming. The tool encourages written articulation throughout the debugging process and limits students'ability to run and edit code at certain stages. A classroom study with PRIMMDebug found a general reluctance among students to engage with the reflection it promotes, despite teachers appreciating this emphasis on reflection. We end by suggesting three considerations for future pedagogical debugging research and tooling: balance structure and flexibility, teach shorter debugging heuristics, and use tooling early on in students'programming journey.
This publication proposes a definition and a classification of agile software development approaches and analyses ten software development methods that can be characterized as being "agile" against the defined criterion.
P. Abrahamsson, O. Salo, Jussi Ronkainen et al.· arXiv.org· 727 citations· ⚡54
The study shows that agile practices improve both informal and formal communication, but indicates that, in larger development situations involving multiple external stakeholders, a mismatch of adequate communication mechanisms can sometimes even hinder the communication.
M. Pikkarainen, Jukka Haikara, O. Salo et al.· Empirical Software Engineeri...· 401 citations· ⚡48
The results indicate that software engineering work practices are chosen opportunistically, adapted and configured to provide value under the constrains imposed by the startup context.
Nicolò Paternoster, Carmine Giardino, M. Unterkalmsteiner et al.· Information and Software Tec...· 394 citations· ⚡54
The perception of the impact of agile methods is predominantly positive, and several challenge areas were discovered, but based on this study, agile methods are here to stay.
M. Laanti, O. Salo, P. Abrahamsson· Information and Software Tec...· 260 citations· ⚡20
Related blog posts
MIT News · Artificial Intelligence· news.mit.eduOct 7, 2026
Students in MIT’s Concourse program delve deeply into the human condition, debate challenging questions, and learn to develop judgment about issues that can’t be quantified.
Jennifer Neville did not want to go into computer science—but that’s exactly where she landed. Neville discusses the starts and stops that led to her professional sweet spot and her work identifying “surprising failures” making it hard for AI to handle complexity. The post What AI gets wrong and what failure teaches us appeared first on Microsoft Research.
MIT News · Artificial Intelligence· news.mit.eduSep 30, 2026
Able to defeat top-ranked human players and more efficient than other models, the new system could help decision-makers in military maneuvers or business negotiations.