Understanding Object-Oriented Programming with Java : Second Updated Edition for the Open University (Paperback)