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

Schedule - Fall 2020

This Schedule is for Fall 2020. The website for the Fall 2021 version of the class is here. This page will be updated for Winter 2022.

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

Class Material

Slides for course introduction (use UChicago login). [Zoom Recording - first 20 min are slides, second 25 min are questions]

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

Reading

Day 01 - 10/2

Homework

Class Material

  1. Bits, Bytes, and Numbers [Video]
  2. Basic Containers and Packages [Video]
  3. Asymptotic notation [Video]
  4. Python Scripts [Download] [Video Walkthrough]

Reading

Day 02 - 10/5

Class Material

  1. Functions in Python [Video]
  2. Decorators [Video]
  3. Recursion [Video]

Reading

Day 03 - 10/7

Class Material

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

Reading

Day 04 - 10/9

Homework

If you are still new to git, see collaboriating with git [Video]

Class Material

  1. Convergence of Algorithms [Video]
  2. Root Finding [Video]

Reading

Day 05 - 10/12

Class Material

  1. Vectorization, numpy ufuncs, numba [Video]
  2. Memory layout [Video]

Reading

Day 06 - 10/14

Class Material

  1. Dense Linear Algebra [Video]

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 07 - 10/16

Homework

Class Material

  1. SciPy BLAS and LAPACK Interfaces [Video]

Reading

Day 08 - 10/19

Class Material

  1. Sparse matrix formats, scipy.sparse [Video]
  2. Linear operators [Video]

Reading

Day 09 - 10/21

  1. Sparse Linear Algebra [Video]

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

Reading

Day 10 - 10/23

Homework

Class Material

  1. Python Iterators and Generators [Video]
  2. Agent-based modeling [Video]

Reading

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

Day 11 - 10/26

Class Material

  1. Symbolic Computing with SymPy [Video]
  2. Differentiation [Video]

Reading

Day 12 - 10/28

Class Material

  1. Initial Value Problems [Video]

Reading

Day 13 - 10/30

Homework

Class Material

  1. Unit testing [Video]
  2. setuptools, packaging [Video]

Link to python-packages repository which is used in the videos.

Reading

Day 14 - 11/2

Class Material

  1. More on Plotting [Video]
  2. Basic Interpolation [Video]

Reading

Day 15 - 11/4

Class Material

  1. Intro to RCC [Video by Yian]
  2. Integration, Quadrature [Video]

Reading

Day 16 - 11/6

Homework

Class Material

  1. Optimization [Video]

Reading

Day 17 - 11/9

Class Material

  1. Boundary Value Problems [Video]

Reading

Day 18 - 11/11

Class Material

  1. Pandas [Video]

Reading

Day 19 - 11/13

Project

Midterm Checkpoint Due. See guidelines.

Homework

Class Material

  1. Scikit Learn [Video]

Reading

Day 20 - 11/16

Homework

Class Material

  1. Distances [Video]
  2. Nearest Neighbor Queries [Video]

Reading

Day 21 - 11/18

Class Material

  1. Graphs [Video]
  2. NetworkX [Video]

Reading

Day 22 - 11/20

Homework

Class Material

  1. Spectral Graph Theory [Video]
  2. Dimensionality Reduction, Plotly [Video]

Reading

Thanksgiving Break

Thanksgiving break is 11/23-11/27

Day 23 - 11/30

Class Material

  1. Linear Algebra in PyTorch [Video]
  2. Basic Neural Networks in PyTorch [Video]

Reading

Day 24 - 12/2

Class Material

  1. Convolutions & FFT [Video]

Reading

Day 25 - 12/4

Homework

Class Material

  1. Scipy stats [Video]

Reading

Reading Period

Reading Period is 12/5-12/7

Finals Period

Final Project due 12/9. See repository