This book introduces programmers to objects at a gradual pace. Optional example modules are included using Alice and Greenfoot. The examples feature annotations with dos and don'ts along with cross references to more detailed explanations in the text. New tables show a large number of typical and cautionary examples. New programming and review problems are also presented that ensure a broad coverage of topics. Cay will also add sections on problem solving, and a new, more approachable and visual design developed for JfE and BJLO is used.