Programming in Java - Malhotra, Sachin (Oxford University press, 2015)