Introduction to Functional Classes in CS1

Marco T. Morazán
DOI: https://doi.org/10.48550/arXiv.2207.12700
2022-07-26
Computers and Society
Abstract:Students introduced to programming using a design-based approach and a functional programming language become familiar with first-class functions. They rarely, however, connect first-class functions to objects and object-oriented program design. This is a missed opportunity because students inevitably go on to courses using an object-oriented programming language. This article describes how students are introduced to objects within the setting of a design-based introduction to programming that uses a functional language. The methodology exposes students to interfaces, classes, objects, and polymorphic dispatch. Initial student feedback suggests that students benefit from the approach.
What problem does this paper attempt to address?