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

Be sure to refresh this page to see the most recent version.

Schedule - Fall 2024

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

System Setup

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

Day 00 - 10/01

Class Material

Intro Slides

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

  3. Basic Containers and Packages

Reading

Day 01 - 10/03

Homework

Class Material

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

Reading

Day 02 - 10/08

Class Material

  1. Decorators
  2. Vectorization, numpy ufuncs, numba
  3. Memory layout

Reading

Day 03 - 10/10

Homework

Class Material

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

Reading

Day 04 - 10/15

Homework

Class Material

  1. SciPy BLAS and LAPACK Interfaces
  2. Modules and Packages [GitHub repository]
  3. Convergence of Algorithms
  4. Root Finding

Reading

Day 05 - 10/22

Class Material

  1. Linear operators
  2. Sparse matrix formats, scipy.sparse
  3. Sparse Linear Algebra (We’ll start if there is time)

Reading

10/26

Homework

Day 06 - 10/24

Class material

  1. Sparse Linear Algebra (Continued)
  2. Differentiation

Reading

Day 07 - 10/29

Homework

Class material

  1. Initial Value Problems
  2. Unit testing
  3. Sympy

Reading

Day 08 - 10/21

Class material

  1. More on Plotting
  2. Interpolation
  3. Integration, Quadrature

Reading

Day 09 - 11/05

Homework

Class material

  1. Integration, Quadrature (continued)
  2. Python Iterators and Generators
  3. Condition numbers

Reading

Day 10 - 11/07

Class material

  1. Agent-based modeling
  2. Optimization

Day 11 - 11/12

Homework

Class Material

  1. Pandas
  2. Scikit Learn

Day 12 - 11/14

Class Material

  1. Distances
  2. Nearest Neighbor Queries
  3. Dimensionality Reduction, Plotly

Day 13 - 11/19

Homework

Class Material

  1. Dimensionality Reduction, Plotly (continued)
  2. Linear Algebra in PyTorch
  3. Basic Neural Networks in PyTorch

Project checkpoint - 11/20

Day 14 - 11/21

  1. Scipy distributions
  2. Monte Carlo Methods
  3. Introduction to Fourier methods

Project

Groups finalized 10/21.

Project proposal due 11/5.

Midterm checkpoint due 11/20.

Final Project report due 12/11.

Finals Period

College reading period is 12/7-12/9