This paper introduces PigWorld, a tool for teaching Java to novice programmers, via the objects-early style. Three design guidelines forobject-early assignments are discussed: (1) 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 .1