An introduction to programming and object-oriented design using JAVA 5.0 - Niño, Jaime (J. Wiley, 2005)