Rather than taking the more traditional "procedural" approach, the authors take an object-oriented approach from the start to teach introductory programming concepts. Focusing on effective use of objects, they concentrate on building programs from an object library, reusing the objects, and developing classes and methods.