Be sure to refresh this page to see the most recent version.
Schedule - Fall 2025
This course follows a Tuesday/Thursday schedule. There is a section for each day, with materials for that day. This schedule is subject to change before a class is held.
Schedule Archives: Fall 2020 Fall 2021 Winter 2022 Fall 2023 Fall 2024
System Setup
Day 00 - 09/30
Class Material
Reading
- Discrete or Continuous? by N. Trefethen. Required
- 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
- Top-10 Algorithms of the 20th Century by B. Cipra. Recommended for those interested in the culture of scientific computing.
Day 01 - 10/02
Homework
- Homework 0 released.
- See the git tutorial if you are not familiar with git version control.
Class Material
Reading
- Functions Required
- More on defining functions Required
- Function definitions Recommended
Day 02 - 10/07
Class Material
Reading
- NumPy Ufuncs Recommended
Day 03 - 10/09
Homework
- Homework 0 due.
- Homework 1 released.
Class Material
- Python Objects, OOP (continued)
- Dense Linear Algebra 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 13 - 18 (Creation of matrices) required
- 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
- LAPACK on netlib Optional
-
BLAS on netlib Optional
- Classes Required at least through 9.5 (inheritance)
- Class definitions Recommended
Day 04 - 10/14
Class Material
- Dense Linear Algebra (Continued)
- SciPy BLAS and LAPACK Interfaces
- Modules and Packages [GitHub repository
- Convergence of Algorithms
- Root Finding
Reading
- Modules Required
- Newton’s Method on Wolfram Mathworld Recommended
Day 05 - 10/16
Class Material
Reading
- Mastering SciPy pp 19 - 28 (Creation of sparse matrices, linear operators) Required
- Mastering SciPy pp 105 - 110 (Differentiation) Required
Project
Groups finalized 10/20.
Project proposal due 11/4.
Midterm checkpoint due 11/19.
Final Project report due 12/11.
Finals Period
College reading period is 12/6-12/8