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

Schedule - Winter 2022

The start of Winter quarter has been delayed 1 week, and the following 2 weeks will be online.

This course follows a Monday/Wednesday 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

System Setup

  1. Basic Bash [Video Walkthrough]
  2. Install Anaconda Python [Video Walkthrough]
  3. Install Jupyter notebooks [Video Walkthrough]
  4. Using Python

Day 00 - 1/10

Class Material

Lecture Video

Slides for course introduction

  1. Python Basics
  2. Bits, Bytes, and Numbers
  3. Basic Containers and Packages
  4. Python Scripts [Example Script] [Download Example]

Reading

Day 01 - 1/12

Homework

Class Material

Lecture Video

  1. Functions in Python
  2. Asymptotic notation
  3. Decorators
  4. Recursion

Reading

Day 02 - 1/17

MLK Day. No class

Day 03 - 1/19

Homework

Class Material

Lecture Video

  1. Python Objects, OOP
  2. Modules and Packages [GitHub repository]

Reading

Day 04 - 1/24

Class Material

Lecture Video

  1. Convergence of Algorithms
  2. Root Finding
  3. Vectorization, numpy ufuncs, numba

Reading

Day 05 - 1/26

Homework

Class Material

Lecture Video

  1. Memory layout
  2. Dense Linear Algebra
  3. SciPy BLAS and LAPACK Interfaces

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 06 - 1/31

Class Material

Lecture Video

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

Reading

Day 07 - 2/2

Homework

Class Material

Lecture Video

  1. Agent-based modeling
  2. Python Iterators and Generators
  3. Sparse Linear Algebra (We’ll start if there is time)

Reading

You may also want to look at the Wikipedia entry for Agent-based model

Day 08 - 2/7

Class Material

Lecture Video

  1. Unit testing
  2. setuptools, packaging
  3. Sparse Linear Algebra

Sparse direct methods, iterative methods, ARPACK, randomized linear algebra.

Reading

Day 09 - 2/9

Homework

Class Material

Lecture Video

  1. Symbolic Computing with SymPy
  2. Differentiation
  3. Initial Value Problems

Reading

Day 10 - 2/14

Class Material

Lecture Video

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

Reading

Day 11 - 2/16

Homework

Class Material

Lecture Video

  1. Intro to RCC
  2. Optimization

Reading

Day 12 - 2/21

Class Material

Lecture Video

  1. Optimization (continued)
  2. Boundary Value Problems
  3. Pandas (if time)

Reading

Day 13 - 2/23

Homework

Project

Midterm Checkpoint Due. See guidelines.

Class Material

Lecture Video

  1. Pandas
  2. Scikit Learn

Reading

Day 14 - 2/28

Class Material

Lecture Video

  1. Scikit Learn
  2. Distances
  3. Nearest Neighbor Queries

Reading

Day 15 - 3/2

Homework

Class Material

Lecture Video

  1. Graphs
  2. NetworkX

Reading

Day 16 - 3/7

Class Material

Lecture Video

  1. Spectral Graph Theory
  2. Dimensionality Reduction, Plotly

Reading

Day 17 - 3/9

Homework

Class Material

  1. Linear Algebra in PyTorch
  2. Basic Neural Networks in PyTorch

Reading

Finals Period

College reading period is 3/12-3/14

Final Project report due 3/18.