Home | Syllabus | Schedule | Reader | Canvas | Resources | View on GitHub

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

  1. Basic Bash
  2. Install Anaconda Python
  3. Install Jupyter notebooks
  4. Using Python

Day 00 - 09/30

Class Material

Intro Slides

  1. Python Scripts [Example Script] [Download Example]
  2. Python Basics

  3. Basic Containers and Packages

Reading

Day 01 - 10/02

Homework

Class Material

  1. Functions in Python
  2. Recursion
  3. Bits, Bytes, and Numbers
  4. Asymptotic notation

Reading

Day 02 - 10/07

Class Material

  1. Decorators
  2. Vectorization, numpy ufuncs, numba
  3. Memory layout
  4. Python Objects, OOP

Reading

Day 03 - 10/09

Homework

Class Material

  1. Python Objects, OOP (continued)
  2. 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

Day 04 - 10/14

Class Material

  1. Dense Linear Algebra (Continued)
  2. SciPy BLAS and LAPACK Interfaces
  3. Modules and Packages [GitHub repository
  4. Convergence of Algorithms
  5. Root Finding

Reading

Day 05 - 10/16

Class Material

  1. Linear operators
  2. Sparse matrix formats, scipy.sparse
  3. Sparse Linear Algebra

Reading

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