Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1067445.1067472acmconferencesArticle/Chapter ViewAbstractPublication PagesiticseConference Proceedingsconference-collections
Article

An analysis of patterns of debugging among novice computer science students

Published: 27 June 2005 Publication History

Abstract

The process by which students learn to program is a major issue in computer science educational research. Programming is a fundamental part of the computer science curriculum, but one which is often problematic. It seems to be difficult to find an effective method of teaching that is suitable for all students. In this research we tried to gain insights into ways of improving our teaching by a careful examination of students' mistakes. The compiler errors that were generated by their programs together with the pattern that was observed in their debugging activities formed the basis of this research. We discovered that many students with a good understanding of programming do not acquire the skills to debug programs effectively, and this is a major impediment to their producing working code of any complexity. Skill at debugging seems to increase a programmer's confidence and we suggest that more emphasis be placed on debugging skills in the teaching of programming.

References

[1]
Cook, C., Burnett M., and Boom D. A bug's eye view of immediate visual feedback in direct-manipulation programming systems. Papers presented at the seventh workshop on Empirical studies of programmers. Alexandria, Virginia, United States: ACM Press New York, NY, USA, 1997. 20--41.
[2]
Coull, N., Duncan I., Archibald J., and Lund G. Helping Novice Programmers Interpret Compiler Error Messages. 4th Annual LTSN-ICS Conference. National University of Ireland, Galway. (August, 2003). 26--28.
[3]
Cunniff, N., Taylor R. P., and Black J. B. Does programming language affect the type of conceptual bugs in beginners' programs? A comparison of FPL and Pascal. Proceedings of the SIGCHI conference on Human factors in computing systems table of contents, 1986. 175--182.
[4]
Du-Boulay, B. Some Difficulties of Learning To Program. In: (Ed.). Studying the Novice Programmer, 1989. 283--299.
[5]
Ducasse, M., and Emde A. M. A review of automated debugging systems: knowledge, strategies and techniques. Proceedings of the 10th international conference on Software engineering, 1988. 162--171.
[6]
Gould, J. D. Some psychological evidence on how people debug computer programs. International Journal of Man-Machine Studies, 7, 1, (January 1975). 151--182.
[7]
Green, T., and Petre M. Usability Analysis of Visual Programming Environments: A 'Cognitive Dimensions' Framework. Journal of Visual Languages and Computing, 7, 2, (June 1996). 131--174.
[8]
Gugerty, L., and Olson G. Debugging by skilled and novice programmers. ACM SIGCHI Bulletin, Proceedings of the SIGCHI conference on Human factors in computing systems. (April, 1986).
[9]
Gugerty, L., and Olson G. M. Comprehension differences in debugging by skilled and novice programmers. Papers presented at the 1st workshop on empirical studies of programmers. Washington, D.C., US. (June 1986). 13--27.
[10]
Higgins, C., Symeonidis P., and Tsintsifas A. The Marking System for CourseMaster.Proceedings of the 7th annual conference ITiCSE. Aarhus, Denmark: ACM Press New York, NY, USA, 2002. 46--50.
[11]
Hristova, M., Misra A., Rutter M., and Mercuri R. Identifying and correcting Java programming errors for introductory computer science students. Proceedings of the 34th SIGCSE technical symposium on Computer science education. Reno, Navada, USA: ACM Press New York, NY, USA, 2003. 153--156.
[12]
Ishio, T., Kusumoto S., and Inoue K. Program slicing tool for effective software evolution using aspect-oriented technique. Proceedings of the Sixth International Workshop on Principles of Software Evolution, 2003. 3--12.
[13]
Jcreator. Java IDE. http://www.jcreator.com/. 2003
[14]
Jikes. IBM- developerworks - open source software.(http://oss.software.ibm.com/developerworks/opensource/jikes/index.shtml). Last Accessed on October,2003
[15]
Johnson, L., Soloway E., Cutler B., and Draper S. Bug Catalogue: I, Technical Report No. 286. Yale University, Department of Computer Science. New Haven. 1983
[16]
Pea, R. D. Language-independent conceptual bugs in novice programming. Journal of Educational Computing Research, 2, 1, 1986. 25--36.
[17]
Robertson, T. J., Prabhakararao S., Burnett M., Cook C., Ruthruff J. R., Beckwith L., and Phalgune A. Impact of interruption style on end-user debugging. Proceedings of the 2004 conference on Human factors in computing systems. Vienna, Austria: ACM Press New York, NY, USA, 2004. 287--294.
[18]
Romero, P., Lutz R., Cox R., and Du Boulay B. Co-ordination of multiple external representations during Java program debugging. Proceedings of IEEE Symposia on Human Centric Computing Languages and Environments. (september, 2002). 207--214.
[19]
Spohrer, J., Soloway E., and Pope E. A Goal/Plan analysis of Buggy Pascal Programs. Human Computer Interaction, 1, 1985. 163--207.
[20]
Spohrer, J. C., and Soloway E. Analyzing the high frequency bugs in novice programs. Empirical Studies of Programmers: First workshop: Ablex Publishing Corp, 1986.
[21]
Spohrer, J. C., and Soloway E. Novice Mistakes: Are The Folk Wisdom Correct? Communications of the ACM, 29, 7, (july, 1986). 624--632.
[22]
Spohrer, J. C., Soloway E., and Pope E. Where the bugs are. Proceedings of the SIGCHI conference on Human factors in computing systems, (April, 1985). 47--53.
[23]
Truong, N., Roe P., and Bancroft P. Static analysis of students' Java programs. Proceedings of the sixth conference on Australian computing education, 30, (January, 2004). 317--325.
[24]
Tubaishat, A. A knowledge base for program debugging. International Conference on Computer Systems and Applications, ACS/IEEE. Beirut. (June, 2001). 321--327.
[25]
Uchida, S., Monden A., Iida H., Matsumoto K., and Kudo H. A multiple-view analysis model of debugging processes. Proceedingsof the International Symposium on Empirical Software Engineering. (Oct, 2002). 139--147.

Cited By

View all
  • (2024)Exploring Debugging Challenges and Strategies Using Structural Topic Model: A Comparative Analysis of High and Low-Performing StudentsJournal of Educational Computing Research10.1177/07356331241291174Online publication date: 13-Oct-2024
  • (2024)Systematic Debugging of Logical Errors in Source CodeProceedings of the 19th WiPSCE Conference on Primary and Secondary Computing Education Research10.1145/3677619.3678105(1-4)Online publication date: 16-Sep-2024
  • (2024)Faceless Adversary, Feckless Colleague: The Many Sides of ChatGPTProceedings of the 26th Western Canadian Conference on Computing Education10.1145/3660650.3660656(1-6)Online publication date: 2-May-2024
  • Show More Cited By

Index Terms

  1. An analysis of patterns of debugging among novice computer science students

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ITiCSE '05: Proceedings of the 10th annual SIGCSE conference on Innovation and technology in computer science education
    June 2005
    440 pages
    ISBN:1595930248
    DOI:10.1145/1067445
    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: 27 June 2005

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. debugging
    2. programming

    Qualifiers

    • Article

    Conference

    ITiCSE05
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 552 of 1,613 submissions, 34%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)174
    • Downloads (Last 6 weeks)15
    Reflects downloads up to 09 Nov 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Exploring Debugging Challenges and Strategies Using Structural Topic Model: A Comparative Analysis of High and Low-Performing StudentsJournal of Educational Computing Research10.1177/07356331241291174Online publication date: 13-Oct-2024
    • (2024)Systematic Debugging of Logical Errors in Source CodeProceedings of the 19th WiPSCE Conference on Primary and Secondary Computing Education Research10.1145/3677619.3678105(1-4)Online publication date: 16-Sep-2024
    • (2024)Faceless Adversary, Feckless Colleague: The Many Sides of ChatGPTProceedings of the 26th Western Canadian Conference on Computing Education10.1145/3660650.3660656(1-6)Online publication date: 2-May-2024
    • (2024)Finding and Investigating Buggy Codes to Make CS1 Learning EfficientProceedings of the 17th Innovations in Software Engineering Conference10.1145/3641399.3641442(1-3)Online publication date: 22-Feb-2024
    • (2024)Experience Report: Identifying common misconceptions and errors of novice programmers with ChatGPTProceedings of the 46th International Conference on Software Engineering: Software Engineering Education and Training10.1145/3639474.3640059(233-241)Online publication date: 14-Apr-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)Identification of Student Programming Patterns through Clickstream Data2024 IEEE International Conference on Computing, Power and Communication Technologies (IC2PCT)10.1109/IC2PCT60090.2024.10486775(1153-1158)Online publication date: 9-Feb-2024
    • (2024)Using LLM-Based Filtering to Develop Reliable Coding Schemes for Rare Debugging StrategiesAdvances in Quantitative Ethnography10.1007/978-3-031-76335-9_10(136-151)Online publication date: 2-Nov-2024
    • (2024)Code Comprehension Problems in Introductory Programming to Overcome ChatGPTNovel and Intelligent Digital Systems: Proceedings of the 4th International Conference (NiDS 2024)10.1007/978-3-031-73344-4_50(582-593)Online publication date: 16-Oct-2024
    • (2023)Çevrimiçi Arduino Programlama Öğretiminde Bağlılık ve Özyeterlilik AlgısıPerception of Engagement and Self-Efficacy in Online Arduino InstructionAkademik Açı10.59597/akademikaci.12977503:2(53-100)Online publication date: 18-Oct-2023
    • Show More Cited By

    View Options

    Get Access

    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