{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,6]],"date-time":"2026-03-06T01:39:10Z","timestamp":1772761150319,"version":"3.50.1"},"reference-count":95,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2023,6,8]],"date-time":"2023-06-08T00:00:00Z","timestamp":1686182400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Comput. Educ."],"published-print":{"date-parts":[[2023,6,30]]},"abstract":"<jats:p>Debugging is a core skill required by programmers, yet we know little about how to effectively teach the process of debugging. The challenges of learning debugging are compounded for novices who lack experience and are still learning the tools they need to program effectively. In this work, we report a case study in which we used a think-aloud protocol to gain insight into the behaviour of three students engaged in debugging tasks. Our qualitative analysis reveals a variety of helpful practices and barriers that limit the effectiveness of debugging. We observe that comprehension, evidence-based activities, and workflow practices all contribute to novice debugging success. Lack of sustained effort, precision, and methodical processes negatively impact debugging effectiveness. We anticipate that understanding how students engage in debugging tasks will aid future work to address ineffective behaviours and promote effective debugging activities.<\/jats:p>","DOI":"10.1145\/3589004","type":"journal-article","created":{"date-parts":[[2023,3,30]],"date-time":"2023-03-30T12:19:59Z","timestamp":1680178799000},"page":"1-38","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":22,"title":["A Think-Aloud Study of Novice Debugging"],"prefix":"10.1145","volume":"23","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-7633-5200","authenticated-orcid":false,"given":"Jacqueline","family":"Whalley","sequence":"first","affiliation":[{"name":"Auckland University of Technology, Auckland, New Zealand"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-6369-8475","authenticated-orcid":false,"given":"Amber","family":"Settle","sequence":"additional","affiliation":[{"name":"DePaul University, Chicago, Illinois, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-8269-2909","authenticated-orcid":false,"given":"Andrew","family":"Luxton-Reilly","sequence":"additional","affiliation":[{"name":"University of Auckland, Auckland, New Zealand"}]}],"member":"320","published-online":{"date-parts":[[2023,6,8]]},"reference":[{"key":"e_1_3_3_2_2","doi-asserted-by":"crossref","first-page":"84","DOI":"10.1145\/1067445.1067472","volume-title":"Proceedings of the 10th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education (ITiCSE\u201905)","author":"Ahmadzadeh Marzieh","year":"2005","unstructured":"Marzieh Ahmadzadeh, Dave Elliman, and Colin Higgins. 2005. An analysis of patterns of debugging among novice computer science students. In Proceedings of the 10th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education (ITiCSE\u201905). ACM, New York, NY, 84\u201388. DOI:10.1145\/1067445.1067472"},{"key":"e_1_3_3_3_2","doi-asserted-by":"publisher","DOI":"10.11120\/ital.2007.06040072"},{"key":"e_1_3_3_4_2","doi-asserted-by":"crossref","first-page":"585","DOI":"10.1145\/3287324.3287466","volume-title":"Proceedings of the 50th ACM Technical Symposium on Computer Science Education (SIGCSE\u201919)","author":"Allen Joe Michael","year":"2019","unstructured":"Joe Michael Allen, Frank Vahid, Alex Edgcomb, Kelly Downey, and Kris Miller. 2019. An analysis of using many small programs in CS1. In Proceedings of the 50th ACM Technical Symposium on Computer Science Education (SIGCSE\u201919). ACM, New York, NY, 585\u2013591. DOI:10.1145\/3287324.3287466"},{"key":"e_1_3_3_5_2","doi-asserted-by":"crossref","first-page":"522","DOI":"10.1145\/2676723.2677258","volume-title":"Proceedings of the 46th ACM Technical Symposium on Computer Science Education (SIGCSE\u201915)","author":"Altadmri Amjad","year":"2015","unstructured":"Amjad Altadmri and Neil C. C. Brown. 2015. 37 million compilations: Investigating novice programming mistakes in large-scale student data. In Proceedings of the 46th ACM Technical Symposium on Computer Science Education (SIGCSE\u201915). ACM, New York, NY, 522\u2013527. DOI:10.1145\/2676723.2677258"},{"key":"e_1_3_3_6_2","volume-title":"ASEE Virtual Annual Conference Content Access","author":"Alzahrani Nabeel","year":"2021","unstructured":"Nabeel Alzahrani and Frank Vahid. 2021. Common logic errors for programming learners: A three-decade literature survey. In ASEE Virtual Annual Conference Content Access. ASEE Conferences, Virtual Conference. https:\/\/peer.asee.org\/36814."},{"key":"e_1_3_3_7_2","volume-title":"12th China-Europe International Symposium on Software Engineering Education (CEISEE\u201916)","author":"Becker Brett","year":"2016","unstructured":"Brett Becker and Catherine Mooney. 2016. Categorizing compiler error messages with principal component analysis. In 12th China-Europe International Symposium on Software Engineering Education (CEISEE\u201916). https:\/\/researchrepository.ucd.ie\/handle\/10197\/7889."},{"key":"e_1_3_3_8_2","first-page":"81","volume-title":"Proceedings of the 1st International Workshop on Computing Education Research (ICER\u201905)","author":"Bergin Susan","year":"2005","unstructured":"Susan Bergin, Ronan Reilly, and Desmond Traynor. 2005. Examining the role of self-regulated learning on introductory programming performance. In Proceedings of the 1st International Workshop on Computing Education Research (ICER\u201905). ACM, New York, NY, 81\u201386. DOI:10.1145\/1089786.1089794"},{"key":"e_1_3_3_9_2","doi-asserted-by":"publisher","DOI":"10.1080\/10447319309526064"},{"key":"e_1_3_3_10_2","first-page":"53","volume-title":"Proceedings of the 10th Conference on Australasian Computing Education - Volume 78 (ACE\u201908)","author":"Bornat Richard","year":"2008","unstructured":"Richard Bornat, Saeed Dehnadi, and Simon. 2008. Mental models, consistency and programming aptitude. In Proceedings of the 10th Conference on Australasian Computing Education - Volume 78 (ACE\u201908). Australian Computer Society, Inc., AUS, 53\u201361."},{"key":"e_1_3_3_11_2","volume-title":"AGU Fall Meeting Abstracts","author":"Bradley A. C.","year":"2020","unstructured":"A. C. Bradley. 2020. Rubber ducks and double labs: Teaching debugging strategies in a geoscience class. In AGU Fall Meeting Abstracts, Vol. 2020. Article ED011-04, ED011-04 pages."},{"key":"e_1_3_3_12_2","doi-asserted-by":"publisher","DOI":"10.1191\/1478088706qp063oa"},{"key":"e_1_3_3_13_2","doi-asserted-by":"publisher","DOI":"10.1037\/qup0000196"},{"key":"e_1_3_3_14_2","doi-asserted-by":"crossref","first-page":"23","DOI":"10.1145\/3304221.3319771","volume-title":"Proceedings of the 2019 ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE\u201919)","author":"Caceffo Ricardo","year":"2019","unstructured":"Ricardo Caceffo, Pablo Frank-Bolton, Renan Souza, and Rodolfo Azevedo. 2019. Identifying and validating Java misconceptions toward a CS1 concept inventory. In Proceedings of the 2019 ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE\u201919). ACM, New York, NY, 23\u201329. DOI:10.1145\/3304221.3319771"},{"issue":"3","key":"e_1_3_3_15_2","first-page":"9","article-title":"Its debug: Practical results","volume":"30","author":"Carter Elizabeth","year":"2015","unstructured":"Elizabeth Carter. 2015. Its debug: Practical results. Journal of Computing Sciences in Colleges 30, 3 (jan2015), 9\u201315.","journal-title":"Journal of Computing Sciences in Colleges"},{"issue":"4","key":"e_1_3_3_16_2","doi-asserted-by":"crossref","first-page":"411","DOI":"10.1080\/08886504.1989.10781890","article-title":"Cognitive style and diagnostic skills of student programmers","volume":"21","author":"Cavaiani Thomas P.","year":"1989","unstructured":"Thomas P. Cavaiani. 1989. Cognitive style and diagnostic skills of student programmers. Journal of Research on Computing in Education 21, 4 (1989), 411\u2013420.","journal-title":"Journal of Research on Computing in Education"},{"key":"e_1_3_3_17_2","doi-asserted-by":"publisher","DOI":"10.1109\/LaTiCE.2013.38"},{"issue":"1","key":"e_1_3_3_18_2","doi-asserted-by":"crossref","first-page":"17","DOI":"10.1145\/1028174.971310","article-title":"Debugging: From novice to expert","volume":"36","author":"Chmiel Ryan","year":"2004","unstructured":"Ryan Chmiel and Michael C. Loui. 2004. Debugging: From novice to expert. ACM SIGCSE Bulletin 36, 1 (2004), 17\u201321.","journal-title":"ACM SIGCSE Bulletin"},{"key":"e_1_3_3_19_2","volume-title":"Inside\/outside: Teacher Research and Knowledge","author":"Cochran-Smith Marilyn","year":"1993","unstructured":"Marilyn Cochran-Smith and Susan Lytle. 1993. Inside\/outside: Teacher Research and Knowledge. Teachers College Press, New York."},{"key":"e_1_3_3_20_2","doi-asserted-by":"publisher","DOI":"10.1080\/08993408.2020.1805286"},{"key":"e_1_3_3_21_2","first-page":"209","volume-title":"Deeper Learning, Communicative Competence, and Critical Thinking: Innovative, Research-Based Strategies for Development in 21st Century Classrooms","author":"DeLiema David","year":"2020","unstructured":"David DeLiema, Maggie Dahn, Virginia J. Flood, Dor Abrahamson, Noel Enyedy, and Francis Steen. 2020. Debugging as a context for collaborative reflection on problem-solving processes. In Deeper Learning, Communicative Competence, and Critical Thinking: Innovative, Research-Based Strategies for Development in 21st Century Classrooms, E. Manolo (Ed.). Routledge, 209\u2013228."},{"key":"e_1_3_3_22_2","doi-asserted-by":"publisher","DOI":"10.4324\/9780429323058"},{"key":"e_1_3_3_23_2","first-page":"75","volume-title":"Proceedings of the 17th ACM Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE\u201912)","author":"Denny Paul","year":"2012","unstructured":"Paul Denny, Andrew Luxton-Reilly, and Ewan Tempero. 2012. All syntax errors are not equal. In Proceedings of the 17th ACM Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE\u201912). ACM, New York, NY, 75\u201380. DOI:10.1145\/2325296.2325318"},{"key":"e_1_3_3_24_2","first-page":"3319","volume-title":"2009 1st International Conference on Information Science and Engineering","author":"Du Chuntao","year":"2009","unstructured":"Chuntao Du. 2009. Empirical study on college students\u2019 debugging abilities in computer programming. In 2009 1st International Conference on Information Science and Engineering. 3319\u20133322. DOI:10.1109\/ICISE.2009.550"},{"key":"e_1_3_3_25_2","first-page":"283","volume-title":"Studying the Novice Programmer","author":"DuBoulay Bendict","year":"1989","unstructured":"Bendict DuBoulay. 1989. Some difficulties of learning to program. In Studying the Novice Programmer, E. Soloway and J. C. Spohrer (Eds.). Number 14. Lawrence Erlbaum Associates, 283\u2013299. http:\/\/www.sussex.ac.uk\/Users\/bend\/papers\/diffsofprogramming.pdf."},{"key":"e_1_3_3_26_2","first-page":"162","volume-title":"Proceedings of the 10th International Conference on Software Engineering","author":"Ducasse Mireille","year":"1988","unstructured":"Mireille Ducasse and A.-M. Emde. 1988. A review of automated debugging systems: Knowledge, strategies and techniques. In Proceedings of the 10th International Conference on Software Engineering. IEEE Computer Society Press, 162\u2013171."},{"key":"e_1_3_3_27_2","first-page":"32","volume-title":"IEEE 6th International Conference on Technology for Education (T4E\u201914)","author":"Eranki Kiran L. N.","year":"2014","unstructured":"Kiran L. N. Eranki and Kannan M. Moudgalya. 2014. Application of program slicing technique to improve novice programming competency in spoken tutorial workshops. In IEEE 6th International Conference on Technology for Education (T4E\u201914). IEEE, 32\u201335."},{"key":"e_1_3_3_28_2","doi-asserted-by":"crossref","first-page":"83","DOI":"10.1145\/3160489.3160493","volume-title":"Proceedings of the 20th Australasian Computing Education Conference (ACE\u201918)","author":"Ettles Andrew","year":"2018","unstructured":"Andrew Ettles, Andrew Luxton-Reilly, and Paul Denny. 2018. Common logic errors made by novice programmers. In Proceedings of the 20th Australasian Computing Education Conference (ACE\u201918). ACM, New York, NY, 83\u201389. DOI:10.1145\/3160489.3160493"},{"key":"e_1_3_3_29_2","doi-asserted-by":"publisher","DOI":"10.1080\/08993400802114508"},{"key":"e_1_3_3_30_2","doi-asserted-by":"publisher","DOI":"10.1109\/TE.2009.2025266"},{"key":"e_1_3_3_31_2","doi-asserted-by":"crossref","DOI":"10.1145\/3467967","volume-title":"Computing Curricula 2020: Paradigms for Global Computing Education","author":"Force CC2020 Task","year":"2020","unstructured":"CC2020 Task Force. 2020. Computing Curricula 2020: Paradigms for Global Computing Education. ACM, New York, NY."},{"key":"e_1_3_3_32_2","doi-asserted-by":"crossref","first-page":"256","DOI":"10.1145\/1352135.1352226","volume-title":"Proceedings of the 39th SIGCSE Technical Symposium on Computer Science Education","author":"Goldman Ken","year":"2008","unstructured":"Ken Goldman, Paul Gross, Cinda Heeren, Geoffrey Herman, Lisa Kaczmarczyk, Michael C. Loui, and Craig Zilles. 2008. Identifying important and difficult concepts in introductory computing courses using a delphi process. In Proceedings of the 39th SIGCSE Technical Symposium on Computer Science Education. 256\u2013260."},{"key":"e_1_3_3_33_2","doi-asserted-by":"crossref","first-page":"205","DOI":"10.1007\/978-3-642-00427-8_12","volume-title":"End-User Development","author":"Grigoreanu Valentina","year":"2009","unstructured":"Valentina Grigoreanu, James Brundage, Eric Bahna, Margaret Burnett, Paul ElRif, and Jeffrey Snover. 2009. Males\u2019 and Females\u2019 script debugging strategies. In End-User Development, Volkmar Pipek, Mary Beth Rosson, Boris de Ruyter, and Volker Wulf (Eds.). Springer, Berlin, 205\u2013224."},{"key":"e_1_3_3_34_2","first-page":"579","volume-title":"Proceedings of the 44th ACM Technical Symposium on Computer Science Education (SIGCSE\u201913)","author":"Guo Philip J.","year":"2013","unstructured":"Philip J. Guo. 2013. Online Python tutor: Embeddable web-based program visualization for Cs education. In Proceedings of the 44th ACM Technical Symposium on Computer Science Education (SIGCSE\u201913). ACM, New York, NY, 579\u2013584. DOI:10.1145\/2445196.2445368"},{"key":"e_1_3_3_35_2","unstructured":"Ava Heinonen Bettina Lehtel\u00e4 Arto Hellas and Fabian Fagerholm. 2022. Synthesizing Research on Programmers\u2019 Mental Models of Programs Tasks and Concepts \u2013 a Systematic Literature Review. (2022). DOI:10.48550\/ARXIV.2212.07763"},{"key":"e_1_3_3_36_2","first-page":"16","volume-title":"Proceedings of the 5th International Conference on Computer Supported Education","author":"Hou Ting-Yun","year":"2013","unstructured":"Ting-Yun Hou, Yu-Tzu Lin, Yu-Chih Lin, Chia-Hu Chang, and Miao-Hsuan Yen. 2013. Exploring the gender effect on cognitive processes in program debugging based on eye-movement analysis. In Proceedings of the 5th International Conference on Computer Supported Education. ResearchGate, 16\u201321."},{"key":"e_1_3_3_37_2","doi-asserted-by":"publisher","DOI":"10.1145\/792548.611956"},{"key":"e_1_3_3_38_2","unstructured":"Gayithri Jayathirtha Deborah Fields and Yasmin Kafai. 2020. Pair debugging of electronic textiles projects: Analyzing think-aloud protocols for high school students\u2019 strategies and practices while problem solving. In ICLS 2020: The 14th International Conference of the Learning Sciences. International Society of the Learning Sciences (ISLS\u201920) . https:\/\/repository.isls.org\/\/handle\/1\/6292."},{"key":"e_1_3_3_39_2","volume-title":"Computer Science Curricula 2013: Curriculum Guidelines for Undergraduate Degree Programs in Computer Science","author":"Curricula Association for Computing Machinery (ACM) Joint Task Force on Computing","year":"2013","unstructured":"Association for Computing Machinery (ACM) Joint Task Force on Computing Curricula and IEEE Computer Society. 2013. Computer Science Curricula 2013: Curriculum Guidelines for Undergraduate Degree Programs in Computer Science. ACM, New York, NY."},{"key":"e_1_3_3_40_2","doi-asserted-by":"publisher","DOI":"10.1007\/s10648-006-9001-8"},{"key":"e_1_3_3_41_2","doi-asserted-by":"crossref","first-page":"169","DOI":"10.1145\/3287324.3287333","volume-title":"Proceedings of the 50th ACM Technical Symposium on Computer Science Education (SIGCSE\u201919)","author":"Kafai Yasmin B.","year":"2019","unstructured":"Yasmin B. Kafai, David DeLiema, Deborah A. Fields, Gary Lewandowski, and Colleen Lewis. 2019. Rethinking debugging as productive failure for CS education. In Proceedings of the 50th ACM Technical Symposium on Computer Science Education (SIGCSE\u201919). ACM, New York, NY, 169\u2013170. DOI:10.1145\/3287324.3287333"},{"key":"e_1_3_3_42_2","doi-asserted-by":"publisher","DOI":"10.1207\/s15327051hci0304_2"},{"key":"e_1_3_3_43_2","volume-title":"Proceedings of the 18th Koli Calling International Conference on Computing Education Research (Koli Calling\u201918)","author":"Kennedy Cazembe","year":"2018","unstructured":"Cazembe Kennedy and Eileen T. Kraemer. 2018. What are they thinking? Eliciting student reasoning about troublesome concepts in introductory computer science. In Proceedings of the 18th Koli Calling International Conference on Computing Education Research (Koli Calling\u201918). ACM, New York, NY, Article 7, 10 pages. DOI:10.1145\/3279720.3279728"},{"key":"e_1_3_3_44_2","doi-asserted-by":"publisher","DOI":"10.1207\/s15327051hci0202_2"},{"key":"e_1_3_3_45_2","doi-asserted-by":"publisher","DOI":"10.1002\/ev.1459"},{"key":"e_1_3_3_46_2","doi-asserted-by":"crossref","first-page":"34","DOI":"10.1109\/LaTiCE.2015.16","volume-title":"2015 International Conference on Learning and Teaching in Computing and Engineering","author":"Kiran E. L. N.","year":"2015","unstructured":"E. L. N. Kiran and K. M. Moudgalya. 2015. Evaluation of programming competency using student error patterns. In 2015 International Conference on Learning and Teaching in Computing and Engineering. 34\u201341. DOI:10.1109\/LaTiCE.2015.16"},{"key":"e_1_3_3_47_2","unstructured":"Amy Ko. 2020. The CS-Ed Podcast. (2020). Retrieved March 17 2020 from https:\/\/sites.duke.edu\/csedpodcast\/2020\/01\/07\/episode-3-amy\/."},{"key":"e_1_3_3_48_2","first-page":"469","volume-title":"Proceedings of the 50th ACM Technical Symposium on Computer Science Education (SIGCSE\u201919)","author":"Ko Amy J.","year":"2019","unstructured":"Amy J. Ko, Thomas D. LaToza, Stephen Hull, Ellen A. Ko, William Kwok, Jane Quichocho, Harshitha Akkaraju, and Rishin Pandit. 2019. Teaching explicit programming strategies to adolescents. In Proceedings of the 50th ACM Technical Symposium on Computer Science Education (SIGCSE\u201919). ACM, New York, NY, 469\u2013475. DOI:10.1145\/3287324.3287371"},{"issue":"4","key":"e_1_3_3_49_2","doi-asserted-by":"crossref","first-page":"2416","DOI":"10.1007\/s10664-020-09810-1","article-title":"Explicit programming strategies","volume":"25","author":"LaToza Thomas D.","year":"2020","unstructured":"Thomas D. LaToza, Maryam Arab, Dastyni Loksa, and Amy J. Ko. 2020. Explicit programming strategies. Empirical Software Engineering 25, 4 (2020), 2416\u20132449.","journal-title":"Empirical Software Engineering"},{"key":"e_1_3_3_50_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2010.111"},{"issue":"2","key":"e_1_3_3_51_2","doi-asserted-by":"crossref","first-page":"165","DOI":"10.1016\/S0360-1315(98)00063-3","article-title":"Debug it: A debugging practicing system","volume":"32","author":"Lee Greg C.","year":"1999","unstructured":"Greg C. Lee and Jackie C. Wu. 1999. Debug it: A debugging practicing system. Computers & Education 32, 2 (1999), 165\u2013179.","journal-title":"Computers & Education"},{"key":"e_1_3_3_52_2","volume-title":"Teaching and engaging with debugging puzzles","author":"Lee Michael Jong","year":"2015","unstructured":"Michael Jong Lee. 2015. Teaching and engaging with debugging puzzles. Ph.D. Dissertation. University of Washington."},{"key":"e_1_3_3_53_2","first-page":"127","volume-title":"Proceedings of the 9th Annual International Conference on International Computing Education Research (ICER\u201912)","author":"Lewis Colleen M.","year":"2012","unstructured":"Colleen M. Lewis. 2012. The importance of students\u2019 attention to program state: A case study of debugging behavior. In Proceedings of the 9th Annual International Conference on International Computing Education Research (ICER\u201912). ACM, New York, NY, 127\u2013134. DOI:10.1145\/2361276.2361301"},{"key":"e_1_3_3_54_2","first-page":"79","volume-title":"Proceedings of the 21st Australasian Computing Education Conference (ACE\u201919)","author":"Li Chen","year":"2019","unstructured":"Chen Li, Emily Chan, Paul Denny, Andrew Luxton-Reilly, and Ewan Tempero. 2019. Towards a framework for teaching debugging. In Proceedings of the 21st Australasian Computing Education Conference (ACE\u201919). ACM, New York, NY, 79\u201386."},{"key":"e_1_3_3_55_2","doi-asserted-by":"publisher","DOI":"10.1109\/TE.2015.2487341"},{"key":"e_1_3_3_56_2","doi-asserted-by":"publisher","DOI":"10.1080\/08993408.2017.1308651"},{"key":"e_1_3_3_57_2","doi-asserted-by":"publisher","DOI":"10.1145\/2810041"},{"key":"e_1_3_3_58_2","doi-asserted-by":"crossref","first-page":"83","DOI":"10.1145\/2960310.2960334","volume-title":"Proceedings of the 2016 ACM Conference on International Computing Education Research (ICER\u201916)","author":"Loksa Dastyni","year":"2016","unstructured":"Dastyni Loksa and Amy J. Ko. 2016. The role of self-regulation in programming problem solving process and success. In Proceedings of the 2016 ACM Conference on International Computing Education Research (ICER\u201916). ACM, New York, NY, 83\u201391. DOI:10.1145\/2960310.2960334"},{"key":"e_1_3_3_59_2","doi-asserted-by":"publisher","DOI":"10.1145\/3487050"},{"key":"e_1_3_3_60_2","doi-asserted-by":"crossref","first-page":"149","DOI":"10.1145\/3328778.3366846","volume-title":"Proceedings of the 51st ACM Technical Symposium on Computer Science Education (SIGCSE\u201920)","author":"Loksa Dastyni","year":"2020","unstructured":"Dastyni Loksa, Benjamin Xie, Harrison Kwik, and Amy J. Ko. 2020. Investigating novices\u2019 in situ reflections on their programming process. In Proceedings of the 51st ACM Technical Symposium on Computer Science Education (SIGCSE\u201920). ACM, New York, NY, 149\u2013155. DOI:10.1145\/3328778.3366846"},{"key":"e_1_3_3_61_2","first-page":"159","volume-title":"Proceedings of the 23rd Annual ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE\u201918)","author":"Luxton-Reilly Andrew","year":"2018","unstructured":"Andrew Luxton-Reilly, Emma McMillan, Elizabeth Stevenson, Ewan Tempero, and Paul Denny. 2018. Ladebug: An online tool to help novice programmers improve their debugging skills. In Proceedings of the 23rd Annual ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE\u201918). ACM, New York, NY, 159\u2013164. DOI:10.1145\/3197091.3197098"},{"key":"e_1_3_3_62_2","first-page":"499","volume-title":"Proceedings of the 38th SIGCSE Technical Symposium on Computer Science Education (SIGCSE\u201907)","author":"Ma Linxiao","year":"2007","unstructured":"Linxiao Ma, John Ferguson, Marc Roper, and Murray Wood. 2007. Investigating the viability of mental models held by novice programmers. In Proceedings of the 38th SIGCSE Technical Symposium on Computer Science Education (SIGCSE\u201907). ACM, New York, NY, 499\u2013503. DOI:10.1145\/1227310.1227481"},{"key":"e_1_3_3_63_2","doi-asserted-by":"publisher","DOI":"10.1145\/3408877.3432533"},{"key":"e_1_3_3_64_2","volume-title":"Novice Programmer Errors - Analysis and Diagnostics","author":"McCall Davin","year":"2016","unstructured":"Davin McCall. 2016. Novice Programmer Errors - Analysis and Diagnostics. Ph.D. Dissertation. University of Kent. https:\/\/kar.kent.ac.uk\/61340\/."},{"key":"e_1_3_3_65_2","doi-asserted-by":"publisher","DOI":"10.1145\/3335814"},{"issue":"2","key":"e_1_3_3_66_2","doi-asserted-by":"crossref","first-page":"67","DOI":"10.1080\/08993400802114581","article-title":"Debugging: A review of the literature from an educational perspective","volume":"18","author":"McCauley Renee","year":"2008","unstructured":"Renee McCauley, Sue Fitzgerald, Gary Lewandowski, Laurie Murphy, Beth Simon, Lynda Thomas, and Carol Zander. 2008. Debugging: A review of the literature from an educational perspective. Computer Science Education 18, 2 (2008), 67\u201392.","journal-title":"Computer Science Education"},{"key":"e_1_3_3_67_2","volume-title":"Debugging by Thinking: A Multidisciplinary Approach","author":"Metzger Robert Charles","year":"2004","unstructured":"Robert Charles Metzger. 2004. Debugging by Thinking: A Multidisciplinary Approach. Elsevier Digital Press."},{"key":"e_1_3_3_68_2","doi-asserted-by":"crossref","first-page":"93","DOI":"10.1145\/3105726.3106173","volume-title":"Proceedings of the 2017 ACM Conference on International Computing Education Research","author":"Miljanovic Michael A.","year":"2017","unstructured":"Michael A. Miljanovic and Jeremy S. Bradbury. 2017. RoboBUG: A serious game for learning debugging techniques. In Proceedings of the 2017 ACM Conference on International Computing Education Research. ACM, 93\u2013100."},{"key":"e_1_3_3_69_2","volume-title":"Proceedings of the 15th International Conference of the Learning Sciences (ICLS\u201921)","author":"Morales-Navarro L.","year":"2021","unstructured":"L. Morales-Navarro, D. A. Fields, and Y. B. Kafai. 2021. Growing mindsets: Debugging by design to promote students\u2019 growth mindset practices in computer science class. In Proceedings of the 15th International Conference of the Learning Sciences (ICLS\u201921), E. de Vries, Y. Hod, and J. Ahn (Eds.). https:\/\/par.nsf.gov\/biblio\/10309425."},{"key":"e_1_3_3_70_2","first-page":"51","volume-title":"Proceedings of the 6th International Workshop on Computing Education Research (ICER\u201910)","author":"Murphy Laurie","year":"2010","unstructured":"Laurie Murphy, Sue Fitzgerald, Brian Hanks, and Ren\u00e9e McCauley. 2010. Pair debugging: A transactive discourse analysis. In Proceedings of the 6th International Workshop on Computing Education Research (ICER\u201910). ACM, New York, NY, 51\u201358. DOI:10.1145\/1839594.1839604"},{"key":"e_1_3_3_71_2","doi-asserted-by":"crossref","first-page":"163","DOI":"10.1145\/1352135.1352191","volume-title":"Proceedings of the 39th SIGCSE Technical Symposium on Computer Science Education (SIGCSE\u201908)","author":"Murphy Laurie","year":"2008","unstructured":"Laurie Murphy, Gary Lewandowski, Ren\u00e9e McCauley, Beth Simon, Lynda Thomas, and Carol Zander. 2008. Debugging: The good, the bad, and the quirky \u2013 a qualitative analysis of novices\u2019 strategies. In Proceedings of the 39th SIGCSE Technical Symposium on Computer Science Education (SIGCSE\u201908). ACM, New York, NY, 163\u2013167. DOI:10.1145\/1352135.1352191"},{"key":"e_1_3_3_72_2","doi-asserted-by":"publisher","DOI":"10.1145\/3055301.3068754"},{"key":"e_1_3_3_73_2","first-page":"213","volume-title":"1st Workshop on Empirical Studies of Programmers on Empirical Studies of Programmers","author":"Perkins D. N.","year":"1986","unstructured":"D. N. Perkins and Fay Martin. 1986. Fragile knowledge and neglected strategies in novice programmers. In 1st Workshop on Empirical Studies of Programmers on Empirical Studies of Programmers. 213\u2013229."},{"key":"e_1_3_3_74_2","doi-asserted-by":"crossref","first-page":"41","DOI":"10.1145\/3230977.3230981","volume-title":"Proceedings of the 2018 ACM Conference on International Computing Education Research (ICER\u201918)","author":"Prather James","year":"2018","unstructured":"James Prather, Raymond Pettit, Kayla McMurry, Alani Peters, John Homer, and Maxine Cohen. 2018. Metacognitive difficulties faced by novice programmers in automated assessment tools. In Proceedings of the 2018 ACM Conference on International Computing Education Research (ICER\u201918). ACM, New York, NY, 41\u201350. DOI:10.1145\/3230977.3230981"},{"key":"e_1_3_3_75_2","first-page":"1","volume-title":"Proceedings of the 6th Workshop on Evaluation and Usability of Programming Languages and Tools (PLATEAU\u201915)","author":"Pritchard David","year":"2015","unstructured":"David Pritchard. 2015. Frequency distribution of error messages. In Proceedings of the 6th Workshop on Evaluation and Usability of Programming Languages and Tools (PLATEAU\u201915). ACM, New York, NY, 1\u20138. DOI:10.1145\/2846680.2846681"},{"key":"e_1_3_3_76_2","doi-asserted-by":"crossref","first-page":"139","DOI":"10.1109\/ICALT.2008.288","volume-title":"2008 8th IEEE International Conference on Advanced Learning Technologies","author":"Rao S.","year":"2008","unstructured":"S. Rao and V. Kumar. 2008. A theory-centric real-time assessment of programming. In 2008 8th IEEE International Conference on Advanced Learning Technologies. 139\u2013143. DOI:10.1109\/ICALT.2008.288"},{"key":"e_1_3_3_77_2","volume-title":"The Effect of Training Subjects in Self-explanation Strategies on Problem Solving Success in Computer Programming","author":"Rezel Elizabeth Susan","year":"2003","unstructured":"Elizabeth Susan Rezel. 2003. The Effect of Training Subjects in Self-explanation Strategies on Problem Solving Success in Computer Programming. Marquette University."},{"key":"e_1_3_3_78_2","doi-asserted-by":"crossref","first-page":"137","DOI":"10.1076\/csed.13.2.137.14200","article-title":"Learning and teaching programming: A review and discussion","volume":"13","author":"Robins Anthony","year":"2003","unstructured":"Anthony Robins, Janet Rountree, and Nathan Rountree. 2003. Learning and teaching programming: A review and discussion. Computer Science Education 13 (2003), 137\u2013172.","journal-title":"Computer Science Education"},{"issue":"1","key":"e_1_3_3_79_2","doi-asserted-by":"crossref","first-page":"3","DOI":"10.1016\/j.jvlc.2004.07.001","article-title":"Interactive, visual fault localization support for end-user programmers","volume":"16","author":"Ruthruff Joseph R.","year":"2005","unstructured":"Joseph R. Ruthruff, Shrinu Prabhakararao, James Reichwein, Curtis Cook, Eugene Creswick, and Margaret Burnett. 2005. Interactive, visual fault localization support for end-user programmers. Journal of Visual Languages & Computing 16, 1-2 (2005), 3\u201340.","journal-title":"Journal of Visual Languages & Computing"},{"key":"e_1_3_3_80_2","doi-asserted-by":"publisher","DOI":"10.1518\/001872000779656570"},{"key":"e_1_3_3_81_2","doi-asserted-by":"publisher","DOI":"10.1109\/TE.2013.2288700"},{"key":"e_1_3_3_82_2","first-page":"1","volume-title":"2021 IEEE Frontiers in Education Conference (FIE\u201921)","author":"Silva Leonardo","year":"2021","unstructured":"Leonardo Silva, Antonio Mendes, Anabela Gomes, Gabriel Fortes, Chan Tong Lam, and Calana Chan. 2021. Exploring the association between self-regulation of learning and programming learning: A multinational investigation. In 2021 IEEE Frontiers in Education Conference (FIE\u201921). 1\u20138. DOI:10.1109\/FIE49875.2021.9637438"},{"key":"e_1_3_3_83_2","first-page":"852","volume-title":"Proceedings of the 49th ACM Technical Symposium on Computer Science Education (SIGCSE\u201918)","year":"2018","unstructured":"Simon, Raina Mason, Tom Crick, James H. Davenport, and Ellen Murphy. 2018. Language choice in introductory programming courses at Australasian and UK universities. In Proceedings of the 49th ACM Technical Symposium on Computer Science Education (SIGCSE\u201918). ACM, New York, NY, 852\u2013857. DOI:10.1145\/3159450.3159547"},{"key":"e_1_3_3_84_2","doi-asserted-by":"crossref","first-page":"538","DOI":"10.1145\/3287324.3287394","volume-title":"Proceedings of the 50th ACM Technical Symposium on Computer Science Education (SIGCSE\u201919)","author":"Smith Rebecca","year":"2019","unstructured":"Rebecca Smith and Scott Rixner. 2019. The error landscape: Characterizing the mistakes of novice programmers. In Proceedings of the 50th ACM Technical Symposium on Computer Science Education (SIGCSE\u201919). ACM, New York, NY, 538\u2013544. DOI:10.1145\/3287324.3287394"},{"key":"e_1_3_3_85_2","doi-asserted-by":"publisher","DOI":"10.1145\/6592.6594"},{"key":"e_1_3_3_86_2","first-page":"127","volume-title":"IEEE Symposium on Visual Languages and Human-Centric Computing, 2007 (VL\/HCC\u201907).","author":"Subrahmaniyan Neeraja","year":"2007","unstructured":"Neeraja Subrahmaniyan, Cory Kissinger, Kyle Rector, Derek Inman, Jared Kaplan, Laura Beckwith, and Margaret Burnett. 2007. Explaining debugging strategies to end-user programmers. In IEEE Symposium on Visual Languages and Human-Centric Computing, 2007 (VL\/HCC\u201907). IEEE, 127\u2013136."},{"key":"e_1_3_3_87_2","volume-title":"The Pragmatic Programmer: Your Journey to Mastery","author":"Thomas David","year":"2019","unstructured":"David Thomas and Andrew Hunt. 2019. The Pragmatic Programmer: Your Journey to Mastery. Addison-Wesley Professional."},{"key":"e_1_3_3_88_2","unstructured":"Maarten van Someren. 1994. The think aloud method: A practical guide to modelling cognitive processes."},{"key":"e_1_3_3_89_2","doi-asserted-by":"publisher","DOI":"10.1177\/0047239515627263"},{"issue":"1","key":"e_1_3_3_90_2","doi-asserted-by":"crossref","first-page":"21","DOI":"10.1186\/s40561-020-00129-4","article-title":"G4D \u2014 A treasure hunt game for novice programmers to learn debugging","volume":"7","author":"Venigalla Akhila Sri Manasa","year":"2020","unstructured":"Akhila Sri Manasa Venigalla and Sridhar Chimalakonda. 2020. G4D \u2014 A treasure hunt game for novice programmers to learn debugging. Smart Learning Environments 7, 1 (2020), 21.","journal-title":"Smart Learning Environments"},{"key":"e_1_3_3_91_2","first-page":"446","volume-title":"Proceedings of the 17th ACM Conference on International Computing Education Research (ICER\u201921)","author":"Wert Ethan","year":"2021","unstructured":"Ethan Wert, Jeremy Grifski, Sijia Luo, and Zahra Atiq. 2021. A multi-modal investigation of self-regulation strategies adopted by first-year engineering students during programming tasks. In Proceedings of the 17th ACM Conference on International Computing Education Research (ICER\u201921). ACM, New York, NY, USA, 446\u2013447. DOI:10.1145\/3446871.3469795"},{"key":"e_1_3_3_92_2","doi-asserted-by":"crossref","first-page":"11","DOI":"10.1145\/3441636.3442300","volume-title":"Australasian Computing Education Conference (ACE\u201921)","author":"Whalley Jacqueline","year":"2021","unstructured":"Jacqueline Whalley, Amber Settle, and Andrew Luxton-Reilly. 2021. Analysis of a process for introductory debugging. In Australasian Computing Education Conference (ACE\u201921). ACM, New York, NY, 11\u201320. DOI:10.1145\/3441636.3442300"},{"key":"e_1_3_3_93_2","doi-asserted-by":"crossref","first-page":"73","DOI":"10.1145\/3408877.3432374","volume-title":"Proceedings of the 52nd ACM Technical Symposium on Computer Science Education (SIGCSE\u201921)","author":"Whalley Jacqueline","year":"2021","unstructured":"Jacqueline Whalley, Amber Settle, and Andrew Luxton-Reilly. 2021. Novice reflections on debugging. In Proceedings of the 52nd ACM Technical Symposium on Computer Science Education (SIGCSE\u201921). ACM, New York, NY, 73\u201379. DOI:10.1145\/3408877.3432374"},{"key":"e_1_3_3_94_2","first-page":"344","volume-title":"Proceedings of the 49th ACM Technical Symposium on Computer Science Education (SIGCSE\u201918)","author":"Xie Benjamin","year":"2018","unstructured":"Benjamin Xie, Greg L. Nelson, and Amy J. Ko. 2018. An explicit strategy to scaffold novice program tracing. In Proceedings of the 49th ACM Technical Symposium on Computer Science Education (SIGCSE\u201918). ACM, New York, NY, 344\u2013349. DOI:10.1145\/3159450.3159527"},{"key":"e_1_3_3_95_2","first-page":"122","volume-title":"Engaging Learners Through Emerging Technologies","author":"Yen Ching-Zon","year":"2012","unstructured":"Ching-Zon Yen, Ping-Huang Wu, and Ching-Fang Lin. 2012. Analysis of experts\u2019 and novices\u2019 thinking process in program debugging. In Engaging Learners Through Emerging Technologies, Kam Cheong Li, Fu Lee Wang, Kin Sun Yuen, Simon K. S. Cheung, and Reggie Kwan (Eds.). Springer, Berlin, 122\u2013134."},{"key":"e_1_3_3_96_2","volume-title":"Why Programs Fail: A Guide to Systematic Debugging","author":"Zeller Andreas","year":"2009","unstructured":"Andreas Zeller. 2009. Why Programs Fail: A Guide to Systematic Debugging. Elsevier."}],"container-title":["ACM Transactions on Computing Education"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3589004","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3589004","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T16:36:15Z","timestamp":1750178175000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3589004"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,6,8]]},"references-count":95,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2023,6,30]]}},"alternative-id":["10.1145\/3589004"],"URL":"https:\/\/doi.org\/10.1145\/3589004","relation":{},"ISSN":["1946-6226","1946-6226"],"issn-type":[{"value":"1946-6226","type":"print"},{"value":"1946-6226","type":"electronic"}],"subject":[],"published":{"date-parts":[[2023,6,8]]},"assertion":[{"value":"2022-05-31","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2023-03-10","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2023-06-08","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}