Nothing Special   »   [go: up one dir, main page]

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

Teaching Explicit Programming Strategies to Adolescents

Published: 22 February 2019 Publication History

Abstract

One way to teach programming problem solving is to teach explicit, step-by-step strategies. While prior work has shown these to be effective in controlled settings, there has been little work investigating their efficacy in classrooms. We conducted a 5-week case study with 17 students aged 15-18, investigating students' sentiments toward two strategies for debugging and code reuse, students' use of scaffolding to execute these strategies, and associations between students' strategy use and their success at independently writing programs in class. We found that while students reported the strategies to be valuable, many had trouble regulating their choice of strategies, defaulting to ineffective trial and error, even when they knew systematic strategies would be more effective. Students that embraced the debugging strategy completed more features in a game development project, but this association was mediated by other factors, such as reliance on help, strategy self-efficacy, and mastery of the programming language used in the class. These results suggest that teaching of strategies may require more explicit instruction on strategy selection and self-regulation.

References

[1]
Roger Azevedo and Jennifer G Cromley. 2004. Does training on self-regulated learning facilitate students' learning with hypermedia? Journal of Educational Psychology, Vol. 96, 3 (2004), 523.
[2]
Roy F. Baumeister and Kathleen D. Vohs. 2003. Self-regulation and the executive function of the self. Handbook of self and identity, Vol. 1 (2003), 197--217.
[3]
Suresh K. Bhavnani, Frederick A. Peck, and Frederick Reif. 2008. Strategy-Based Instruction: Lessons Learned in Teaching the Effective and Efficient Use of Computer Applications. ACM Transactions on Computer-Human Interaction, Vol. 15, 1, Article 2 (May 2008), bibinfonumpages43 pages.
[4]
Alan F. Blackwell. 2002. First steps in programming: A rationale for attention investment models. In IEEE Symposium on Visual Languages and Human-Centric Computing. 2.
[5]
Ryan Chmiel and Michael C. Loui. 2004. Debugging: From Novice to Expert. In ACM SIGCSE Technical Symposium on Computer Science Education. 17--21.
[6]
K Anders Ericsson, Ralf T Krampe, and Clemens Tesch-Römer. 1993. The role of deliberate practice in the acquisition of expert performance. Psychological review, Vol. 100, 3 (1993), 363.
[7]
Katrina Falkner, Rebecca Vivian, and Nickolas JG Falkner. 2014. Identifying computer science self-regulated learning strategies. In Proceedings of the 2014 conference on Innovation & technology in computer science education. ACM, New York, NY, 291--296.
[8]
Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, and Shriram Krishnamurthi. 2018. How to design programs: an introduction to programming and computing .MIT Press, Cambridge, MA.
[9]
David Hammer and Leema K Berland. 2014. Confusing claims for data: A critique of common practices for presenting qualitative research on learning. Journal of the Learning Sciences, Vol. 23, 1 (2014), 37--46.
[10]
Matthias Hauswirth and Andrea Adamoli. 2017. Metacognitive calibration when learning to program. In Proceedings of the 17th Koli Calling Conference on Computing Education Research. 50--59.
[11]
Ada S Kim and Amy J Ko. 2017. A pedagogical analysis of online coding tutorials. In ACM SIGCSE Technical Symposium on Computer Science Education. 321--326.
[12]
Amy J Ko, Robin Abraham, Laura Beckwith, Alan Blackwell, Margaret Burnett, Martin Erwig, Chris Scaffidi, Joseph Lawrance, Henry Lieberman, Brad Myers, et almbox. 2011. The state of the art in end-user software engineering. Comput. Surveys, Vol. 43, 3 (2011), 21.
[13]
Andrew J Ko, Brad A Myers, and Htet Htet Aung. 2004. Six learning barriers in end-user programming systems. In IEEE Symposium on Visual Languages and Human-Centric Computing. 199--206.
[14]
Thomas D LaToza, Maryam Arab, Dastyni Loksa, and Amy J. Ko. 2018. Explicit Programming Strategies. In review (2018).
[15]
Raymond Lister, Elizabeth S. Adams, Sue Fitzgerald, William Fone, John Hamer, Morten Lindholm, Robert McCartney, Jan Erik Moström, Kate Sanders, Otto Sepp"al"a, Beth Simon, and Lynda Thomas. 2004. A Multi-national Study of Reading and Tracing Skills in Novice Programmers. SIGCSE Bulletin, Vol. 36, 4 (June 2004), 119--150.
[16]
Dastyni Loksa and Amy J Ko. 2016. The role of self-regulation in programming problem solving process and success. In ACM International Computing Education Research Conference. 83--91.
[17]
Dastyni Loksa, Amy J Ko, Will Jernigan, Alannah Oleson, Christopher J Mendez, and Margaret M Burnett. 2016. Programming, problem solving, and self-awareness: effects of explicit guidance. In ACM SIGCHI Conference on Human Factors in Computing Systems . 1449--1461.
[18]
Greg L Nelson, Benjamin Xie, and Amy J Ko. 2017. Comprehension First: Evaluating a Novel Pedagogy and Tutoring System for Program Tracing in CS1. In ACM International Computing Education Research Conference. 2--11.
[19]
Devon H. O'Dell. 2017. The Debugging Mindset. ACM Queue, Vol. 15, 1, Article 50 (Feb. 2017), bibinfonumpages20 pages.
[20]
James Prather, Raymond Pettit, Kayla McMurry, Alani Peters, John Homer, and Maxine Cohen. 2018. Metacognitive Difficulties Faced by Novice Programmers in Automated Assessment Tools. In Proceedings of the 2018 ACM Conference on International Computing Education Research. 41--50.
[21]
Yizhou Qian and James Lehman. 2017. Students' Misconceptions and Other Difficulties in Introductory Programming: A Literature Review. ACM Transactions on Computing Education, Vol. 18, 1, Article 1 (Oct. 2017), bibinfonumpages24 pages.
[22]
Emmanuel Schanzer, Kathi Fisler, and Shriram Krishnamurthi. 2018. Assessing Bootstrap: Algebra Students on Scaffolded and Unscaffolded Word Problems. In ACM Technical Symposium on Computer Science Education. 8--13.
[23]
Benjamin Xie, Greg L. Nelson, and Amy J. Ko. 2018. An Explicit Strategy to Scaffold Novice Program Tracing. In ACM Technical Symposium on Computer Science Education. 344--349.

Cited By

View all
  • (2024)Decoding Debugging Instruction: A Systematic Literature Review of Debugging InterventionsACM Transactions on Computing Education10.1145/369065224:4(1-44)Online publication date: 5-Sep-2024
  • (2024)Characterizing Teacher Support of Debugging with Physical Computing: Debugging Pedagogies in PracticeACM Transactions on Computing Education10.1145/367761224:4(1-28)Online publication date: 9-Sep-2024
  • (2024)Debugging Pathways: Open-Ended Discrepancy Noticing, Causal Reasoning, and InterveningACM Transactions on Computing Education10.1145/365011524:2(1-34)Online publication date: 10-May-2024
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

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

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. programming
  2. self-regulation
  3. strategy

Qualifiers

  • Research-article

Funding Sources

Conference

SIGCSE '19
Sponsor:

Acceptance Rates

SIGCSE '19 Paper Acceptance Rate 169 of 526 submissions, 32%;
Overall Acceptance Rate 1,595 of 4,542 submissions, 35%

Upcoming Conference

SIGCSE TS 2025
The 56th ACM Technical Symposium on Computer Science Education
February 26 - March 1, 2025
Pittsburgh , PA , USA

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)224
  • Downloads (Last 6 weeks)22
Reflects downloads up to 16 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Decoding Debugging Instruction: A Systematic Literature Review of Debugging InterventionsACM Transactions on Computing Education10.1145/369065224:4(1-44)Online publication date: 5-Sep-2024
  • (2024)Characterizing Teacher Support of Debugging with Physical Computing: Debugging Pedagogies in PracticeACM Transactions on Computing Education10.1145/367761224:4(1-28)Online publication date: 9-Sep-2024
  • (2024)Debugging Pathways: Open-Ended Discrepancy Noticing, Causal Reasoning, and InterveningACM Transactions on Computing Education10.1145/365011524:2(1-34)Online publication date: 10-May-2024
  • (2024)Stump-the-Teacher: Using Student-generated Examples during Explicit Debugging InstructionProceedings of the 55th ACM Technical Symposium on Computer Science Education V. 110.1145/3626252.3630934(653-658)Online publication date: 7-Mar-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)Regulatory Strategies for Novice Programming StudentsComputer Supported Education10.1007/978-3-031-53656-4_7(136-159)Online publication date: 15-Feb-2024
  • (2023)A Think-Aloud Study of Novice DebuggingACM Transactions on Computing Education10.1145/358900423:2(1-38)Online publication date: 8-Jun-2023
  • (2023)An Experience Report on Introducing Explicit Strategies into Testing Checklists for Advanced BeginnersProceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 110.1145/3587102.3588781(194-200)Online publication date: 29-Jun-2023
  • (2023)Using submission log data to investigate novice programmers’ employment of debugging strategiesLAK23: 13th International Learning Analytics and Knowledge Conference10.1145/3576050.3576094(637-643)Online publication date: 13-Mar-2023
  • (2023)Design and use of domain-specific programming platforms: interdisciplinary computational thinking with EarSketch and TunePadComputer Science Education10.1080/08993408.2023.224065734:4(645-678)Online publication date: 28-Jul-2023
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media