Abstract:
This paper introduces PigWorld, a tool for teaching Java to
novice programmers, via the objects-early style. Three
design guidelines for object-early assignments are discussed:
(I) emphasize message passing between instances of the
same class; (2) use only simple loops that search for smallest
or largest values in a sequence; (3) teach linked lists before
collections and collections before arrays. The paper offers a
first step to resolving the dilemma over whether procedural
programming must be taught before objects, via the
following principle: in the procedural style, algorithms are
encoded explicitly within the methods of an object, but in the
object oriented style, algorithms emerge implicitly from the
interactions between objects.