Introduction to programmming using Java TM : an object-oriented approach - Arnow, David M. (Addison-Wesley, 2000)