skip to main content
10.1145/3287324.3287394acmconferencesArticle/Chapter ViewAbstractPublication PagessigcseConference Proceedingsconference-collections
research-article
Public Access

The Error Landscape: Characterizing the Mistakes of Novice Programmers

Published:22 February 2019Publication History

ABSTRACT

The software development process often follows a circuitous path, littered with mistakes and backtracks. This is particularly true for novice programmers, who typically navigate through a variety of errors en route to their final solution. This paper presents a quantitative analysis of a large dataset of Python programs written by novice students. The analysis paints a multifaceted picture of the errors that students encounter, providing insight into the distribution, duration, and evolution of these errors. Ultimately, this paper aims to incite further conversation on the mistakes made by novice programmers, and to inform the decisions instructors make as they help students overcome these mistakes.

References

  1. Alireza Ahadi, Vahid Behbood, Arto Vihavainen, Julia Prior, and Raymond Lister. 2016. Students' Syntax Mistakes in Writing Seven Different Types of SQL Queries and its Applications to Predicting Students' Success. In Proceedings of the 47th Technical Symposium on Computer Science Education (SIGCSE '16). Memphis, TN. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Alireza Ahadi, Raymond Lister, Shahil Lal, and Arto Hellas. 2018. Learning Programming, Syntax Errors and Institution-Specific Factors. In Proceedings of the 20th Australasian Computing Education Conference (ACE '18). Brisbane, Queensland, Australia. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Marzieh Ahmadzadeh, Dave Elliman, and Colin Higgins. 2005. An Analysis of Patterns of Debugging Among Novice Computer Science Students. In Proceedings of the 10th International Conference on Innovation and Technology in Computer Science Education (ITiCSE '05). Caparica, Portugal. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Amjad Altadmri and Neil C. C. Brown. 2015. 37 Million Compilations: Investigating Novice Programming Mistakes in Large-Scale Student Data. In Proceedings of the 46th Technical Symposium on Computer Science Education (SIGCSE '15). Kansas City, MO. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Brett A. Becker and Catherine Mooney. 2016. Categorizing Compiler Error Messages with Principal Component Analysis. In Proceedings of the 12th China-Europe International Symposium on Software Engineering Education (CEISEE '16). Shenyang, China.Google ScholarGoogle Scholar
  6. Jeff Bulmer, Angie Pinchbeck, and Bowen Hui. 2018. Visualizing Code Patterns in Novice Programmers. In Proceedings of the 23rd Western Canadian Conference on Computing Education (WCCCE '18). Victoria, BC, Canada. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Yuliya Cherenkova, Daniel Zingaro, and Andrew Petersen. 2014. Identifying Challenging CS1 Concepts in a Large Problem Dataset. In Proceedings of the 45th Technical Symposium on Computer Science Education (SIGCSE '14). Atlanta, GA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Paul Denny, Andrew Luxton-Reilly, and Dave Carpenter. 2014. Enhancing Syntax Error Messages Appears Ineffectual. In Proceedings of the 19th International Conference on Innovation and Technology in Computer Science Education (ITiCSE '14). Uppsala, Sweden. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Paul Denny, Andrew Luxton-Reilly, and Ewan Tempero. 2012. All Syntax Errors Are Not Equal. In Proceedings of the 17th International Conference on Innovation and Technology in Computer Science Education (ITiCSE '12). Haifa, Israel. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Stephen H. Edwards, Nischel Kandru, and Mukund B. M. Rajagopal. 2017. Investigating Static Analysis Errors in Student Java Programs. In Proceedings of the 13th International Computing Education Conference (ICER '17). Tacoma, WA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Andrew Ettles, Andrew Luxton-Reilly, and Paul Denny. 2018. Common Logic Errors Made by Novice Programmers. In Proceedings of the 20th Australasian Computing Education Conference (ACE '18). Brisbane, Queensland, Australia. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Juha Helminen, Petri Ihantola, and Ville Karavirta. 2013. Recording and Analyzing In-Browser Programming Sessions. In Proceedings of the 13th Koli Calling International Conference on Computing Education Research (Koli Calling '13). Koli, Finalnd. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. James Jackson, Michael Cobb, and Curtis Carter. 2005. Identifying Top Java Errors for Novice Programmers. In Proceedings of the 35th Frontiers in Education Conference (FIE '05). Indianapolis, IN.Google ScholarGoogle ScholarCross RefCross Ref
  14. Matthew C. Jadud. 2005. A First Look at Novice Compilation Behavior Using BlueJ. Computer Science Education, Vol. 15, 1 (March 2005).Google ScholarGoogle ScholarCross RefCross Ref
  15. Sarah K. Kummerfeld and Judy Kay. 2003. The Neglected Battlefields of Syntax Errors. In Proceedings of the 5th Australasian Computing Education Conference (ACE '03). Adelaide, Australia. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Einari Kurvinen, Niko Hellgren, Erkki Kaila, Mikko-Jussi Laakso, and Tapio Salakoski. 2016. Programming Misconceptions in an Introductory Level Programming Course Exam. In Proceedings of the 21st International Conference on Innovation and Technology in Computer Science Education (ITiCSE '16). Arequipa, Peru. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Davin McCall and Michael Kolling. 2014. Meaningful Categorisation of Novice Programmer Errors. In Proceedings of the 44th Frontiers in Education Conference (FIE '14). Madrid, Spain.Google ScholarGoogle ScholarCross RefCross Ref
  18. Ioana Tuugalei Chan Mow. 2012. Analyses of Student Programming Errors in Java Programming Courses. Journal of Emerging Trends in Computing and Information Sciences, Vol. 3, 5 (May 2012).Google ScholarGoogle Scholar
  19. David Pritchard. 2015. Frequency Distribution of Error Messages. In Proceedings of the 6th Workshop on Evaluation and Usability of Programming Languages and Tools (PLATEAU '15). Pittsburgh, PA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Esther Shein. 2015. Python for Beginners. Commun. ACM, Vol. 58, 3 (Feb. 2015), 19--21. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Emily S. Tabano, Maria Mercedes T. Rodrigo, and Matthew C. Jadud. 2011. Predicting At-Risk Novice Java Programmers Through the Analysis of Online Protocols. In Proceedings of the 7th International Computing Education Conference (ICER '11). Providence, RI. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Terry Tang, Rebecca Smith, Scott Rixner, and Joe Warren. 2016. Data-Driven Test Case Generation for Automated Programming Assessment. In Proceedings of the 21st International Conference on Innovation and Technology in Computer Science Education (ITiCSE '16). Arequipa, Peru. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Arto Vihavainen, Juha Helminen, and Petri Ihantola. 2014. How Novices Tackle Their First Lines of Code in an IDE: Analysis of Programming Session Traces. In Proceedings of the 14th Koli Calling International Conference on Computing Education Research (Koli Calling '14). Koli, Finland. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Joe Warren, Scott Rixner, John Greiner, and Stephen Wong. 2014. Facilitating Human Interaction in an Online Programming Course. In Proceedings of the 45th Technical Symposium on Computer Science Education (SIGCSE '14). Atlanta, GA. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. The Error Landscape: Characterizing the Mistakes of Novice Programmers

      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
        SIGCSE '19: Proceedings of the 50th ACM Technical Symposium on Computer Science Education
        February 2019
        1364 pages
        ISBN:9781450358903
        DOI:10.1145/3287324

        Copyright © 2019 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: 22 February 2019

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        SIGCSE '19 Paper Acceptance Rate169of526submissions,32%Overall Acceptance Rate1,595of4,542submissions,35%

        Upcoming Conference

        SIGCSE Virtual 2024

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader