Introduction to programming using Java an object-oriented approach - Arnow, David M. (Addison Wesley, 1998)