Fundamentals of programming using Java - Currie, Edward (Thomson, 2006)