Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3408877.3432374acmconferencesArticle/Chapter ViewAbstractPublication PagessigcseConference Proceedingsconference-collections
research-article

Novice Reflections on Debugging

Published: 05 March 2021 Publication History

Abstract

Despite decades of literature calling for research on teaching debugging, we still lack clear guidelines on how to teach debugging processes effectively. This is a significant problem as debugging is an activity that is a key component of software development and a frustrating and time-consuming barrier to students who are learning to program. In this paper we reflect on teaching and learning debugging through the lens of student beliefs about their own debugging practice. We find that few students use systematic approaches such as the scientific method of hypothesis generation and testing that is informally adopted by many software developers. Some students appeared to be satisfied with their ad hoc approaches while others expressed a desire to develop more thorough approaches.

References

[1]
Marzieh Ahmadzadeh, Dave Elliman, and Colin Higgins. 2005. An analysis of patterns of debugging among novice computer science students. SIGCSE Bull. 37(2005), 84--88.
[2]
Basma S. Alqadi and Jonathan I. Maletic. 2017. An Empirical Study of Debugging Patterns Among Novices Programmers. In Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education(Seattle, Washington, USA)(SIGCSE '17). Association for Computing Machinery, New York, NY, USA, 15--20.
[3]
Pasquale Ardimento, Mario Luca Bernardi, Marta Cimitile, and Giuseppe DeRuvo. 2019. Reusing Bugged Source Code to Support Novice Programmers in Debugging Tasks. ACM Trans. Comput. Educ. 20, 1, Article 2 (Nov. 2019), 24 pages. https://doi.org/10.1145/3355616
[4]
Stephen D. Brookfield. 2002.Using the lenses of critically reflectiveteaching in the community college classroom.New Directions for Community Colleges 2002, 118 (2002), 31--38. https://doi.org/10.1002/cc.61 arXiv: https://onlinelibrary.wiley.com/doi/pdf/10.1002/cc.61
[5]
Stephen D. Brookfield. 2017.Becoming a Critically Reflective Teacher. Jossey-Bass.
[6]
Mei-Wen Chen, Cheng-Chih Wu, and Yu-Tzu Lin. 2013. Novices' DebuggingBehaviors in VB Programming. InProceedings of the 2013 Learning and Teachingin Computing and Engineering (LATICE '13). IEEE Computer Society, USA, 25--30. https://doi.org/10.1109/LaTiCE.2013.38
[7]
Ryan Chmiel and Michael C. Loui. 2004. Debugging: From Novice to Expert.InProceedings of the 35th SIGCSE Technical Symposium on Computer Science Education(Norfolk, Virginia, USA)(SIGCSE '04). Association for Computing Machinery, New York, NY, USA, 17--21. https://doi.org/10.1145/971300.971310
[8]
Michael De Raadt. 2008.Teaching programming strategies explicitly to novice programmers. Ph. D. Dissertation. University of Southern Queensland.
[9]
David DeLiema, Maggie Dahn, Virginia J. Flood, Ana Asuncion, Dor Abrahamson, Noel Enyedy, and Francis Steen. 2020. Debugging as a context for collaborativereflection 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, New York, 209--228.
[10]
Paul Denny, Andrew Luxton-Reilly, and Ewan Tempero. 2012. All Syntax Errors Are Not Equal. InProceedings of the 17th ACM Annual Conference on Innovation and Technology in Computer Science Education(Haifa, Israel) (ITiCSE'12). Association for Computing Machinery, New York, NY, USA, 75--80. https://doi.org/10.1145/2325296.2325318
[11]
Mireille Ducasse and A-M Emde. 1988. A review of automated debugging systems: knowledge, strategies and techniques. InProceedings of the 10th international conference on Software engineering. IEEE Computer Society Press, Washington, DC, USA, 162--171.
[12]
Sue Fitzgerald, Gary Lewandowski, Renée McCauley, Laurie Murphy, Beth Simon,Lynda Thomas, and Carol Zander. 2008. Debugging: finding, fixing and flailing, a multi-institutional study of novice debuggers. Computer Science Education 18, 2 (2008), 93--116.
[13]
David J Gilmore. 1991. Models of Debugging. Acta Psychologica 78 (1991), 151--172.
[14]
Barney G. Glaser and Anselm L. Strauss. 1967.The Discovery of Grounded Theory: Strategies for Qualitative Research. Aldine de Gruyter, New York, NY.
[15]
John D Gould. 1975. Some psychological evidence on how people debug computer programs. International Journal of Man-Machine Studies 7, 2 (1975), 151--182.
[16]
Leo Gugerty and Gary Olson. 1986. Debugging by skilled and novice programmers. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems(Boston, Massachusetts, USA) (CHI '86). ACM, New York, NY, USA,171--174.
[17]
R. L. Heilman and G. P. Ashby. 1971. Re-Evaluation of Debugging in the Computer Science Curriculum. SIGCSE Bull. 3, 4 (Dec. 1971), 15--18.
[18]
David H Jonassen and Woei Hung. 2006. Learning to troubleshoot: a new theory-based design architecture. Educational Psychology Review 18, 1 (2006), 77--114.
[19]
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(Minneapolis, MN, USA)(SIGCSE '19). Association for Computing Machinery, New York, NY, USA, 169--170.
[20]
Irvin R Katz and John R Anderson. 1987. Debugging: An analysis of bug-location strategies. Human-Computer Interaction 3, 4 (1987), 351--399.
[21]
David Klahr and Sharon McCoy Carver. 1988. Cognitive objectives in a LOGO debugging curriculum: Instruction, learning, and transfer.Cognitive psychology 20, 3 (1988), 362--404.
[22]
Amy Ko. 2020. The CS-Ed Podcast. https://sites.duke.edu/csedpodcast/2020/01/07/episode-3-amy/ Accessed: 17 March 2020.
[23]
Amy 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(Minneapolis, MN, USA)(SIGCSE '19). Association for Computing Machinery, New York, NY, USA, 469--475.
[24]
Essi Lahtinen, Kirsti Ala-Mutka, and Hannu-Matti Järvinen. 2005. A Study of the Difficulties of Novice Programmers. In Proceedings of the 10th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education(Caparica, Portugal) (ITiCSE '05). Association for Computing Machinery, New York, NY, USA, 14--18. https://doi.org/10.1145/1067445.1067453
[25]
Chen Li, Emily Chan, Paul Denny, Andrew Luxton-Reilly, and Ewan Tempero. 2019. Towards a Framework for Teaching Debugging. In Proceedings of the Twenty-First Australasian Computing Education Conference(Sydney, NSW, Australia)(ACE '19). Association for Computing Machinery, New York, NY, USA, 79--86. https://doi.org/10.1145/3286960.3286970
[26]
Raymond Lister, Beth Simon, Errol Thompson, Jacqueline L. Whalley, and Chris-tine Prasad. 2006. Not Seeing the Forest for the Trees: Novice Programmersand the SOLO Taxonomy. In Proceedings of the 11th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education(Bologna, Italy)(ITICSE '06). Association for Computing Machinery, New York, NY, USA, 118--122. https://doi.org/10.1145/1140124.1140157
[27]
Andrew Luxton-Reilly, Simon, Ibrahim Albluwi, Brett A. Becker, Michail Giannakos, Amruth N. Kumar, Linda Ott, James Paterson, Michael James Scott, Judy Sheard, and et al. 2018. Introductory Programming: A Systematic Literature Review. In Proceedings Companion of the 23rd Annual ACM Conference on Innovation and Technology in Computer Science Education(Larnaca, Cyprus)(ITiCSE 2018 Companion). Association for Computing Machinery, New York, NY, USA,55--106.
[28]
Robert F. Mathis. 1974. Teaching Debugging. In Proceedings of the Fourth SIGCSE Technical Symposium on Computer Science Education (SIGCSE '74). Association for Computing Machinery, New York, NY, USA, 59--63. https://doi.org/10.1145/800183.810443
[29]
Renée 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--92.
[30]
Tilman Michaeli and Ralf Romeike. 2019. Improving Debugging Skills in the Classroom: The Effects of Teaching a Systematic Debugging Process. In Proceedings of the 14th Workshop in Primary and Secondary Computing Education(Glasgow, Scotland, Uk) (WiPSCE'19). Association for Computing Machinery,New York, NY, USA, Article 15, 7 pages. https://doi.org/10.1145/3361721.3361724
[31]
Laurie Murphy, Sue Fitzgerald, Brian Hanks, and Renée McCauley. 2010. Pair Debugging: A Transactive Discourse Analysis. In Proceedings of the Sixth International Workshop on Computing Education Research(Aarhus, Denmark)(ICER '10). Association for Computing Machinery, New York, NY, USA, 51--58. https://doi.org/10.1145/1839594.1839604
[32]
Laurie Murphy, Gary Lewandowski, Renée McCauley, Beth Simon, LyndaThomas, and Carol Zander. 2008. Debugging: The Good, the Bad, and the Quirky? a Qualitative Analysis of Novices' Strategies. In Proceedings of the 39th SIGCSE Technical Symposium on Computer Science Education(Portland, OR, USA) (SIGCSE'08). ACM, New York, NY, USA, 163--167.
[33]
Paul W Oman, R Cook, Murthi Nanja, et al. 1989. Effects of programmingexperience in debugging semantic errors. Journal of Systems and Software 9, 3(1989), 197--207.
[34]
Devon H. O'Dell. 2017. The Debugging Mindset. Queue 15, 1 (Feb. 2017), 71--90. https://doi.org/10.1145/3055301.3068754
[35]
Michael Perscheid, Benjamin Siegmund, Marcel Taeumel, and Robert Hirschfeld. 2017. Studying the advancement in debugging practice of professional software developers. Software Qual. J.25 (2017), 83--110.
[36]
Yizhou Qian and James Lehman. 2017. Students' Misconceptions and Other Difficulties in Introductory Programming: A Literature Review. ACM Trans. Comput. Educ. 18, 1, Article 1 (Oct. 2017), 24 pages.
[37]
Beth Simon, Dennis Bouvier, Tzu-Yi Chen, Gary Lewandowski, Robert McCartney, and Kate Sanders. 2008. Common sense computing (episode 4): debugging. Computer Science Education 18, 2 (2008), 117--133.
[38]
E. Soloway. 1986. Learning to Program = Learning to Construct Mechanisms and Explanations. Commun. ACM29, 9 (Sept. 1986), 850--858. https://doi.org/10.1145/6592.6594
[39]
Abdallah Tubaishat. 2001. A knowledge base for program debugging. In ACS/IEEE International Conference on Computer Systems and Applications. IEEE Computer Society, Los Alamitos, CA, USA, 321--327.
[40]
Iris Vessey. 1985. Expertise in debugging computer programs: a process analysis. International Journal of Man-Machine Studies 23, 5 (1985), 459--494.
[41]
Leon E. Winslow. 1996. Programming Pedagogy?a Psychological Overview. SIGCSE Bull. 28, 3 (Sept. 1996), 17--22. https://doi.org/10.1145/234867.234872
[42]
Ching-Zon Yen, Ping-Huang Wu, and Ching-Fang Lin. 2012. Analysis of Experts' and Novices' 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, Heidelberg, 122--134.
[43]
Andreas Zeller. 2009. Why programs fail: a guide to systematic debugging. Elsevier, San Francisco, CA, USA.

Cited By

View all
  • (2024)Unveiling Chat GPT’s Educational Prospects: A SWOT Analysis2024 11th International Conference on Computing for Sustainable Global Development (INDIACom)10.23919/INDIACom61295.2024.10499038(1419-1423)Online publication date: 28-Feb-2024
  • (2024)Exploring Debugging Challenges and Strategies Using Structural Topic Model: A Comparative Analysis of High and Low-Performing StudentsJournal of Educational Computing Research10.1177/0735633124129117462:8(2104-2126)Online publication date: 13-Oct-2024
  • (2024)Debugging in Computational Thinking: A Meta-analysis on the Effects of Interventions on Debugging SkillsJournal of Educational Computing Research10.1177/0735633124122779362:4(1087-1121)Online publication date: 20-Jan-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SIGCSE '21: Proceedings of the 52nd ACM Technical Symposium on Computer Science Education
March 2021
1454 pages
ISBN:9781450380621
DOI:10.1145/3408877
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 05 March 2021

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. debugging
  2. debugging process
  3. introductory
  4. reflection

Qualifiers

  • Research-article

Conference

SIGCSE '21
Sponsor:

Acceptance Rates

Overall Acceptance Rate 1,595 of 4,542 submissions, 35%

Upcoming Conference

SIGCSE TS 2025
The 56th ACM Technical Symposium on Computer Science Education
February 26 - March 1, 2025
Pittsburgh , PA , USA

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)175
  • Downloads (Last 6 weeks)7
Reflects downloads up to 10 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Unveiling Chat GPT’s Educational Prospects: A SWOT Analysis2024 11th International Conference on Computing for Sustainable Global Development (INDIACom)10.23919/INDIACom61295.2024.10499038(1419-1423)Online publication date: 28-Feb-2024
  • (2024)Exploring Debugging Challenges and Strategies Using Structural Topic Model: A Comparative Analysis of High and Low-Performing StudentsJournal of Educational Computing Research10.1177/0735633124129117462:8(2104-2126)Online publication date: 13-Oct-2024
  • (2024)Debugging in Computational Thinking: A Meta-analysis on the Effects of Interventions on Debugging SkillsJournal of Educational Computing Research10.1177/0735633124122779362:4(1087-1121)Online publication date: 20-Jan-2024
  • (2024)Decoding Debugging Instruction: A Systematic Literature Review of Debugging InterventionsACM Transactions on Computing Education10.1145/369065224:4(1-44)Online publication date: 15-Nov-2024
  • (2024)Exploring the Relationship between Debugging Self-Efficacy and CASE Tools for Novice TroubleshootingProceedings of the 2024 Conference on United Kingdom & Ireland Computing Education Research10.1145/3689535.3689556(1-7)Online publication date: 5-Sep-2024
  • (2024)Decoding Logic Errors: A Comparative Study on Bug Detection by Students and Large Language ModelsProceedings of the 26th Australasian Computing Education Conference10.1145/3636243.3636245(11-18)Online publication date: 29-Jan-2024
  • (2024)Evaluating How Novices Utilize Debuggers and Code Execution to Understand CodeProceedings of the 2024 ACM Conference on International Computing Education Research - Volume 110.1145/3632620.3671126(65-83)Online publication date: 12-Aug-2024
  • (2024)Debugging with an AI Tutor: Investigating Novice Help-seeking Behaviors and Perceived LearningProceedings of the 2024 ACM Conference on International Computing Education Research - Volume 110.1145/3632620.3671092(84-94)Online publication date: 12-Aug-2024
  • (2024)Learning Agent-based Modeling with LLM Companions: Experiences of Novices and Experts Using ChatGPT & NetLogo ChatProceedings of the 2024 CHI Conference on Human Factors in Computing Systems10.1145/3613904.3642377(1-18)Online publication date: 11-May-2024
  • (2024)Distributed debugging with electronic textiles: understanding high school student pairs’ problem-solving strategies, practices, and perspectives on repairing physical computing projectsComputer Science Education10.1080/08993408.2023.229773834:4(718-752)Online publication date: 21-Jan-2024
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media