An Introduction to Computer Science Using Java, 2ed - Samuel N. Kamin (McGraw Hill, 2002)