Python
- A tutorial (level of detail about right)
- Official python3 tututorial (more than you may want at first pass)
- Numpy Tutorial: http://www.scipy.org/Tentative_NumPy_Tutorial.
- Numpy Reference: http://docs.scipy.org/doc/numpy/reference/.
- Scipy Reference: http://docs.scipy.org/doc/scipy/reference/.
- Matplotlib Tutorial: http://matplotlib.org/users/pyplot_tutorial.html.
- List of matplotlib examples: http://matplotlib.org/examples/pylab_examples/index.html.
- Matplotlib Gallery (browse examples by picture): http://matplotlib.org/gallery.html#pylab_examples
- MPI guide
Older recommendations by Hoyt Koepke. Installation, etc: If you run Linux, the needed libraries are all in the standard
repositories. At a minimum, you will need NumPy, SciPy, and
Matplotlib. An easy way
to get all the packages you want is is
with Miniconda.
The open source IDE Spyder provides a decent editor
with an interactive command prompt designed for writing scientific
code. Other possible options include Wingware and tons of others. A
bunch of results are here:
http://stackoverflow.com/questions/81584/what-ide-to-use-for-python.
For other operating systems, I’d strongly recommend using a
pre-packaged installer for Python with all the needed scientific
libraries such as Pythonxy or
the Enthought Python Distribution
(you’ll need to get a free academic license).
Parallel computing MPI for python
- mpi4py 3.0.1 official page
- MPI for Python by L. Dalcin Tutorial
- Hand-on Intro to MPI Python Programming by S. Bae (hands-on, example based, 18 pages)
- mpi4py by S. Weston (26 pages)
Books
- Numerical
recipes in C a MUST HAVE (older edition downloadable)
Other programming languages
- The computer programming CSE 142 and CSE 143
web pages (Java and C++).
- The Perl Comprehensive Archive Network
- The AWK manual
- A make tutorial.
You don't need to know much about make for
this course, but you might find this interesting.
- The Great Computer Language Shootout and The Win32 Computer Language Shootout
Programming wisdom, algorithms, etc
- "Back to basics" by Joel Spolsky. An article about why we need to know what a CPU does with the bits and bytes in order to write decent programs.
- Notes on programming style from Brian Kernighan.
- The complete collection of algorithm animations"
- Stanford CS Education
library
- How does statistics come into play? "The statistics of sequence similarity scores" a web document by S. Altschul
KD Tree, Ball Tree and AD Tree resources
- A Tutorial on KD Trees by Andrew Moore, and some animations
- The original AD trees paper "Cached sufficient statistics for efficient machine learning with large data sets" by Andrew Moore and Mary Soon Lee
- "Five balltree construction algorithms" by Steve Omohundro
|