Beginning Java Objects: From Concepts to Code