### Course philosophy & structure

- An article that we wrote several years ago describing the structure and philosophy of the course can be found in C.R. Myers and J.P. Sethna, "Python for Education: Computational Methods for Nonlinear Systems",
*Computing in Science and Engineering*9(3), 75-79 (2007). - Many of the exercises for the course, as well as much of the scientific background, were incorporated into Jim Sethna's textbook Entropy, Order Parameters, and Complexity.

### The Python Programming Language

- Python language homepage
- Python documentation (version 3.4)
- Python tutorial (version 3.4)
- Think Python by Allen Downey: a freely available textbook introducing the Python language and teaching "How to Think Like a Computer Scientist"
- A Primer on Scientific Programming with Python by Hans Petter Langtangen: an introduction to the Python language with an emphasis on its use for scientific computing.

### Scientific Computing with Python

- A Primer on Scientific Programming with Python by Hans Petter Langtangen: an introduction to the Python language with an emphasis on its use for scientific computing.
- Tutorial on the scientific Python ecosystem, introducing NumPy, SciPy, matplotlib, and other tools.
- SciPy/NumPy homepage: core libraries for scientific computing in Python.
- SciPy/NumPy documentation
- SciPy/NumPy cookbook (examples): reference demonstrating the use of many functions and libraries in SciPy and NumPy
- SciPy Array Tip Sheet: an overview of SciPy arrays, their geometry and useful functions
- T.E. Oliphant, "Python for Scientific Computing",
*Computing in Science and Engineering*9(3), 10-20 (2007): an older article describing why Python is an excellent environment for scientific computing - IPython Interactive Computing and Visualization Cookbook by Cyrille Rossant: a guide to using IPython for data science, simulation and visualization