An introduction to computer science using Java - Kamin, Samuel N; Reingold, Edward M.; Mickunas, M.Dennis (McGraw-Hill, 1998)