Data Abstraction and Problem Solving with Java - Janet J. Prichard (John Wiley & Sons)