Learn Python The Hard Way 3rd ed. by Z. A. Shaw, 2010