skip to main content
research-article
Open Access

Structural versus pipeline composition of higher-order functions (experience report)

Published:31 August 2022Publication History
Skip Abstract Section

Abstract

In teaching students to program with compositions of higher-order functions, we have encountered a sharp distinction in the difficulty of problems as perceived by students. This distinction especially matters as growing numbers of programmers learn about functional programming for data processing. We have made initial progress on identifying this distinction, which appears counter-intuitive to some. We describe the phenomenon, provide some preliminary evidence of the difference in difficulty, and suggest consequences for functional programming pedagogy.

References

  1. Peter Achten. 2021. Segments: An alternative rainfall problem. Journal of Functional Programming, 31 (2021), https://doi.org/10.1017/S0956796821000216 Google ScholarGoogle ScholarCross RefCross Ref
  2. Francisco Enrique Vicente Castro and Kathi Fisler. 2020. Qualitative Analyses of Movements Between Task-Level and Code-Level Thinking of Novice Programmers. Association for Computing Machinery, New York, NY, USA. 487–493. isbn:9781450367936 https://doi.org/10.1145/3328778.3366847 Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 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 Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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
  5. John K Feser, Swarat Chaudhuri, and Isil Dillig. 2015. Synthesizing data structure transformations from input-output examples. ACM SIGPLAN Notices, 50, 6 (2015), 229–239. https://doi.org/10.1145/2813885.2737977 Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Robert Bruce Findler, John Clements, Cormac Flanagan, Matthew Flatt, Shriram Krishnamurthi, Paul Steckler, and Matthias Felleisen. 2002. DrScheme: A Programming Environment for Scheme. Journal of Functional Programming, 12, 2 (2002), 159–182. https://doi.org/10.1017/S0956796801004208 Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Kathi Fisler. 2014. The recurring rainfall problem. In SIGCSE International Computing Education Research Conference. 35–42. https://doi.org/10.1145/2632320.2632346 Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Kathi Fisler, Shriram Krishnamurthi, and Janet Siegmund. 2016. Modernizing Plan-Composition Studies. In ACM Technical Symposium on Computer Science Education. https://doi.org/10.1145/2839509.2844556 Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Matthew Flatt and PLT. 2010. Reference: Racket. PLT Inc.. http://racket-lang.org/tr1/ Google ScholarGoogle Scholar
  10. Jeremy Gibbons. 2021. How to design co-programs. Journal of Functional Programming, 31 (2021), https://doi.org/10.1017/S0956796821000113 Google ScholarGoogle ScholarCross RefCross Ref
  11. W Lewis Johnson and Elliot Soloway. 1984. Intention-based diagnosis of programming errors. In National Conference on Artificial Intelligence. Google ScholarGoogle Scholar
  12. Shriram Krishnamurthi and Kathi Fisler. 2020. Data-Centricity: A Challenge and Opportunity for Computing Education. Commun. ACM, 63, 8 (2020), https://doi.org/10.1145/3408056 Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Shriram Krishnamurthi and Kathi Fisler. 2021. Developing Behavioral Concepts of Higher-Order Functions. In SIGCSE International Computing Education Research Conference. https://doi.org/10.1145/3446871.3469739 Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Mitchell J Nathan, Kenneth R Koedinger, and Martha W Alibali. 2001. Expert blind spot: When content knowledge eclipses pedagogical content knowledge. In International Conference on Cognitive Science. Google ScholarGoogle Scholar
  15. Robert S Rist. 1989. Schema creation in programming. Cognitive Science, 13, 3 (1989), 389–414. https://doi.org/10.1016/0364-0213(89)90018-9 Google ScholarGoogle ScholarCross RefCross Ref
  16. Elijah Rivera, Shriram Krishnamurthi, and Robert Goldstone. 2022. Plan Composition Using Higher-Order Functions. In SIGCSE International Computing Education Research Conference. https://doi.org/10.1145/3501385.3543965 Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Neil J Salkind. 2010. Encyclopedia of Research Design. SAGE Publishing. https://doi.org/10.4135/9781412961288 Entry for “Sequence Effects” Google ScholarGoogle ScholarCross RefCross Ref
  18. Otto Seppälä, Petri Ihantola, Essi Isohanni, Juha Sorva, and Arto Vihavainen. 2015. Do We Know How Difficult the Rainfall Problem is? In Koli Calling Conference on Computing Education Research (Koli Calling ’15). ACM, New York, NY, USA. 87–96. https://doi.org/10.1145/2828959.2828963 Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Simon. 2013. Soloway’s Rainfall Problem Has Become Harder. In Learning and Teaching in Computing and Enginering (LaTiCE). IEEE Computer Society, Los Alamitos, CA, USA. 130–135. https://doi.org/10.1109/LaTiCE.2013.44 Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Edward L. Thorndike and Robert S. Woolworth. 1901. The influence of improvement in one mental function upon the efficiency of other functions. Psychological Review, https://doi.org/10.1037/h0074898 Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Structural versus pipeline composition of higher-order functions (experience report)

        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

        Full Access

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!