[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3160489.3160493acmconferencesArticle/Chapter ViewAbstractPublication Pagesaus-ceConference Proceedingsconference-collections
research-article

Common logic errors made by novice programmers

Published: 30 January 2018 Publication History

Abstract

Errors in the logic of a program (sometimes referred to as semantic errors) can be very frustrating for novice programmers to locate and resolve. Developing a better understanding of the kinds of logic error that are most common and problematic for students, and finding strategies for targeting them, may help to inform teaching practice and reduce student frustration.
In this paper we analyse 15,000 code fragments, created by novice programming students, that contain logic errors, and we classify the errors into algorithmic errors, misinterpretations of the problem, and fundamental misconceptions. We find that misconceptions are the most frequent source of logic errors, and lead to the most difficult errors for students to resolve. We list the most common errors of this type as a starting point for designing specific teaching interventions to address them.

References

[1]
Marzieh Ahmadzadeh, Dave Elliman, and Colin Higgins. 2005. An Analysis of Patterns of Debugging Among Novice Computer Science Students. SIGCSE Bull. 37, 3 (June 2005), 84--88.
[2]
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 ACM Technical Symposium on Computer Science Education (SIGCSE '15). ACM, New York, NY, USA, 522--527.
[3]
Brett A. Becker. 2016. An Effective Approach to Enhancing Compiler Error Messages. In Proceedings of the 47th ACM Technical Symposium on Computer Science Education (SIGCSE '16). ACM, New York, NY, USA, 126--131.
[4]
Brett A. Becker. 2016. A New Metric to Quantify Repeated Compiler Errors for Novice Programmers. In Proceedings of the 2016 ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE '16). ACM, New York, NY, USA, 296--301.
[5]
Brett A. Becker, Graham Glanville, Ricardo Iwashima, Claire McDonnell, Kyle Goslin, and Catherine Mooney. 2016. Effective compiler error message enhancement for novice programming students. Computer Science Education 26, 2-3 (2016), 148--175.
[6]
Clara Benac Earle, Lars-Åke Fredlund, and John Hughes. 2016. Automatic Grading of Programming Exercises Using Property-Based Testing. In Proceedings of the 2016 ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE '16). ACM, New York, NY, USA, 47--52.
[7]
Paul Denny, Andrew Luxton-Reilly, and Ewan Tempero. 2012. All Syntax Errors Are Not Equal. In Proceedings of the 17th ACM Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE '12). ACM, NewYork, NY, USA, 75--80.
[8]
Paul Denny, Andrew Luxton-Reilly, Ewan Tempero, and Jacob Hendrickx. 2011. CodeWrite: Supporting Student-driven Practice of Java. In Proceedings of the 42nd ACM Technical Symposium on Computer Science Education (SIGCSE '11). ACM, New York, NY, USA, 471--476.
[9]
Sue C Fitzgerald, Gary Lewandowski, Renée Mccauley, Laurie Murphy, Beth Simon, Lynda Thomas, and Carol Zander. 2008. Debugging: finding, fixing and flailing, a multi-institutional study of novice debuggers. Computer Science Education 18 (June 2008), 93--116.
[10]
Maria Hristova, Ananya Misra, Megan Rutter, and Rebecca Mercuri. 2003. Identifying and Correcting Java Programming Errors for Introductory Computer Science Students. SIGCSE Bull. 35, 1 (Jan. 2003), 153--156.
[11]
Davin McCall and Michael Kölling. 2014. Meaningful categorisation of novice programmer errors. In Frontiers in Education Conference (FIE 2014). IEEE.
[12]
Michael McCracken, Vicki Almstrum, Danny Diaz, Mark Guzdial, Dianne Hagan, Yifat Ben-David Kolikant, Cary Laxer, Lynda Thomas, Ian Utting, and Tadeusz Wilusz. 2001. A Multi-national, Multi-institutional Study of Assessment of Programming Skills of First-year CS Students. SIGCSE Bull. 33, 4 (Dec. 2001), 125--180.
[13]
Raymond S. Pettit, John Homer, and Roger Gee. 2017. Do Enhanced Compiler Error Messages Help Students? Results Inconclusive. In Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education (SIGCSE '17). ACM, New York, NY, USA, 465--470.
[14]
James Prather, Raymond Pettit, Kayla Holcomb McMurry, Alani Peters, John Homer, Nevan Simone, and Maxine Cohen. 2017. On Novices' Interaction with Compiler Error Messages: A Human Factors Approach. In Proceedings of the 2017 ACM Conference on International Computing Education Research (ICER '17). ACM, New York, NY, USA, 74--82.
[15]
Teemu Sirkiä and Juha Sorva. 2012. Exploring Programming Misconceptions: An Analysis of Student Mistakes in Visual Program Simulation Exercises. In Proceedings of the 12th Koli Calling International Conference on Computing Education Research (Koli Calling '12). ACM, New York, NY, USA, 19--28.
[16]
James C. Spohrer and Elliot Soloway. 1986. Novice Mistakes: Are the Folk Wisdoms Correct? Commun. ACM 29, 7 (July 1986), 624--632.

Cited By

View all
  • (2024)Synthetic Students: A Comparative Study of Bug Distribution Between Large Language Models and Computing StudentsProceedings of the 2024 on ACM Virtual Global Computing Education Conference V. 110.1145/3649165.3690100(137-143)Online publication date: 5-Dec-2024
  • (2024)Investigating the Proficiency of Large Language Models in Formative Feedback Generation for Student ProgrammersProceedings of the 1st International Workshop on Large Language Models for Code10.1145/3643795.3648380(88-93)Online publication date: 20-Apr-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
  • Show More Cited By

Index Terms

  1. Common logic errors made by novice programmers

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ACE '18: Proceedings of the 20th Australasian Computing Education Conference
    January 2018
    127 pages
    ISBN:9781450363402
    DOI:10.1145/3160489
    • Conference Chairs:
    • Raina Mason,
    • Simon
    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 the author(s) 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: 30 January 2018

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. CS1
    2. logic errors
    3. novice programmers

    Qualifiers

    • Research-article

    Conference

    ACE 2018
    Sponsor:
    • Southern Cross UNIVERSITY
    • SIGCSE
    ACE 2018: 20th Australasian Computing Education Conference
    January 30 - February 2, 2018
    Queensland, Brisbane, Australia

    Acceptance Rates

    ACE '18 Paper Acceptance Rate 14 of 36 submissions, 39%;
    Overall Acceptance Rate 161 of 359 submissions, 45%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)155
    • Downloads (Last 6 weeks)20
    Reflects downloads up to 21 Jan 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Synthetic Students: A Comparative Study of Bug Distribution Between Large Language Models and Computing StudentsProceedings of the 2024 on ACM Virtual Global Computing Education Conference V. 110.1145/3649165.3690100(137-143)Online publication date: 5-Dec-2024
    • (2024)Investigating the Proficiency of Large Language Models in Formative Feedback Generation for Student ProgrammersProceedings of the 1st International Workshop on Large Language Models for Code10.1145/3643795.3648380(88-93)Online publication date: 20-Apr-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)Decoding Logic Errors: A Comparative Study on Bug Detection by Students and Large Language ModelsProceedings of the 26th Australasian Computing Education Conference10.1145/3636243.3636245(11-18)Online publication date: 29-Jan-2024
    • (2024)Towards Attention-Based Automatic Misconception Identification in Introductory Programming CoursesProceedings of the 55th ACM Technical Symposium on Computer Science Education V. 210.1145/3626253.3635575(1680-1681)Online publication date: 14-Mar-2024
    • (2024)Need a Programming Exercise Generated in Your Native Language? ChatGPT's Got Your Back: Automatic Generation of Non-English Programming Exercises Using OpenAI GPT-3.5Proceedings of the 55th ACM Technical Symposium on Computer Science Education V. 110.1145/3626252.3630897(618-624)Online publication date: 7-Mar-2024
    • (2024)Can Language Models Employ the Socratic Method? Experiments with Code DebuggingProceedings of the 55th ACM Technical Symposium on Computer Science Education V. 110.1145/3626252.3630799(53-59)Online publication date: 7-Mar-2024
    • (2024)Analyzing Sweep Integration in GitHub for AI-Augmented Issue Resolution2024 12th International Conference on Information and Communication Technology (ICoICT)10.1109/ICoICT61617.2024.10698190(462-469)Online publication date: 7-Aug-2024
    • (2024)Classifying Programming Ability: A Machine Learning Approach Using Debugging Metrics2024 International Conference on Electrical, Communication and Computer Engineering (ICECCE)10.1109/ICECCE63537.2024.10823541(1-6)Online publication date: 30-Oct-2024
    • (2024)Enhancing Novice Programmers’ Debugging Skills Through Systematic Education: A Comparative StudyIEEE Access10.1109/ACCESS.2024.350964112(181192-181204)Online publication date: 2024
    • 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