Head first programming : a learner's guide to programming using the Python language - Barry, Paul, 1966- (Head first series., 2009)