Debugging: finding, fixing and flailing, a multi-institutional study of novice debuggers

Debugging is often difficult and frustrating for novices. Yet because students typically debug outside the classroom and often in isolation, instructors rarely have the opportunity to closely observe students while they debug. This paper describes the details of an exploratory study of the debugging...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Computer science education 2008-06, Vol.18 (2), p.93-116
Hauptverfasser: Fitzgerald, Sue, Lewandowski, Gary, McCauley, Renée, Murphy, Laurie, Simon, Beth, Thomas, Lynda, Zander, Carol
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 116
container_issue 2
container_start_page 93
container_title Computer science education
container_volume 18
creator Fitzgerald, Sue
Lewandowski, Gary
McCauley, Renée
Murphy, Laurie
Simon, Beth
Thomas, Lynda
Zander, Carol
description Debugging is often difficult and frustrating for novices. Yet because students typically debug outside the classroom and often in isolation, instructors rarely have the opportunity to closely observe students while they debug. This paper describes the details of an exploratory study of the debugging skills and behaviors of contemporary novice Java programmers. Based on a modified replication of Katz and Anderson's study of novices, we sought to broadly survey the modern landscape of novice debugging abilities. As such, this study reports general quantitative results and fills in the picture with qualitative detail from a relatively small, but varied sample. Comprehensive interviews involving both a programming and a debugging task, followed by a semi-structured interview and a questionnaire, were conducted with 21 CS2 students at seven colleges and universities. While many subjects successfully debugged a representative set of typical CS1 bugs, there was a great deal of variation in their success at the programming and debugging tasks. Most of the students who were good debuggers were good novice programmers, although not all of the good programmers were successful at debugging. Students employed a variety of strategies to find 70% of all bugs and of the bugs they found they were able to fix 97% of them. They had the most difficulty with malformed statements, such as arithmetic errors and incorrect loop conditions. Our results confirm many findings from previous studies (some quite old) - most notably that once students find bugs, they can fix them. However, the results also suggest that some changes have occurred in the student population, particularly an increased use of debugging tools and online resources, as well as the use of pattern matching, which has not previously been reported.
doi_str_mv 10.1080/08993400802114508
format Article
fullrecord <record><control><sourceid>eric_cross</sourceid><recordid>TN_cdi_crossref_primary_10_1080_08993400802114508</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><ericid>EJ810215</ericid><sourcerecordid>EJ810215</sourcerecordid><originalsourceid>FETCH-LOGICAL-c433t-e84580eeb824dd0e09e3454c12c36ebac8f5764d0cb1748ea4c335c55e3682823</originalsourceid><addsrcrecordid>eNqFUMtKAzEUDaJgrX6A4CIf4OjNJOmk4kZqfVFwo-BuyORRItOMJBlt_960FTdFXN3DPQ_uPQidErggIOASxHhMGWRYEsI4iD00IBVjBScV30eDNV9kgThERzG-A0BZCRigt1vT9PO58_MrbJ3XGZxnsMwTS6-xbaVrN0uJF32bXOF8TC71yXVetjimXq9wZ7HvPp0yWG_iTIjH6MDKNpqTnzlEr3fTl8lDMXu-f5zczArFKE2FEYwLMKYRJdMaDIwNZZwpUio6Mo1UwvJqxDSoJr8jjGSKUq44N3QkSlHSISLbXBW6GIOx9UdwCxlWNYF6XU29U032nG09Jjj1q58-CZIlPNPVlnbedmEhv7rQ6jrJVdsFG6RXLu6G1mmZsvP6Xyf9-65vEw2FWg</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype></control><display><type>article</type><title>Debugging: finding, fixing and flailing, a multi-institutional study of novice debuggers</title><source>Access via Taylor &amp; Francis</source><creator>Fitzgerald, Sue ; Lewandowski, Gary ; McCauley, Renée ; Murphy, Laurie ; Simon, Beth ; Thomas, Lynda ; Zander, Carol</creator><creatorcontrib>Fitzgerald, Sue ; Lewandowski, Gary ; McCauley, Renée ; Murphy, Laurie ; Simon, Beth ; Thomas, Lynda ; Zander, Carol</creatorcontrib><description>Debugging is often difficult and frustrating for novices. Yet because students typically debug outside the classroom and often in isolation, instructors rarely have the opportunity to closely observe students while they debug. This paper describes the details of an exploratory study of the debugging skills and behaviors of contemporary novice Java programmers. Based on a modified replication of Katz and Anderson's study of novices, we sought to broadly survey the modern landscape of novice debugging abilities. As such, this study reports general quantitative results and fills in the picture with qualitative detail from a relatively small, but varied sample. Comprehensive interviews involving both a programming and a debugging task, followed by a semi-structured interview and a questionnaire, were conducted with 21 CS2 students at seven colleges and universities. While many subjects successfully debugged a representative set of typical CS1 bugs, there was a great deal of variation in their success at the programming and debugging tasks. Most of the students who were good debuggers were good novice programmers, although not all of the good programmers were successful at debugging. Students employed a variety of strategies to find 70% of all bugs and of the bugs they found they were able to fix 97% of them. They had the most difficulty with malformed statements, such as arithmetic errors and incorrect loop conditions. Our results confirm many findings from previous studies (some quite old) - most notably that once students find bugs, they can fix them. However, the results also suggest that some changes have occurred in the student population, particularly an increased use of debugging tools and online resources, as well as the use of pattern matching, which has not previously been reported.</description><identifier>ISSN: 0899-3408</identifier><identifier>EISSN: 1744-5175</identifier><identifier>DOI: 10.1080/08993400802114508</identifier><language>eng</language><publisher>Routledge</publisher><subject>bugs ; College Instruction ; College Students ; Computer Science Education ; Computer Software ; CS1 ; debugging ; debugging strategies ; Educational History ; Error Correction ; Foreign Countries ; Introductory Courses ; Learning Processes ; Misconceptions ; novice programmers ; pedagogy ; Programming ; programming errors ; Programming Languages ; Student Characteristics ; Teaching Methods ; Troubleshooting ; United Kingdom ; United States</subject><ispartof>Computer science education, 2008-06, Vol.18 (2), p.93-116</ispartof><rights>Copyright Taylor &amp; Francis Group, LLC 2008</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c433t-e84580eeb824dd0e09e3454c12c36ebac8f5764d0cb1748ea4c335c55e3682823</citedby><cites>FETCH-LOGICAL-c433t-e84580eeb824dd0e09e3454c12c36ebac8f5764d0cb1748ea4c335c55e3682823</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktopdf>$$Uhttps://www.tandfonline.com/doi/pdf/10.1080/08993400802114508$$EPDF$$P50$$Ginformaworld$$H</linktopdf><linktohtml>$$Uhttps://www.tandfonline.com/doi/full/10.1080/08993400802114508$$EHTML$$P50$$Ginformaworld$$H</linktohtml><link.rule.ids>314,780,784,27924,27925,59647,60436</link.rule.ids><backlink>$$Uhttp://eric.ed.gov/ERICWebPortal/detail?accno=EJ810215$$DView record in ERIC$$Hfree_for_read</backlink></links><search><creatorcontrib>Fitzgerald, Sue</creatorcontrib><creatorcontrib>Lewandowski, Gary</creatorcontrib><creatorcontrib>McCauley, Renée</creatorcontrib><creatorcontrib>Murphy, Laurie</creatorcontrib><creatorcontrib>Simon, Beth</creatorcontrib><creatorcontrib>Thomas, Lynda</creatorcontrib><creatorcontrib>Zander, Carol</creatorcontrib><title>Debugging: finding, fixing and flailing, a multi-institutional study of novice debuggers</title><title>Computer science education</title><description>Debugging is often difficult and frustrating for novices. Yet because students typically debug outside the classroom and often in isolation, instructors rarely have the opportunity to closely observe students while they debug. This paper describes the details of an exploratory study of the debugging skills and behaviors of contemporary novice Java programmers. Based on a modified replication of Katz and Anderson's study of novices, we sought to broadly survey the modern landscape of novice debugging abilities. As such, this study reports general quantitative results and fills in the picture with qualitative detail from a relatively small, but varied sample. Comprehensive interviews involving both a programming and a debugging task, followed by a semi-structured interview and a questionnaire, were conducted with 21 CS2 students at seven colleges and universities. While many subjects successfully debugged a representative set of typical CS1 bugs, there was a great deal of variation in their success at the programming and debugging tasks. Most of the students who were good debuggers were good novice programmers, although not all of the good programmers were successful at debugging. Students employed a variety of strategies to find 70% of all bugs and of the bugs they found they were able to fix 97% of them. They had the most difficulty with malformed statements, such as arithmetic errors and incorrect loop conditions. Our results confirm many findings from previous studies (some quite old) - most notably that once students find bugs, they can fix them. However, the results also suggest that some changes have occurred in the student population, particularly an increased use of debugging tools and online resources, as well as the use of pattern matching, which has not previously been reported.</description><subject>bugs</subject><subject>College Instruction</subject><subject>College Students</subject><subject>Computer Science Education</subject><subject>Computer Software</subject><subject>CS1</subject><subject>debugging</subject><subject>debugging strategies</subject><subject>Educational History</subject><subject>Error Correction</subject><subject>Foreign Countries</subject><subject>Introductory Courses</subject><subject>Learning Processes</subject><subject>Misconceptions</subject><subject>novice programmers</subject><subject>pedagogy</subject><subject>Programming</subject><subject>programming errors</subject><subject>Programming Languages</subject><subject>Student Characteristics</subject><subject>Teaching Methods</subject><subject>Troubleshooting</subject><subject>United Kingdom</subject><subject>United States</subject><issn>0899-3408</issn><issn>1744-5175</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2008</creationdate><recordtype>article</recordtype><recordid>eNqFUMtKAzEUDaJgrX6A4CIf4OjNJOmk4kZqfVFwo-BuyORRItOMJBlt_960FTdFXN3DPQ_uPQidErggIOASxHhMGWRYEsI4iD00IBVjBScV30eDNV9kgThERzG-A0BZCRigt1vT9PO58_MrbJ3XGZxnsMwTS6-xbaVrN0uJF32bXOF8TC71yXVetjimXq9wZ7HvPp0yWG_iTIjH6MDKNpqTnzlEr3fTl8lDMXu-f5zczArFKE2FEYwLMKYRJdMaDIwNZZwpUio6Mo1UwvJqxDSoJr8jjGSKUq44N3QkSlHSISLbXBW6GIOx9UdwCxlWNYF6XU29U032nG09Jjj1q58-CZIlPNPVlnbedmEhv7rQ6jrJVdsFG6RXLu6G1mmZsvP6Xyf9-65vEw2FWg</recordid><startdate>200806</startdate><enddate>200806</enddate><creator>Fitzgerald, Sue</creator><creator>Lewandowski, Gary</creator><creator>McCauley, Renée</creator><creator>Murphy, Laurie</creator><creator>Simon, Beth</creator><creator>Thomas, Lynda</creator><creator>Zander, Carol</creator><general>Routledge</general><scope>7SW</scope><scope>BJH</scope><scope>BNH</scope><scope>BNI</scope><scope>BNJ</scope><scope>BNO</scope><scope>ERI</scope><scope>PET</scope><scope>REK</scope><scope>WWN</scope><scope>AAYXX</scope><scope>CITATION</scope></search><sort><creationdate>200806</creationdate><title>Debugging: finding, fixing and flailing, a multi-institutional study of novice debuggers</title><author>Fitzgerald, Sue ; Lewandowski, Gary ; McCauley, Renée ; Murphy, Laurie ; Simon, Beth ; Thomas, Lynda ; Zander, Carol</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c433t-e84580eeb824dd0e09e3454c12c36ebac8f5764d0cb1748ea4c335c55e3682823</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2008</creationdate><topic>bugs</topic><topic>College Instruction</topic><topic>College Students</topic><topic>Computer Science Education</topic><topic>Computer Software</topic><topic>CS1</topic><topic>debugging</topic><topic>debugging strategies</topic><topic>Educational History</topic><topic>Error Correction</topic><topic>Foreign Countries</topic><topic>Introductory Courses</topic><topic>Learning Processes</topic><topic>Misconceptions</topic><topic>novice programmers</topic><topic>pedagogy</topic><topic>Programming</topic><topic>programming errors</topic><topic>Programming Languages</topic><topic>Student Characteristics</topic><topic>Teaching Methods</topic><topic>Troubleshooting</topic><topic>United Kingdom</topic><topic>United States</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Fitzgerald, Sue</creatorcontrib><creatorcontrib>Lewandowski, Gary</creatorcontrib><creatorcontrib>McCauley, Renée</creatorcontrib><creatorcontrib>Murphy, Laurie</creatorcontrib><creatorcontrib>Simon, Beth</creatorcontrib><creatorcontrib>Thomas, Lynda</creatorcontrib><creatorcontrib>Zander, Carol</creatorcontrib><collection>ERIC</collection><collection>ERIC (Ovid)</collection><collection>ERIC</collection><collection>ERIC</collection><collection>ERIC (Legacy Platform)</collection><collection>ERIC( SilverPlatter )</collection><collection>ERIC</collection><collection>ERIC PlusText (Legacy Platform)</collection><collection>Education Resources Information Center (ERIC)</collection><collection>ERIC</collection><collection>CrossRef</collection><jtitle>Computer science education</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Fitzgerald, Sue</au><au>Lewandowski, Gary</au><au>McCauley, Renée</au><au>Murphy, Laurie</au><au>Simon, Beth</au><au>Thomas, Lynda</au><au>Zander, Carol</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><ericid>EJ810215</ericid><atitle>Debugging: finding, fixing and flailing, a multi-institutional study of novice debuggers</atitle><jtitle>Computer science education</jtitle><date>2008-06</date><risdate>2008</risdate><volume>18</volume><issue>2</issue><spage>93</spage><epage>116</epage><pages>93-116</pages><issn>0899-3408</issn><eissn>1744-5175</eissn><abstract>Debugging is often difficult and frustrating for novices. Yet because students typically debug outside the classroom and often in isolation, instructors rarely have the opportunity to closely observe students while they debug. This paper describes the details of an exploratory study of the debugging skills and behaviors of contemporary novice Java programmers. Based on a modified replication of Katz and Anderson's study of novices, we sought to broadly survey the modern landscape of novice debugging abilities. As such, this study reports general quantitative results and fills in the picture with qualitative detail from a relatively small, but varied sample. Comprehensive interviews involving both a programming and a debugging task, followed by a semi-structured interview and a questionnaire, were conducted with 21 CS2 students at seven colleges and universities. While many subjects successfully debugged a representative set of typical CS1 bugs, there was a great deal of variation in their success at the programming and debugging tasks. Most of the students who were good debuggers were good novice programmers, although not all of the good programmers were successful at debugging. Students employed a variety of strategies to find 70% of all bugs and of the bugs they found they were able to fix 97% of them. They had the most difficulty with malformed statements, such as arithmetic errors and incorrect loop conditions. Our results confirm many findings from previous studies (some quite old) - most notably that once students find bugs, they can fix them. However, the results also suggest that some changes have occurred in the student population, particularly an increased use of debugging tools and online resources, as well as the use of pattern matching, which has not previously been reported.</abstract><pub>Routledge</pub><doi>10.1080/08993400802114508</doi><tpages>24</tpages></addata></record>
fulltext fulltext
identifier ISSN: 0899-3408
ispartof Computer science education, 2008-06, Vol.18 (2), p.93-116
issn 0899-3408
1744-5175
language eng
recordid cdi_crossref_primary_10_1080_08993400802114508
source Access via Taylor & Francis
subjects bugs
College Instruction
College Students
Computer Science Education
Computer Software
CS1
debugging
debugging strategies
Educational History
Error Correction
Foreign Countries
Introductory Courses
Learning Processes
Misconceptions
novice programmers
pedagogy
Programming
programming errors
Programming Languages
Student Characteristics
Teaching Methods
Troubleshooting
United Kingdom
United States
title Debugging: finding, fixing and flailing, a multi-institutional study of novice debuggers
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2024-12-24T17%3A27%3A22IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-eric_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Debugging:%20finding,%20fixing%20and%20flailing,%20a%20multi-institutional%20study%20of%20novice%20debuggers&rft.jtitle=Computer%20science%20education&rft.au=Fitzgerald,%20Sue&rft.date=2008-06&rft.volume=18&rft.issue=2&rft.spage=93&rft.epage=116&rft.pages=93-116&rft.issn=0899-3408&rft.eissn=1744-5175&rft_id=info:doi/10.1080/08993400802114508&rft_dat=%3Ceric_cross%3EEJ810215%3C/eric_cross%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rft_ericid=EJ810215&rfr_iscdi=true