Introduction to Programming Using Java An Object-Oriented Approach - ARNOW David M (Addison-Wesley, 2000)