JAVA: LEARNING TO PROGRAM WITH ROBOTS is an innovative approach to teaching and learning introductory object-oriented programming. Students are introduced to object-oriented concepts with simulated robots, a hands-on approach that is engaging and fun for both students and instructors. Robots are used to lay a solid object-oriented foundation upon which students build an in-depth understanding of programming concepts using a wide range of non-robotic examples. The robots approach has been successfully used for nearly six years at the University of Waterloo and has introduced more than 6,000 students to OO programming using Java.
this is really great introduction to OO programming for the new programmer. This book is now out of print, but it is available for free in PDF form. The examples don't need too much adjusting for Java 7.