Introduction to Java programming - Liang, Y. Daniel (Pearson Prentice Hal, 2007)