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 2005Publication 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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Du-Boulay, B. Some Difficulties of Learning To Program. In: (Ed.). Studying the Novice Programmer, 1989. 283--299.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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). Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Jcreator. Java IDE. http://www.jcreator.com/. 2003Google ScholarGoogle Scholar
  14. Jikes. IBM- developerworks - open source software.(http://oss.software.ibm.com/developerworks/opensource/jikes/index.shtml). Last Accessed on October,2003Google ScholarGoogle Scholar
  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. 1983Google ScholarGoogle Scholar
  16. Pea, R. D. Language-independent conceptual bugs in novice programming. Journal of Educational Computing Research, 2, 1, 1986. 25--36.Google ScholarGoogle ScholarCross RefCross Ref
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Spohrer, J., Soloway E., and Pope E. A Goal/Plan analysis of Buggy Pascal Programs. Human Computer Interaction, 1, 1985. 163--207.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Spohrer, J. C., and Soloway E. Novice Mistakes: Are The Folk Wisdom Correct? Communications of the ACM, 29, 7, (july, 1986). 624--632. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Tubaishat, A. A knowledge base for program debugging. International Conference on Computer Systems and Applications, ACS/IEEE. Beirut. (June, 2001). 321--327. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

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

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • 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

      Copyright © 2005 ACM

      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: 27 June 2005

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • Article

      Acceptance Rates

      Overall Acceptance Rate552of1,613submissions,34%

      Upcoming Conference

      ITiCSE 2024

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader