Aimed at introductory computer courses, this work assumes no previous programming experience. The emphasis is on a learning how to design, implement and debug programmes writtin in an object-oriented language. Topics are introduced in a spiral fashion, with as little "magic" as possible.