I'm familiar with two schools of thinking for approaching an introductory level class in an object oriented language: objects-late, and objects-early.  In objects-late, you teach various procedural aspects (variables, loops, boolean manipulations, etc) before you delve into objects at all, and then use objects as a way to organize larger chunks of code.In objects-early, you begin with the object-oriented paradigm, and then delve into method construction, and finally into the procedural aspects of coding that way.I truly don't understand this second approach or its merits.  What are potential benefits of beginning with objects, and how can you structure the early parts of a course in order to even permit this?
Justification for an objects-early approach to introductory programming
object oriented paradigm