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

skip to main content
10.1145/3576123.3576130acmotherconferencesArticle/Chapter ViewAbstractPublication Pagesaus-ceConference Proceedingsconference-collections
research-article

Metacodenition: Scaffolding the Problem-Solving Process for Novice Programmers

Published: 30 January 2023 Publication History

Abstract

Problem-solving is a central activity to computing, and thus a key skill that novices develop when learning programming. While most programming-related concepts are taught explicitly in introductory courses, it is common for problem-solving to be taught implicitly – usually through having students perform programming drills. This approach can be problematic for some learners and may lead to the development of unproductive problem solving strategies that leave students feeling lost when faced with new problems. A substantial body of work has investigated the explicit teaching of problem-solving and related metacognitive skills. This prior literature has shown that teaching students a model for the problem-solving process and how to track their progress within that model leads to greater self-efficacy and productivity. Interventions targeting isolated steps in these models have been shown to work, but there have been few efforts to combine such interventions into a single coherent system. Our contribution is a novel tool called Metacodenition, which is a programming environment for novices that provides metacognitive scaffolding around an existing problem-solving framework. We find that Metacodenition’s scaffolding improves performance on code-writing tasks and that students view Metacodenition to be a helpful tool they would use voluntarily.

References

[1]
Brett A. Becker, Paul Denny, Raymond Pettit, Durell Bouchard, Dennis J. Bouvier, Brian Harrington, Amir Kamil, Amey Karkare, Chris McDonald, Peter-Michael Osera, Janice L. Pearce, and James Prather. 2019. Compiler Error Messages Considered Unhelpful: The Landscape of Text-Based Programming Error Message Research. In Proceedings of the Working Group Reports on Innovation and Technology in Computer Science Education (Aberdeen, Scotland Uk) (ITiCSE-WGR ’19). ACM, New York, NY, USA, 177–210. https://doi.org/10.1145/3344429.3372508
[2]
Christine Bruce, Lawrence Buckingham, John Hynd, Camille Mcmahon, Michael Roggenkamp, and Ian Stoodley. 2003. Ways of experiencing the act of learning to program: A phenomenographic study of introductory programming students at university. (2003).
[3]
Fulvio Corno, Luigi De Russis, and Juan Pablo Sáenz. 2021. TextCode: A Tool to Support Problem Solving Among Novice Programmers. In 2021 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC). 1–5. https://doi.org/10.1109/VL/HCC51201.2021.9576164
[4]
Michelle Craig, Andrew Petersen, and Jennifer Campbell. 2019. Answering the Correct Question. In Proceedings of the ACM Conference on Global Computing Education (Chengdu,Sichuan, China) (CompEd ’19). ACM, New York, NY, USA, 72–77. https://doi.org/10.1145/3300115.3309529
[5]
Michael de Raadt, Richard Watson, and Mark Toleman. 2009. Teaching and Assessing Programming Strategies Explicitly. In Proc. of 11th Australasian Conf. on Comp. Ed. V. 95 (Wellington, New Zealand) (ACE ’09). ACS, Inc., AUS, 45–54.
[6]
Paul Denny, Andrew Luxton-Reilly, Ewan Tempero, and Jacob Hendrickx. 2011. Understanding the Syntax Barrier for Novices. In Proc. of Innov. and Tech. in CS Ed. (Darmstadt, Germany) (ITiCSE ’11). Association for Computing Machinery, New York, NY, USA, 208–212. https://doi.org/10.1145/1999747.1999807
[7]
Paul Denny, James Prather, and Brett A. Becker. 2020. Error Message Readability and Novice Debugging Performance. In Proc. of the 2020 ACM Conf. on Innov. and Tech. in CS Ed. (Trondheim, Norway) (ITiCSE ’20). Association for Computing Machinery, New York, NY, USA, 480–486. https://doi.org/10.1145/3341525.3387384
[8]
Paul Denny, James Prather, Brett A. Becker, Zachary Albrecht, Dastyni Loksa, and Raymond Pettit. 2019. A Closer Look at Metacognitive Scaffolding: Solving Test Cases Before Programming. In Proc of the 19th Koli Calling International Conf. on Computing Education Research (Koli, Finland) (Koli Calling ’19). ACM, New York, NY, USA, Article 11, 10 pages. https://doi.org/10.1145/3364510.3366170
[9]
Paul Denny, James Prather, Brett A. Becker, Catherine Mooney, John Homer, Zachary C Albrecht, and Garrett B. Powell. 2021. On Designing Programming Error Messages for Novices: Readability and Its Constituent Factors. In Proc. of the 2021 CHI Conf. on Human Factors in Comp. Sys. (Yokohama, Japan) (CHI ’21). ACM, New York, NY, USA, Article 55, 15 pages. https://doi.org/10.1145/3411764.3445696
[10]
Yuemeng Du, Andrew Luxton-Reilly, and Paul Denny. 2020. A Review of Research on Parsons Problems. In Proc. Australasian Comp. Ed. Conf. (Melbourne, VIC, Australia) (ACE’20). ACM, New York, NY, USA, 195–202. https://doi.org/10.1145/3373165.3373187
[11]
Barbara J. Ericson, Paul Denny, James Prather, Rodrigo Duran, Arto Hellas, Juho Leinonen, Craig S. Miller, Briana B. Morrison, Janice L. Pearce, and Susan H. Rodger. 2022. Parsons Problems and Beyond: Systematic Literature Review and Empirical Study Designs. In Proceedings of the Working Group Reports on Innovation and Technology in Computer Science Education (Dublin, Ireland) (ITiCSE-WGR ’22). Association for Computing Machinery, New York, NY, USA, 44 pages. https://doi.org/10.1145/3571785.3574127
[12]
Anneli Eteläpelto. 1993. Metacognition and the Expertise of Computer Program Comprehension. Scandinavian Journal of Educational Research 37, 3 (1993), 243–254. https://doi.org/10.1080/0031383930370305
[13]
Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, and Shriram Krishnamurthi. 2001. How to Design Programs: An Introduction to Programming and Computing. MIT Press.
[14]
Rita Garcia. 2021. Evaluating Parsons Problems as a Design-Based Intervention. In 2021 IEEE Frontiers in Education Conference (FIE). 1–9. https://doi.org/10.1109/FIE49875.2021.9637175
[15]
Anabela Gomes and António José Mendes. 2007. Problem Solving in Programming. (2007).
[16]
Brian Hanks and Matt Brandt. 2009. Successful and Unsuccessful Problem Solving Approaches of Novice Programmers. SIGCSE Bull. 41, 1 (mar 2009), 24–28. https://doi.org/10.1145/1539024.1508876
[17]
Andrew D. Hilton, Genevieve M. Lipp, and Susan H. Rodger. 2019. Translation from Problem to Code in Seven Steps. In Proceedings of the ACM Conference on Global Computing Education (Chengdu,Sichuan, China) (CompEd ’19). ACM, New York, NY, USA, 78–84. https://doi.org/10.1145/3300115.3309508
[18]
David Janzen and Hossein Saiedian. 2008. Test-Driven Learning in Early Programming Courses. SIGCSE Bull. 40, 1 (mar 2008), 532–536. https://doi.org/10.1145/1352322.1352315
[19]
Antti-Jussi Lakanen and Ville Isomöttönen. 2015. What Does It Take to Do Computer Programming? Surveying the K-12 Students’ Conceptions. In Proc. of the 46th ACM Tech. Symp. on CS Ed. (Kansas City, Missouri, USA) (SIGCSE ’15). ACM, New York, NY, USA, 458–463. https://doi.org/10.1145/2676723.2677229
[20]
Raymond Lister, Elizabeth S. Adams, Sue Fitzgerald, William Fone, John Hamer, Morten Lindholm, Robert McCartney, Jan Erik Moström, Kate Sanders, Otto Seppälä, Beth Simon, and Lynda Thomas. 2004. A Multi-National Study of Reading and Tracing Skills in Novice Programmers. In Working Group Reports from ITiCSE on Innovation and Technology in Computer Science Education (Leeds, United Kingdom) (ITiCSE-WGR ’04). ACM, New York, NY, USA, 119–150. https://doi.org/10.1145/1044550.1041673
[21]
Dastyni Loksa and Amy J. Ko. 2016. The Role of Self-Regulation in Programming Problem Solving Process and Success. In Proceedings of the 2016 ACM Conference on International Computing Education Research(Melbourne, VIC, Australia) (ICER ’16). ACM, New York, NY, USA, 83–91. https://doi.org/10.1145/2960310.2960334
[22]
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 Proceedings of the 2016 CHI Conference on Human Factors in Computing Systems (San Jose, California, USA) (CHI ’16). ACM, New York, NY, USA, 1449–1461. https://doi.org/10.1145/2858036.2858252
[23]
Dastyni Loksa, Lauren Margulieux, Brett A. Becker, Michelle Craig, Paul Denny, Raymond Pettit, and James Prather. 2022. Metacognition and Self-Regulation in Programming Education: Theories and Exemplars of Use. ACM Trans. Comput. Educ. 22, 4, Article 39 (sep 2022), 31 pages. https://doi.org/10.1145/3487050
[24]
Andrew Luxton-Reilly, Simon, Ibrahim Albluwi, Brett A. Becker, Michail Giannakos, Amruth N. Kumar, Linda Ott, James Paterson, Michael James Scott, Judy Sheard, and Claudia Szabo. 2018. Introductory Programming: A Systematic Literature Review. In Proc. Companion of the 23rd Annual ACM Conf. on Innov. and Tech. in Computer Science Education (Larnaca, Cyprus) (ITiCSE 2018 Companion). ACM, New York, NY, USA, 55–106. https://doi.org/10.1145/3293881.3295779
[25]
Murali Mani and Quamrul Mazumder. 2013. Incorporating Metacognition into Learning. In Proceeding of the 44th ACM Technical Symposium on Computer Science Education (Denver, Colorado, USA) (SIGCSE ’13). ACM, New York, NY, USA, 53–58. https://doi.org/10.1145/2445196.2445218
[26]
Rodrigo Pessoa Medeiros, Geber Lisboa Ramalho, and Taciana Pontual Falcão. 2019. A Systematic Literature Review on Teaching and Learning Introductory Programming in Higher Education. IEEE Transactions on Education 62, 2 (2019), 77–90. https://doi.org/10.1109/TE.2018.2864133
[27]
Jennifer Parham, Leo Gugerty, and D. E. Stevenson. 2010. Empirical Evidence for the Existence and Uses of Metacognition in Computer Science Problem Solving. In Proceedings of the 41st ACM Technical Symposium on Computer Science Education (Milwaukee, Wisconsin, USA) (SIGCSE ’10). ACM, New York, NY, USA, 416–420. https://doi.org/10.1145/1734263.1734406
[28]
James Prather, Brett A. Becker, Michelle Craig, Paul Denny, Dastyni Loksa, and Lauren Margulieux. 2020. What Do We Think We Think We Are Doing? Metacognition and Self-Regulation in Programming. In Proceedings of the 2020 ACM Conference on International Computing Education Research (Virtual Event, New Zealand) (ICER ’20). Association for Computing Machinery, New York, NY, USA, 2–13. https://doi.org/10.1145/3372782.3406263
[29]
James Prather, John Homer, Paul Denny, Brett Becker, John Marsden, and Garrett Powell. 2022. Scaffolding Task Planning Using Abstract Parsons Problems. In Proc. of the 2022 World Conf. on Computers in Education (WCCE ’22). 1–10.
[30]
James Prather, Raymond Pettit, Brett A. Becker, Paul Denny, Dastyni Loksa, Alani Peters, Zachary Albrecht, and Krista Masci. 2019. First Things First: Providing Metacognitive Scaffolding for Interpreting Problem Prompts. In Proc. of the 50th ACM Tech. Sym. on Computer Science Education (Minneapolis, MN, USA) (SIGCSE ’19). ACM, New York, NY, USA, 531–537. https://doi.org/10.1145/3287324.3287374
[31]
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 (Espoo, Finland) (ICER ’18). ACM, New York, NY, USA, 41–50. https://doi.org/10.1145/3230977.3230981
[32]
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 Proc. of the 2017 ACM Conf. on Int. Computing Education Research (Tacoma, Washington, USA) (ICER ’17). ACM, New York, NY, USA, 74–82. https://doi.org/10.1145/3105726.3106169
[33]
Anthony Robins, Janet Rountree, and Nathan Rountree. 2003. Learning and Teaching Programming: A Review and Discussion. Computer Science Education 13, 2 (2003), 137–172. https://doi.org/10.1076/csed.13.2.137.14200 arXiv:https://doi.org/10.1076/csed.13.2.137.14200
[34]
Juan Pablo Sáenz and Luigi De Russis. 2022. On How Novices Approach Programming Exercises Before and During Coding. In Extended Abstracts of the 2022 CHI Conference on Human Factors in Computing Systems (New Orleans, LA, USA) (CHI EA ’22). ACM, New York, NY, USA, Article 361, 6 pages. https://doi.org/10.1145/3491101.3519655
[35]
Nathaniel Weinman, Armando Fox, and Marti A. Hearst. 2021. Improving Instruction of Programming Patterns with Faded Parsons Problems. In Proc. of the 2021 CHI Conf. on Human Factors in Comp. Sys. (Yokohama, Japan) (CHI ’21). ACM, New York, NY, USA, Article 53, 4 pages. https://doi.org/10.1145/3411764.3445228

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)Exploring the Interplay of Metacognition, Affect, and Behaviors in an Introductory Computer Science Course for Non-MajorsProceedings of the 2024 ACM Conference on International Computing Education Research - Volume 110.1145/3632620.3671119(27-41)Online publication date: 12-Aug-2024
  • (2024)The Widening Gap: The Benefits and Harms of Generative AI for Novice ProgrammersProceedings of the 2024 ACM Conference on International Computing Education Research - Volume 110.1145/3632620.3671116(469-486)Online publication date: 12-Aug-2024
  • Show More Cited By

Index Terms

  1. Metacodenition: Scaffolding the Problem-Solving Process for Novice Programmers

      Recommendations

      Comments

      Please enable JavaScript to view thecomments powered by Disqus.

      Information & Contributors

      Information

      Published In

      cover image ACM Other conferences
      ACE '23: Proceedings of the 25th Australasian Computing Education Conference
      January 2023
      139 pages
      ISBN:9781450399418
      DOI:10.1145/3576123
      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].

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 30 January 2023

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. metacognition
      2. novice programmers
      3. problem-solving
      4. programming education
      5. software engineering education

      Qualifiers

      • Research-article
      • Research
      • Refereed limited

      Conference

      ACE '23
      ACE '23: Australasian Computing Education Conference
      January 30 - February 3, 2023
      VIC, Melbourne, Australia

      Acceptance Rates

      Overall Acceptance Rate 161 of 359 submissions, 45%

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)122
      • Downloads (Last 6 weeks)29
      Reflects downloads up to 16 Nov 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)Exploring the Interplay of Metacognition, Affect, and Behaviors in an Introductory Computer Science Course for Non-MajorsProceedings of the 2024 ACM Conference on International Computing Education Research - Volume 110.1145/3632620.3671119(27-41)Online publication date: 12-Aug-2024
      • (2024)The Widening Gap: The Benefits and Harms of Generative AI for Novice ProgrammersProceedings of the 2024 ACM Conference on International Computing Education Research - Volume 110.1145/3632620.3671116(469-486)Online publication date: 12-Aug-2024
      • (2024)Investigating Markov Model Accuracy in Representing Student Programming BehavioursSouth African Computer Science and Information Systems Research Trends10.1007/978-3-031-64881-6_4(62-78)Online publication date: 8-Jul-2024
      • (2023)Multi-Institutional Multi-National Studies of Parsons ProblemsProceedings of the 2023 Working Group Reports on Innovation and Technology in Computer Science Education10.1145/3623762.3633498(57-107)Online publication date: 22-Dec-2023
      • (2023)“It’s Weird That it Knows What I Want”: Usability and Interactions with Copilot for Novice ProgrammersACM Transactions on Computer-Human Interaction10.1145/361736731:1(1-31)Online publication date: 29-Nov-2023

      View Options

      Login options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      HTML Format

      View this article in HTML Format.

      HTML Format

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media