Fundamentals of OOP and data structures in Java / - Wiener, Richard (Cambridge University Press, 2000)