An introduction to computer science using Java - Kamin, Samuel N. (McGraw-Hill, 2002)