Foundational Java Key Elements and Practical Programming - Parsons, David (Springer London, 2012)