{"id":{"repo_id":"uiuc","oai_identifier":"oai:www.ideals.illinois.edu:2142/129210"},"canonical_url":"https://search.dev.ndltd.org/etd/uiuc/oai:www.ideals.illinois.edu:2142/129210","repository":{"repo_id":"uiuc","name":"University of Illinois - Urbana-Champaign","base_url":"https://www.ideals.illinois.edu/oai-pmh"},"display":{"title":"Towards more effective testing and debugging education in computer science courses","abstract":"Submission original under an indefinite embargo labeled 'Open Access'. The submission was exported from vireo on 2025-10-19 without embargo terms","abstract_html":"Submission original under an indefinite embargo labeled &#x27;Open Access&#x27;. The submission was exported from vireo on 2025-10-19 without embargo terms","abstract_has_math":false,"creators":["Butler, Liia"],"institution":"University of Illinois Urbana-Champaign","degree_name":"Ph.D.","degree_level":"Dissertation","degree_discipline":"Computer Science","degree_department":null,"school":null,"contributors":["Herman, Geoffrey L","Lewis, Colleen M","Zilles, Craig","Heckman, Sarah"],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2025,"date_issued":"2025-04-18","date_published":"2025-04-18","updated_at":"2026-07-22T22:25:04Z","subjects":["debugging","computing education","programming education"],"languages":["en","eng"],"rights":["Copyright 2025 Liia Butler"],"rights_urls":[],"identifier_entries":[]},"links":{"outbound_url":"https://hdl.handle.net/2142/129210","outbound_label":"Handle","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor","label":"Contributor","values":["Herman, Geoffrey L","Lewis, Colleen M","Zilles, Craig","Heckman, Sarah"]},{"key":"dc:creator","label":"Author","values":["Butler, Liia"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2025-04-18","2025-05"]},{"key":"dc:type","label":"Dc Type","values":["text","Thesis"]},{"key":"thesis:degree_discipline","label":"Discipline","values":["Computer Science"]},{"key":"thesis:degree_level","label":"Degree Level","values":["Dissertation"]},{"key":"thesis:degree_name","label":"Degree Name","values":["Ph.D."]},{"key":"thesis:institution_name","label":"Thesis Institution Name","values":["University of Illinois Urbana-Champaign"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["debugging","computing education","programming education"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language","label":"Dc Language","values":["en","eng"]},{"key":"dc:rights","label":"Dc Rights","values":["Copyright 2025 Liia Butler"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["https://hdl.handle.net/2142/129210"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["Submission original under an indefinite embargo labeled 'Open Access'. The submission was exported from vireo on 2025-10-19 without embargo terms","The student, Liia Butler, accepted the attached license on 2025-04-16 at 13:28.","The student, Liia Butler, submitted this Dissertation for approval on 2025-04-18 at 09:29.","This Dissertation was approved for publication on 2025-04-18 at 10:37.","DSpace SAF Submission Ingestion Package generated from Vireo submission #21798 on 2025-10-19 at 18:09:28","Testing and debugging are essential skills for ensuring code correctness in programming, yet are not often emphasized in computer science instruction. Further, while autograders can provide feedback to students quickly, students can become reliant on the autograder as the primary means for determining correctness of their code, rather than developing their own testing and debugging skills. In this dissertation, I first present a policy to help promote only correct coding submissions to the autograder. We were able to see a modest increase in lab success measures with respect to our goals. I next present a debugging exercise inspired by the pedagogical technique, Interactive Lecture Demonstrations (ILDs). During ILDs, students predict a demonstration's result, experience the demonstration, and then reflect on their experience. I adapted this process for debugging (ILDBug) by having students look at example program outputs and predict the bug, then they experience debugging by tracing the code and trying to fix the bug, and finally students reflect on their debugging process. We engaged students in a series of three ILDBug exercises during a lab section of an introductory programming course for non-CS, engineering majors. To evaluate whether my exercises were improving students’ debugging skills, I introduced a cross-over study design with three populations: each group of students completed the same three exercises but in a different order. I then compared how students performed on each exercise when it was their first exercise or their last exercise. We graded students' predictions for accuracy using a binary score and measured how long students took to fix the bugs using click-stream logs. Students generally fixed bugs faster after completing two ILDBug exercises. Students improved at predicting bugs that were moderately difficult to identify. With the promise of ILDBug after our initial study, our final study evaluates the effectiveness of ILDBug. I created two different versions of a debugging lab using the ILDBug exercise design. One focused more on hard-coding bugs, the other focused on iteration bugs. I then present two debugging questions in a future quiz, one hard-coding bug and one loop bug. I tested to see if students from one lab performed better on their respective quiz bug than students who had the other lab for both questions. There were no significant differences in performance between students who had one lab version versus another. I discuss my findings and how they align with prior literature. I also discuss future research directions of the role ILDBug can play in explicit debugging instruction."]},{"key":"dc:format","label":"Dc Format","values":["application/pdf"]},{"key":"dc:title","label":"Title","values":["Towards more effective testing and debugging education in computer science courses"]}]}],"canonical_facts":{"dc:contributor":["Herman, Geoffrey L","Lewis, Colleen M","Zilles, Craig","Heckman, Sarah"],"dc:creator":["Butler, Liia"],"dc:date":["2025-04-18","2025-05"],"dc:description":["Submission original under an indefinite embargo labeled 'Open Access'. The submission was exported from vireo on 2025-10-19 without embargo terms","The student, Liia Butler, accepted the attached license on 2025-04-16 at 13:28.","The student, Liia Butler, submitted this Dissertation for approval on 2025-04-18 at 09:29.","This Dissertation was approved for publication on 2025-04-18 at 10:37.","DSpace SAF Submission Ingestion Package generated from Vireo submission #21798 on 2025-10-19 at 18:09:28","Testing and debugging are essential skills for ensuring code correctness in programming, yet are not often emphasized in computer science instruction. Further, while autograders can provide feedback to students quickly, students can become reliant on the autograder as the primary means for determining correctness of their code, rather than developing their own testing and debugging skills. In this dissertation, I first present a policy to help promote only correct coding submissions to the autograder. We were able to see a modest increase in lab success measures with respect to our goals. I next present a debugging exercise inspired by the pedagogical technique, Interactive Lecture Demonstrations (ILDs). During ILDs, students predict a demonstration's result, experience the demonstration, and then reflect on their experience. I adapted this process for debugging (ILDBug) by having students look at example program outputs and predict the bug, then they experience debugging by tracing the code and trying to fix the bug, and finally students reflect on their debugging process. We engaged students in a series of three ILDBug exercises during a lab section of an introductory programming course for non-CS, engineering majors. To evaluate whether my exercises were improving students’ debugging skills, I introduced a cross-over study design with three populations: each group of students completed the same three exercises but in a different order. I then compared how students performed on each exercise when it was their first exercise or their last exercise. We graded students' predictions for accuracy using a binary score and measured how long students took to fix the bugs using click-stream logs. Students generally fixed bugs faster after completing two ILDBug exercises. Students improved at predicting bugs that were moderately difficult to identify. With the promise of ILDBug after our initial study, our final study evaluates the effectiveness of ILDBug. I created two different versions of a debugging lab using the ILDBug exercise design. One focused more on hard-coding bugs, the other focused on iteration bugs. I then present two debugging questions in a future quiz, one hard-coding bug and one loop bug. I tested to see if students from one lab performed better on their respective quiz bug than students who had the other lab for both questions. There were no significant differences in performance between students who had one lab version versus another. I discuss my findings and how they align with prior literature. I also discuss future research directions of the role ILDBug can play in explicit debugging instruction."],"dc:format":["application/pdf"],"dc:identifier":["https://hdl.handle.net/2142/129210"],"dc:language":["en","eng"],"dc:rights":["Copyright 2025 Liia Butler"],"dc:subject":["debugging","computing education","programming education"],"dc:title":["Towards more effective testing and debugging education in computer science courses"],"dc:type":["text","Thesis"],"thesis:degree_discipline":["Computer Science"],"thesis:degree_level":["Dissertation"],"thesis:degree_name":["Ph.D."],"thesis:institution_name":["University of Illinois Urbana-Champaign"]},"updated_at":"2026-07-22T22:25:04Z"}