An introduction to programming and object-oriented design using JAVA - Nino, Jaime (John Wiley, 2004)