Learning Python:
University of Waterloo