Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3491101.3519655acmconferencesArticle/Chapter ViewAbstractPublication PageschiConference Proceedingsconference-collections
poster

On How Novices Approach Programming Exercises Before and During Coding

Published: 28 April 2022 Publication History
  • Get Citation Alerts
  • Abstract

    Various tools and approaches are available to support undergraduate students learning to program. Most of them concentrate on the code and aim to ease the visualization of data structures or guide the debugging. However, in undergraduate introductory courses, students are typically given exercises in the form of a natural language problem. Deriving a correct solution largely depends on the problem-solving strategy they adopt rather than on their proficiency in dealing with the syntax and semantics of the code. Indeed, they face various challenges (apart from the coding), such as identifying the relevant information, stating the algorithmic steps to solve it, breaking it into smaller parts, and evaluating the implemented solution. To our knowledge, almost no attention has been paid to supporting such problem-solving strategies before and during the coding. This paper reports an interview and a sketching exercise with 10 participants exploring how the novices approach the programming exercises from a problem-solving perspective and how they imagine a tool to support their cognitive process. Findings show that students intuitively perform various actions over the exercise text, and they would appreciate having support from the development environment. Accordingly, based on these findings, we provide implications for designing tools to support problem-solving strategies.

    References

    [1]
    M. Adeli, N. Nelson, S. Chattopadhyay, H. Coffey, A. Henley, and A. Sarma. 2020. Supporting Code Comprehension via Annotations: Right Information at the Right Time and Place. In 2020 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC). 1–10. https://doi.org/10.1109/VL/HCC50065.2020.9127264
    [2]
    Umair Z. Ahmed, Nisheeth Srivastava, Renuka Sindhgatta, and Amey Karkare. 2020. Characterizing the Pedagogical Benefits of Adaptive Feedback for Compilation Errors by Novice Programmers. In Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering: Software Engineering Education and Training (Seoul, South Korea) (ICSE-SEET ’20). Association for Computing Machinery, New York, NY, USA, 139–150. https://doi.org/10.1145/3377814.3381703
    [3]
    Valerie Barr and Chris Stephenson. 2011. Bringing Computational Thinking to K-12: What is Involved and What is the Role of the Computer Science Education Community?ACM Inroads 2, 1 (feb 2011), 48–54. https://doi.org/10.1145/1929887.1929905
    [4]
    Brett A. Becker. 2016. An Effective Approach to Enhancing Compiler Error Messages. In Proceedings of the 47th ACM Technical Symposium on Computing Science Education (Memphis, Tennessee, USA) (SIGCSE ’16). Association for Computing Machinery, New York, NY, USA, 126–131. https://doi.org/10.1145/2839509.2844584
    [5]
    Virginia Braun and Victoria Clarke. 2006. Using thematic analysis in psychology. Qualitative Research in Psychology 3, 2 (2006), 77–101. https://doi.org/10.1191/1478088706qp063oa
    [6]
    Angela Carbone, John Hurst, Ian Mitchell, and Dick Gunstone. 2009. An Exploration of Internal Factors Influencing Student Learning of Programming. In Proceedings of the Eleventh Australasian Conference on Computing Education - Volume 95(Wellington, New Zealand) (ACE ’09). Australian Computer Society, Inc., AUS, 25–34.
    [7]
    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. Association for Computing Machinery, New York, NY, USA.
    [8]
    Alireza Ebrahimi. 1994. Novice programmer errors: language constructs and plan composition. International Journal of Human-Computer Studies 41, 4 (1994), 457–480. https://doi.org/10.1006/ijhc.1994.1069
    [9]
    Jamie Gorson and Eleanor O’Rourke. 2019. How Do Students Talk About Intelligence? An Investigation of Motivation, Self-Efficacy, and Mindsets in Computer Science. In Proceedings of the 2019 ACM Conference on International Computing Education Research (Toronto ON, Canada) (ICER ’19). Association for Computing Machinery, New York, NY, USA, 21–29. https://doi.org/10.1145/3291279.3339413
    [10]
    Shuchi Grover and Roy Pea. 2013. Computational Thinking in K–12: A Review of the State of the Field. Educational Researcher 42, 1 (2013), 38–43. https://doi.org/10.3102/0013189X12463051
    [11]
    Hyeonsu Kang and Philip J. Guo. 2017. Omnicode: A Novice-Oriented Live Programming Environment with Always-On Run-Time Value Visualizations. In Proceedings of the 30th Annual ACM Symposium on User Interface Software and Technology (Québec City, QC, Canada) (UIST ’17). Association for Computing Machinery, New York, NY, USA, 737–745. https://doi.org/10.1145/3126594.3126632
    [12]
    Hieke Keuning, Johan Jeuring, and Bastiaan Heeren. 2018. A Systematic Literature Review of Automated Feedback Generation for Programming Exercises. ACM Trans. Comput. Educ. 19, 1, Article 3 (Sept. 2018), 43 pages. https://doi.org/10.1145/3231711
    [13]
    Essi Lahtinen, Kirsti Ala-Mutka, and Hannu-Matti Järvinen. 2005. A Study of the Difficulties of Novice Programmers. In Proceedings of the 10th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education (Caparica, Portugal) (ITiCSE ’05). Association for Computing Machinery, New York, NY, USA, 14–18. https://doi.org/10.1145/1067445.1067453
    [14]
    Rina P. Y. Lai. 2021. Beyond Programming: A Computer-Based Assessment of Computational Thinking Competency. ACM Trans. Comput. Educ. 22, 2, Article 14 (nov 2021), 27 pages. https://doi.org/10.1145/3486598
    [15]
    Raymond Lister, Beth Simon, Errol Thompson, Jacqueline L. Whalley, and Christine Prasad. 2006. Not Seeing the Forest for the Trees: Novice Programmers and the SOLO Taxonomy. In Proceedings of the 11th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education (Bologna, Italy) (ITICSE ’06). Association for Computing Machinery, New York, NY, USA, 118–122. https://doi.org/10.1145/1140124.1140157
    [16]
    Dastyni Loksa and Andrew 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). Association for Computing Machinery, New York, NY, USA, 83–91. https://doi.org/10.1145/2960310.2960334
    [17]
    Dastyni Loksa, Andrew 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). Association for Computing Machinery, New York, NY, USA, 1449–1461. https://doi.org/10.1145/2858036.2858252
    [18]
    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 Proceedings Companion of the 23rd Annual ACM Conference on Innovation and Technology in Computer Science Education (Larnaca, Cyprus) (ITiCSE 2018 Companion). Association for Computing Machinery, New York, NY, USA, 55–106. https://doi.org/10.1145/3293881.3295779
    [19]
    Monica M. McGill and Adrienne Decker. 2020. Construction of a Taxonomy for Tools, Languages, and Environments across Computing Education. 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, 124–135. https://doi.org/10.1145/3372782.3406258
    [20]
    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
    [21]
    Arnold Pears, Stephen Seidman, Lauri Malmi, Linda Mannila, Elizabeth Adams, Jens Bennedsen, Marie Devlin, and James Paterson. 2007. A Survey of Literature on the Teaching of Introductory Programming. In Working Group Reports on ITiCSE on Innovation and Technology in Computer Science Education(Dundee, Scotland) (ITiCSE-WGR ’07). Association for Computing Machinery, New York, NY, USA, 204–223. https://doi.org/10.1145/1345443.1345441
    [22]
    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 Proceedings of the 50th ACM Technical Symposium on Computer Science Education (Minneapolis, MN, USA) (SIGCSE ’19). Association for Computing Machinery, New York, NY, USA, 531–537. https://doi.org/10.1145/3287324.3287374
    [23]
    Yizhou Qian and James Lehman. 2017. Students’ Misconceptions and Other Difficulties in Introductory Programming: A Literature Review. ACM Trans. Comput. Educ. 18, 1, Article 1 (Oct. 2017), 24 pages. https://doi.org/10.1145/3077618
    [24]
    Jonathan C. Roberts, Panagiotis D. Ritsos, James R. Jackson, and Christopher Headleand. 2018. The Explanatory Visualization Framework: An Active Learning Framework for Teaching Creative Computing Using Explanatory Visualizations. IEEE Transactions on Visualization and Computer Graphics 24, 1(2018), 791–801. https://doi.org/10.1109/TVCG.2017.2745878
    [25]
    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
    [26]
    Neil Smith, Mike Richards, and Daniel G. Cabrero. 2018. Summer of Code: Assisting Distance-Learning Students with Open-Ended Programming Tasks. In Proceedings of the 23rd Annual ACM Conference on Innovation and Technology in Computer Science Education (Larnaca, Cyprus) (ITiCSE 2018). Association for Computing Machinery, New York, NY, USA, 224–229. https://doi.org/10.1145/3197091.3197119
    [27]
    Juha Sorva, Ville Karavirta, and Lauri Malmi. 2013. A Review of Generic Program Visualization Systems for Introductory Programming Education. ACM Trans. Comput. Educ. 13, 4, Article 15 (Nov. 2013), 64 pages. https://doi.org/10.1145/2490822
    [28]
    J. Ángel Velázquez-Iturbide, Isidoro Hernán-Losada, and Maximiliano Paredes-Velasco. 2017. Evaluating the Effect of Program Visualization on Student Motivation. IEEE Transactions on Education 60, 3 (2017), 238–245. https://doi.org/10.1109/TE.2017.2648781
    [29]
    Mauricio Verano Merino and Tijs van der Storm. 2020. Block-Based Syntax from Context-Free Grammars. In Proceedings of the 13th ACM SIGPLAN International Conference on Software Language Engineering (Virtual, USA) (SLE 2020). Association for Computing Machinery, New York, NY, USA, 283–295. https://doi.org/10.1145/3426425.3426948
    [30]
    Jeannette M. Wing. 2006. Computational Thinking. Commun. ACM 49, 3 (mar 2006), 33–35. https://doi.org/10.1145/1118178.1118215

    Cited By

    View all
    • (2024)CodeTailor: LLM-Powered Personalized Parsons Puzzles for Engaging Support While Learning ProgrammingProceedings of the Eleventh ACM Conference on Learning @ Scale10.1145/3657604.3662032(51-62)Online publication date: 9-Jul-2024
    • (2023)A Strategy for Retrospective Evaluation of Students SQL Learning Engagements2023 3rd International Conference on Electrical, Computer, Communications and Mechatronics Engineering (ICECCME)10.1109/ICECCME57830.2023.10252347(1-7)Online publication date: 19-Jul-2023

    Index Terms

    1. On How Novices Approach Programming Exercises Before and During Coding
          Index terms have been assigned to the content through auto-classification.

          Recommendations

          Comments

          Information & Contributors

          Information

          Published In

          cover image ACM Conferences
          CHI EA '22: Extended Abstracts of the 2022 CHI Conference on Human Factors in Computing Systems
          April 2022
          3066 pages
          ISBN:9781450391566
          DOI:10.1145/3491101
          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]

          Sponsors

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          Published: 28 April 2022

          Permissions

          Request permissions for this article.

          Check for updates

          Author Tags

          1. development environment
          2. novices
          3. problem-solving strategies
          4. programming

          Qualifiers

          • Poster
          • Research
          • Refereed limited

          Conference

          CHI '22
          Sponsor:
          CHI '22: CHI Conference on Human Factors in Computing Systems
          April 29 - May 5, 2022
          LA, New Orleans, USA

          Acceptance Rates

          Overall Acceptance Rate 6,164 of 23,696 submissions, 26%

          Contributors

          Other Metrics

          Bibliometrics & Citations

          Bibliometrics

          Article Metrics

          • Downloads (Last 12 months)56
          • Downloads (Last 6 weeks)5
          Reflects downloads up to 11 Aug 2024

          Other Metrics

          Citations

          Cited By

          View all
          • (2024)CodeTailor: LLM-Powered Personalized Parsons Puzzles for Engaging Support While Learning ProgrammingProceedings of the Eleventh ACM Conference on Learning @ Scale10.1145/3657604.3662032(51-62)Online publication date: 9-Jul-2024
          • (2023)A Strategy for Retrospective Evaluation of Students SQL Learning Engagements2023 3rd International Conference on Electrical, Computer, Communications and Mechatronics Engineering (ICECCME)10.1109/ICECCME57830.2023.10252347(1-7)Online publication date: 19-Jul-2023

          View Options

          Get Access

          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