An Introduction to Object-Oriented Programming With Java, 5ed - C. Thomas Wu (McGraw Hill, 2010)