skip to main content
10.1145/971300.971310acmconferencesArticle/Chapter ViewAbstractPublication PagessigcseConference Proceedingsconference-collections
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)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)NuzzleBug: Debugging Block-Based Programs in ScratchProceedings of the IEEE/ACM 46th International Conference on Software Engineering10.1145/3597503.3623331(1-13)Online publication date: 20-May-2024
  • (2024)Dialogue alongside or within lecturing videos for teaching debuggingJournal of Research on Technology in Education10.1080/15391523.2024.2404133(1-18)Online publication date: 3-Oct-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 March 2004

Permissions

Request permissions for this article.

Check for updates

Author Tags

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

Qualifiers

  • Article

Conference

SIGCSE04
Sponsor:

Acceptance Rates

Overall Acceptance Rate 1,787 of 5,146 submissions, 35%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)198
  • Downloads (Last 6 weeks)20
Reflects downloads up to 25 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (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)NuzzleBug: Debugging Block-Based Programs in ScratchProceedings of the IEEE/ACM 46th International Conference on Software Engineering10.1145/3597503.3623331(1-13)Online publication date: 20-May-2024
  • (2024)Dialogue alongside or within lecturing videos for teaching debuggingJournal of Research on Technology in Education10.1080/15391523.2024.2404133(1-18)Online publication date: 3-Oct-2024
  • (2024)Does Starting Deep Learning Homework Earlier Improve Grades?Artificial Intelligence. ECAI 2023 International Workshops10.1007/978-3-031-50485-3_38(381-396)Online publication date: 25-Jan-2024
  • (2022)Read the Debug Manual: A Debugging Manual for CS1 Students2022 IEEE Frontiers in Education Conference (FIE)10.1109/FIE56618.2022.9962675(1-7)Online publication date: 8-Oct-2022
  • (2021)Analysis of a Process for Introductory DebuggingProceedings of the 23rd Australasian Computing Education Conference10.1145/3441636.3442300(11-20)Online publication date: 2-Feb-2021
  • (2020)An empirical study of how novice programmers search the web for helpJournal of Computing Sciences in Colleges10.5555/3447065.344707136:2(42-52)Online publication date: 1-Oct-2020
  • (2020)A Review of Peer Code Review in Higher EducationACM Transactions on Computing Education10.1145/340393520:3(1-25)Online publication date: 28-Sep-2020
  • (2020)A Software Debugger for E-textiles and Arduino MicrocontrollersProceedings of the FabLearn 2020 - 9th Annual Conference on Maker Education10.1145/3386201.3386222(118-121)Online publication date: 4-Apr-2020
  • (2019)Improving Debugging Skills in the ClassroomProceedings of the 14th Workshop in Primary and Secondary Computing Education10.1145/3361721.3361724(1-7)Online publication date: 23-Oct-2019
  • 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

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy