2014-11-13
Matt McCormick matt.mccormick@kitware.com
Python is an increasingly popular scientific computing programming language, offering an easy-to-learn, versatile interface that glues together work from many other languages well. Furthermore, it is supported by a vibrant open source community.
Image credits: http://pyscience.wordpress.com/
While the Python standard library is often touted for being “batteries-included”, the scientific Python environment is even richer, with many powerful tools and packages to enhance the scientific computing workflow.
In this one-hour course, we will introduce and refresh participants to modern Pythonic practices from the perspective of a researcher with a C or C++ background.
This contents computational environment, code, and data to run this course and available on the distributed USB flash drives and on GitHub. See the README file in the root directory for directions on how to run the notebooks.
Please copy the contents of the USB flash drive and return the drive :-).
J.R. Johansson: A sound scientific result should be reproducible, and a sound scientific study should be replicable.
To achieve these goals, we need to:
1) Creating a reproducible computational environment with Docker.
2) Interactive analysis and literate programming with the IPython notebook.
3) A brief survey of the fundamental scientific Python packages: numpy, matplotlib, scipy, sympy, pandas, nose.
4) Writing efficient, compiled C/Python hybrid code with Cython.
5) Wrapping C and C++ libraries in python with XDress.