  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.

Computers and Society;Programming Languages