A Comprehensive Introduction to Object-Oriented Programming with Java - C. Thomas Wu (McGraw Hill, 2008)