Building Java programs : a back to basics approach - Reges (Addison-Wesley, 2011)