Python Examples and Resources

Jonathan Jacky

From the course. More resources here.

Courses Books Links Fundamentals Samples Semantics Science Internet Tools


Other courses

MIT courses
http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-189-a-gentle-introduction-to-programming-using-python-january-iap-2011/
http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-189-a-gentle-introduction-to-programming-using-python-january-iap-2008/ (uses Downey's Think Like a Computer Scientist text)
http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00-introduction-to-computer-science-and-programming-fall-2008/ (CS intro with Python, 24 videos)

Google Code University
http://code.google.com/edu/languages/google-python-class
http://code.google.com/edu/languages/index.html#_python_understanding (and others, keep scrolling)

Boston Python Workshop, two-day introduction for women (content interesting for anyone)
http://openhatch.org/wiki/Boston_Python_Workshop_4

Noisebridge, free class at hacker space (San Francisco)
https://www.noisebridge.net/wiki/PyClass


Other textbooks

Dive Into Python
http://diveintopython.org/

Learn Python the Hard Way
http://learnpythonthehardway.org/


Other links

Good to Great Python reads
http://jessenoller.com/good-to-great-python-reads/

Python references, tutorials, books, courses, pitfalls, assessment, announcements
http://staff.washington.edu/jon/links.html#python-ref


Fundamentals

Expressions, statements, control structure, functions
basics.py

Strings, files, URLS (web pages), system commands
idioms.py, data: ceru_human.sp

Lists, dictionaries
containers.py


Samples

Protein sequence
http://www.pasteur.fr/recherche/unites/sis/formation/python/ch11s04.html
Code: bio_demo.py, data: ceru_human.sp

Traceroute
http://blog.ksplice.com/2010/07/learning-by-doing-writing-your-own-traceroute-in-8-easy-steps/
Code: python_traceroute.py

Spelling corrector
http://www.norvig.com/spell-correct.html
Code: corrector.py, data: big.txt


Semantics

In addition to the textbook, there are some pointful examples in this code: semantics.py.


Scientific and technical computing

SciPy/NumPy, numerical and scientific programming libraries
http://www.scipy.org/

SciPy, well-organized links to many many scientific packages and other resources
http://www.scipy.org/Topical_Software

NumPy introduction
http://mentat.za.net/numpy/intro/intro.html

Computational Methods for Nonlinear Systems (course with SciPy/NumPy)
http://pages.physics.cornell.edu/~myers/teaching/ComputationalMethods/

matplotlib and Chaco, 2D plotting libraries
http://matplotlib.sourceforge.net/
http://code.enthought.com/projects/chaco/docs/html/

Mayavi + mlab, 3D plotting libraries
http://mayavi.sourceforge.net/
http://code.enthought.com/projects/mayavi/docs/development/html/mayavi/mlab.html

BioPython, molecular biology
http://biopython.org/, start at DIST/docs/tutorial/Tutorial.html

Python course in Bioinformatics (but some examples no longer work with current BioPython)
http://www.pasteur.fr/recherche/unites/sis/formation/python/

SymPy, symbolic mathematics
http://docs.sympy.org/

Sage, integrated collection of mathematics programs
http://www.sagemath.org/

NetworkX and igraph, graph theory algorithms and displays
http://networkx.lanl.gov/index.html
http://igraph.sourceforge.net/

NLTK, natural language processing and text analytics
http://www.nltk.org/

OpenCV and PIL, image processing
http://opencv.willowgarage.com/documentation/python/index.html
http://www.pythonware.com/products/pil/

MMTK, molecular modeling toolkit
http://dirac.cnrs-orleans.fr/MMTK

GIS-Python Lab, geographic information systems
http://trac.gispython.org/lab/wiki

GNU Radio, signal processing
http://gnuradio.org/redmine/wiki/gnuradio/TutorialsWritePythonApplications

etc. ...


Web and Internet applications

Django, web application framework
http://www.djangoproject.com/

Google App Engine, web applications on Google's infrastructure
http://code.google.com/appengine/docs/python/gettingstarted/

Zope/Plone, content management, with ZODB object database
http://www.zope.org/WhatIsZope, http://plone.org/, also Documentation/Articles/ZODB1

ScaPy, network packet manipulation program
http://www.secdev.org/projects/scapy/doc/introduction.html

Seattle testbed, open source cloud computing
https://seattle.cs.washington.edu/html/

etc. ...


Software tools

Mercurial, distributed version control with a Python API
http://mercurial.selenic.com/about/, wiki/MercurialApi

Sphinx documentation generator
http://sphinx.pocoo.org/

Testing tools
http://pycheesecake.org/wiki/PythonTestingToolsTaxonomy

PyModel, model-based testing
http://staff.washington.edu/jon/pymodel/www/

etc. ...