Foundational Java: key elements and practical programming - Parsons, David, author (Spinger-Verlag, 2012)