Building Java programs a back to basics approach - Reges, Stuart (Pearson Addison-Wesley, 2008)