Schedule
This course follows a T/TH schedule. There is a section for each day, with materials for that day. This schedule is subject to change before a class is held.
Day 00 - 9/27
Class Material
Reading
- Discrete or Continuous? by N. Trefethen. Required
- Top-10 Algorithms of the 20th Century by B. Cipra. Required
- What Kind of Science is Computational Science? by R. Allain Recommended
- and A Rebuttal by T. Kolda. Recommended
- A Science-Based Case for Large-Scale Simulation US Department of Energy Optional
Day 01 - 9/28
Homework
- see the git tutorial if you are not familiar with git version control.
Class Material
Reading
- PEP 0020 - The Zen of Python Required
- PEP 0008 - Style Guide (just skim and read anything interesting) Required
- Array Programming with NumPy by Harris, et al. Recommended
Day 02 - 09/30
Reading
- Functions Required
- More on defining functions Required
- Function definitions Recommended
- Modules Required
Day 03 - 10/05
Reading
- Classes Required at least through 9.5 (inheritance)
- Class definitions Recommended
Day 04 - 10/07
Reading
- Newton’s method Required
- Memory Recommended
Day 05 - 10/12
Class Material
If you don’t have much prior experience with matrix factorizations, it is highly recommended to go through the exercises in the notebook.
Reading
- Mastering SciPy pp 28 - 38 (Basic Matrix Manipulation) required
- Mastering SciPy pp 38 - 41 (Matrix Factorizations) required
- Mastering SciPy pp 54 - 55 (Eigenvalue Decompositions) required
Day 06 - 10/14
Class Material
Reading
- Mastering SciPy pp 19 - 28 (Creation of sparse matrices, linear operators) Required
Day 07 - 10/19
Class Material
Sparse direct methods, iterative methods, ARPACK, randomized linear algebra.
Day 08 - 10/21
Class Material
Sparse direct methods, iterative methods, ARPACK, randomized linear algebra.
Day 09 - 10/26
Class Material
- Agent-based modeling
- Python Iterators and Generators
Reading
- E. Bonabeau Agent-based modeling: Methods and techniques for simulating human systems (2002) Recommended
Day 10 - 10/28
Class Material
Reading
- SymPy Introduction Required Look around the documentation as well.
- Mastering SciPy pp 105 - 110 (Differentiation) Required
Day 11 - 11/02
Class Material
Reading
- Mastering SciPy pp 165 - 178 (Initial Value Problems) Required
- SciPy
solve_ivp
Required - Forward difference Required
Day 12 - 11/04
Class Material
Reading
- Mastering SciPy pp. 61 - 104 (Interpolation and Approximation) Required
- SciPy interpolation tutorial Recommended
- PyPlot Use FAQ Required (first half)
- Matplotlib tutorials Recommended take a look around
Day 12 - 11/04
Class Material
Reading
- Mastering SciPy pp. 61 - 104 (Interpolation and Approximation) Required
- SciPy interpolation tutorial Recommended
- PyPlot Use FAQ Required (first half)
- Matplotlib tutorials Recommended take a look around
Day 13-14 - 11/10-11/12
Class Material
Reading
- Mastering SciPy pp. 111-123 Required
scipy.integrate.quad
Recommended- SciPy
integrate.solve_bvp
Recommended - SymPy
ode.dsolve
Recommended
Day 15 - 11/16
Reading
- Mastering SciPy pp. 125-163 (Optimization) Required OK to skim over code.
- SciPy Optimize Tutorial Recommended
- FFT Algorithm by Cooley and Tukey Recommended
- Mastering SciPy pp. 311-374 (Image Processing) Optional
Day 16 - 11/18
- Mastering SciPy pp. 199-202 (Shortest Path Problems) Recommended
- NetworkX Tutorial Recommended
Day 17 - 11/30
Reading
- Mastering SciPy pp. 292-298 (Dimensionality Reduction) Required
- Tutorial on Spectral Clustering by Ulrike von Luxburg Optional