Skillset B: Scientific Python

Here we introduce recipes focused on aspects of python central to numerically-intensive work. These include a deep understanding of how computers handle numbers, working with arrays and matrices of values, creating plots and other data visualizations, and reading to or writing from data files. Along the way, we'll introduce numpy and matplotlib, add-ons to the python language that support numerically-focused work.

  1. Machine arithmetic: Recipes for working with numerical values safely, accurately, and efficiently.

  2. Arrays: Recipes for using numpy arrays (1D, 2D, and even higher) to accomplish stuff.

  3. Plotting: Recipes for using matplotlib to construct 2D, y vs. x plots all tweaked out and ready to publish.

  4. Histograms: Because a y vs. x plot is not always the right data visualization tool for the job.

  5. Files: Recipes for reading in datafiles, including high-maintenance ones, and for writing out your own results to files for safekeeping or sharing.