[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
article

Debugging: from novice to expert

Published: 01 March 2004 Publication History

Abstract

We conducted a study to demonstrate that formal training in debugging helps students develop skills in diagnosing and removing defects from computer programs. To accomplish this goal in an assembly language course, we designed multiple activities to enhance students' debugging skills. These activities included debugging exercises, debugging logs, development logs and reflective memos, and collaborative assignments. In a previous paper, we reported positive qualitative results. Students agreed that formal debugging training enhanced their debugging skills. In this paper, we present positive quantitative results that support our previous qualitative results. Students who completed the optional debugging exercises spent significantly less time on debugging their programs than those who did not. Furthermore, we develop a model of debugging abilities and habits based on students' comments in their debugging logs, development logs, reflective memos, and evaluation surveys. Students and educators could use the model to diagnose students' current debugging skills and take actions to enhance their skills.

References

[1]
Card, D.N. Learning from Our Mistakes with Defect Causal Analysis. IEEE Software, Jan/Feb 1998, pp. 56--63.
[2]
Chang, C., Denning, P.J., et al. Final Report of the Joint ACM/IEEE-CS Task Force on Computing Curricula 2001 for Computer Science. http://www.computer.org/education/cc2001/final/index.htm.
[3]
Chmiel, R. and Loui, M.C. An Integrated Approach to Instruction in Debugging Computer Programs. Proceedings of ASEE/IEEE Frontiers in Education 2003.
[4]
Dreyfus, H., and Dreyfus, S. Mind Over Machine: The Power of Human Intuition and Expertise in the Era of the Computer. New York: Free Press, 1985.
[5]
Gilb, T. and Graham, D. Software Inspection. Addison-Wesley, 1993, pp. 264--279.
[6]
Humphrey, W.S. Introduction to the Personal Software Process. Addison-Wesley, 1997.
[7]
Knuth, D.E. The Errors of TeX. Software -- Practice and Experience, 19, 7, 1989, pp. 607--681.
[8]
Loui, M.C. The Case for Assembly Language Programming. IEEE Transactions on Education, 31, 3, pp. 160--164.
[9]
Nanja, M. and Cook, C.R. An Analysis of the On-Line Debugging Process. Empirical Studies of Programmers: Second Workshop. Ablex Publishing Corp, 1987.
[10]
Spohrer, J.G. and Soloway, E. Analyzing the High Frequency Bugs in Novice Programs. Empirical Studies of Programmers: First Workshop, Ablex Publishing Corp, 1986.
[11]
Whittaker, J.A. What is Software Testing? And Why is it So Hard? IEEE Software, Jan/Feb 2000, pp. 70--79.
[12]
Woods, D.R. Summary of Problem Solving Skills. PS News, 20, 5, 1982.
[13]
Xie, M. and Yang, B. A Study of the Effect of Imperfect Debugging on Software Development Cost. IEEE Transactions on Software Engineering, 29, 5, 2003.

Cited By

View all
  • (2024)Advancing Equity and Access: Addressing the Side Effects of Broadening Participation in Computer Science K–12 EducationReview of Research in Education10.3102/0091732X24128647548:1(121-153)Online publication date: 28-Oct-2024
  • (2024)Testing and Debugging Habits of Intermediate Student Programmers2024 IEEE Global Engineering Education Conference (EDUCON)10.1109/EDUCON60312.2024.10578650(1-10)Online publication date: 8-May-2024
  • (2023)A Think-Aloud Study of Novice DebuggingACM Transactions on Computing Education10.1145/358900423:2(1-38)Online publication date: 8-Jun-2023
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM SIGCSE Bulletin
ACM SIGCSE Bulletin  Volume 36, Issue 1
March 2004
501 pages
ISSN:0097-8418
DOI:10.1145/1028174
Issue’s Table of Contents
  • cover image ACM Conferences
    SIGCSE '04: Proceedings of the 35th SIGCSE technical symposium on Computer science education
    March 2004
    544 pages
    ISBN:1581137982
    DOI:10.1145/971300
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 ACM 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]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 March 2004
Published in SIGCSE Volume 36, Issue 1

Check for updates

Author Tags

  1. CS1
  2. code review
  3. computer programming
  4. curriculum development
  5. debugging

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)191
  • Downloads (Last 6 weeks)11
Reflects downloads up to 03 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Advancing Equity and Access: Addressing the Side Effects of Broadening Participation in Computer Science K–12 EducationReview of Research in Education10.3102/0091732X24128647548:1(121-153)Online publication date: 28-Oct-2024
  • (2024)Testing and Debugging Habits of Intermediate Student Programmers2024 IEEE Global Engineering Education Conference (EDUCON)10.1109/EDUCON60312.2024.10578650(1-10)Online publication date: 8-May-2024
  • (2023)A Think-Aloud Study of Novice DebuggingACM Transactions on Computing Education10.1145/358900423:2(1-38)Online publication date: 8-Jun-2023
  • (2023)Mind the Error Message: An Inverted Quiz Format to Direct Learner's Attention to Error MessagesProceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 110.1145/3587102.3588823(382-388)Online publication date: 29-Jun-2023
  • (2023)Exploring the Barriers and Factors that Influence Debugger Usage for Students2023 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)10.1109/VL-HCC57772.2023.00027(168-172)Online publication date: 3-Oct-2023
  • (2022)Best Management Practices for Teaching Hydrologic Coding in Physical, Hybrid, and Virtual ClassroomsFrontiers in Water10.3389/frwa.2022.8757324Online publication date: 22-Jun-2022
  • (2022)Effectiveness of Feedback Based on Log File Analysis in Introductory Programming CoursesJournal of Educational Computing Research10.1177/0735633122113265161:3(696-719)Online publication date: 25-Oct-2022
  • (2022)An Analysis of Middle Grade Teachers' Debugging Pedagogical Content KnowledgeProceedings of the 27th ACM Conference on on Innovation and Technology in Computer Science Education Vol. 110.1145/3502718.3524770(533-539)Online publication date: 7-Jul-2022
  • (2022)Combining latent profile analysis and programming traces to understand novices’ differences in debuggingEducation and Information Technologies10.1007/s10639-022-11343-728:4(4673-4701)Online publication date: 22-Oct-2022
  • (2022)“I Now Feel that this is Unfair” A Case Study on the Effects of Professional Development for Debugging in the K-12 ClassroomInformatics in Schools. A Step Beyond Digital Education10.1007/978-3-031-15851-3_7(78-89)Online publication date: 26-Sep-2022
  • 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

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media