skip to main content
10.1145/3105726.3106183acmconferencesArticle/Chapter ViewAbstractPublication PagesicerConference Proceedingsconference-collections
research-article

Sometimes, Rainfall Accumulates: Talk-Alouds with Novice Functional Programmers

Published:14 August 2017Publication History

ABSTRACT

When functional programming is used in studies of the Rainfall problem in CS1, most students seem to perform fairly well. A handful of students, however, still struggle, though with different surface-level errors than those reported for students programming imperatively. Prior research suggests that novice programmers tackle problems by refining a high-level program schema that they have seen for a similar problem. Functional-programming students, however, have often seen multiple schemas that would apply to Rainfall. How do novices navigate these choices? This paper presents results from a talk-aloud study in which novice functional programmers worked on Rainfall. We describe the criteria that drove students to select, and sometimes switch, their high-level program schema, as well as points where students realized that their chosen schema was not working. Our main contribution lies in our observations of how novice programmers approach a multi-task planning problem in the face of multiple viable schemas.

References

  1. Francisco Enrique Vicente Castro and Kathi Fisler. 2016. On the Interplay Between Bottom-Up and Datatype-Driven Program Design. In Proceedings of the 47th ACM Technical Symposium on Computing Science Education (SIGCSE '16). ACM, New York, NY, USA, 205--210. DOI:https://doi.org/10.1145/2839509.2844574Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Richard Catrambone. 1998. The subgoal learning model: Creating better examples so that students can solve novel problems. Journal of Experimental Psychology: General 127 (1998), 355--376. DOI:https://doi.org/10.1037/0096--3445.127.4.355Google ScholarGoogle ScholarCross RefCross Ref
  3. Michael de Raadt, Richard Watson, and Mark Toleman. 2009. Teaching and Assessing Programming Strategies Explicitly. In Proceedings of the Eleventh Australasian Conference on Computing Education - Volume 95 (ACE '09). Australian Computer Society, Inc., Darlinghurst, Australia, Australia, 45--54. http: //dl.acm.org/citation.cfm?id=1862712.1862723Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Sebastian Dziallas and Sally Fincher. 2016. Aspects of Graduateness in Computing Students' Narratives. In Proceedings of the 2016 ACM Conference on International Computing Education Research (ICER '16). ACM, New York, NY, USA, 181--190. DOI:https://doi.org/10.1145/2960310.2960317Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Alireza Ebrahimi. 1994. Novice programmer errors: language constructs and plan composition. International Journal of Human-Computer Studies 41 (1994), 457--480. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, and Shriram Krishnamurthi. 2001. How to Design Programs. MIT Press. http://www.htdp.org/Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Kathi Fisler. 2014. The Recurring Rainfall Problem. In Proceedings of the Tenth Annual Conference on International Computing Education Research (ICER '14). ACM, New York, NY, USA, 35--42. DOI:https://doi.org/10.1145/2632320.2632346Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Mark Guzdial. 2010. A Challenge to Computing Education Research: Make Measurable Progress. https://computinged.wordpress.com/2010/08/16/ a-challenge-to-computing-education-research-make-measurable-progress/. (Aug. 2010). Accessed April 14, 2017.Google ScholarGoogle Scholar
  9. Päivi Kinnunen and Beth Simon. 2012. Phenomenography and grounded theory as research methods in computing education research field. Computer Science Education 22, 2 (June 2012), 199--218. DOI:https://doi.org/10.1080/08993408.2012. 692928Google ScholarGoogle ScholarCross RefCross Ref
  10. O. Muller, B. Haberman, and D. Ginat. 2007. Pattern-oriented instruction and its influence on problem decomposition and solution construction. In Proceedings of ITiCSE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Peter L. Pirolli and John R. Anderson. 1985. The Role of Learning from Examples in the Acquisition of Recursive Programming Skills. Canadian Journal of Psychology/Revue canadienne de psychologie 39, 2 (1985), 240--272.Google ScholarGoogle Scholar
  12. Peter L. Pirolli, John R. Anderson, and Robert G. Farrell. 1984. Learning to program recursion. 277--280.Google ScholarGoogle Scholar
  13. Robert S. Rist. 1989. Schema Creation in Programming. Cognitive Science (1989), 389--414. Google ScholarGoogle ScholarCross RefCross Ref
  14. Robert S. Rist. 1991. Knowledge Creation and Retrieval in Program Design: A Comparison of Novice and Intermediate Student Programmers. Hum.-Comput. Interact. 6, 1 (Mar 1991), 1--46. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Otto Seppälä, Petri Ihantola, Essi Isohanni, Juha Sorva, and Arto Vihavainen. 2015. Do We Know How Difficult the Rainfall Problem is?. In Proceedings of the 15th Koli Calling Conference on Computing Education Research (Koli Calling '15). ACM, New York, NY, USA, 87--96. DOI:https://doi.org/10.1145/2828959.2828963Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Simon. 2013. Soloway's Rainfall Problem Has Become Harder. Learning and Teaching in Computing and Enginering (2013), 130--135. DOI:https://doi.org/10. 1109/LaTiCE.2013.44Google ScholarGoogle Scholar
  17. Elliot Soloway. 1986. Learning to Program = Learning to Construct Mechanisms and Explanations. Commun. ACM 29, 9 (Sept. 1986), 850--858. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Juha Sorva and Arto Vihavainen. 2016. Break Statement Considered. ACM Inroads 7, 3 (Aug. 2016), 36--41. DOI:https://doi.org/10.1145/2950065Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. James C. Spohrer and Elliot Soloway. 1989. Simulating Student Programmers. Morgan Kaufmann Publishers Inc., 543--549.Google ScholarGoogle Scholar
  20. Anne Venables, Grace Tan, and Raymond Lister. 2009. A Closer Look at Tracing, Explaining and Code Writing Skills in the Novice Programmer. In Computing Education Research Workshop (ICER). 117--128. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Jacqueline Whalley and Nadia Kasto. 2014. A Qualitative Think-aloud Study of Novice Programmers' Code Writing Strategies. In Proceedings of the 2014 Conference on Innovation & Technology in Computer Science Education (ITiCSE '14). ACM, New York, NY, USA, 279--284. DOI:https://doi.org/10.1145/2591708. 2591762Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Sometimes, Rainfall Accumulates: Talk-Alouds with Novice Functional Programmers

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • Published in

    cover image ACM Conferences
    ICER '17: Proceedings of the 2017 ACM Conference on International Computing Education Research
    August 2017
    316 pages
    ISBN:9781450349680
    DOI:10.1145/3105726

    Copyright © 2017 ACM

    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: 14 August 2017

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • research-article

    Acceptance Rates

    ICER '17 Paper Acceptance Rate29of180submissions,16%Overall Acceptance Rate189of803submissions,24%

    Upcoming Conference

    ICER 2024
    ACM Conference on International Computing Education Research
    August 13 - 15, 2024
    Melbourne , VIC , Australia

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader