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