Introduction to Java programming and data structures comprehensive version - Liang, Y. Daniel (Pearson Education Limited, 2019)