Object-oriented programming from problem solving to Java - Garrido, Jose M. (Firewall Media, 2004)