Useful Learning Resources
In addition to the material we cover in class, there are numerous online
resources to help a newcomer get to know Python. The following list represents
the best-known and best-regarded of the breed. If you are itching for a bit
more work on your Python chops, you should try these out.
Visualizing Python Execution
The Online Python Tutor lets you enter Python code, run it and debug it step-by-step,
and visualize the symbol table in each scope. An indispensable tool for beginners
written by Philip Guo.
Python Language Resources
As a Python programmer, you’ll want to keep a bookmark pointed at the
official Python documentation, especially the
documentation for the
standard library. However,
there are a number of additional resources you can (and should) use to help
build your Python chops.
For the beginner
- Interactive Python Textbook:
- The Python Tutorial: This is the
official tutorial from the Python website. No more authoritative source is
available.
- Code Academy: Python Track:
Often cited as a great resource, this site offers an entertaining and
engaging approach and in-browser work.
- Learn Python the Hard Way: Solid
and gradual. This course offers a great foundation for folks who have never
programmed in any language before.
- Dive Into Python 3: The updated version
of a classic. This book offers an introduction to Python aimed at the student
who has experience programming in another language.
- Python for You and Me: Simple
and clear. This is a great book for absolute newcomers, or to keep as a quick
reference as you get used to the language.
- Think Python: Methodical and
complete. This book offers a very “computer science”-style introduction to
Python. It is really an intro to Python in the service of Computer Science,
though, so not so while helpful for the absolute newcomer, it isn’t quite as
“pythonic” as it might be.
- Core Python Programming: Only available as a dead
trees version, but if you like to have book to hold in your hands anyway, this
is the best textbook style introduction out there. It starts from the
beginning, but gets into the full language. Published in 2009, but still in
print, with updated appendixes available for new language features.
Next Steps
- New Coder: Advertised as “Five lifejackets to throw
to the new coder”, this site offers five very interesting tutorials written
in an engaging style. Not an introduction. More a second step.
- OpenHatch:
The Open Hatch project offers a number of workshops with well-paced
intermediate tutorials for Python programming. A great place to go once you
have the basics down and are ready for more challenging work.
Evaluating Your Options
The blurbs above are short descriptions of the material in each resource. I’ve
drawn them both from my own usage of the various tools, and from
a wonderful set of online reviews
done by Marta Maria Casetti on her blog,
“Planning a Dinner”.
The poster she presented at PyCon 2014
as a result of that research offers some great hints about the aspects of
Python programming best covered by each resource. I would urge any new student
of Python to take the time to look over this poster to help determine the best
path forward for themselves.
iPython Interpreter Resources
iPython is an enhanced interpreter that makes interactive experimentation at
the command line much more pleasant and powerful.