Instructor guide#

While this is meant as internal documentation for the instructor, others are welcome to read it.

Adding/updating packages#

  1. Modify environment.yml

  2. Run

    make update_packages
    
  3. Manually update the notebooks with interactivity

  4. Update environment in JupyterHub

    mamba env update --file extras/environment.yml --prune
    

Slides#

While the lecture notes can be viewed as a plain notebook, they are also visible as slides.

make slides lec=N

Site#

The site is generated using JupyterBook and deployed to ReadTheDocs. Markdown (.md) files and the files and folders that start with an underscore (_) are related to JupyterBook.

The HTML can be downloaded as an artifact from the latest Publish Action.

Building locally#

  1. Stage changes in Git, as they will be overwritten.

  2. If on the nyu branch, run:

    ./extras/scripts/build.sh
    
  3. If on main or other branches, run:

    ./extras/scripts/school_ci.sh <school>
    

Notebook cleanup#

To ensure that notebooks have the correct execution order and output, run them non-interactively.

./extras/scripts/update.sh <file>.ipynb

Start of class checklist#

  • Put out attendance sheet

  • Connect to screen

  • Start Amphetamine

  • Set phone and laptop to Do Not Disturb

  • Run lecture notebook

  • Set placeholders

Data sets#

Canonical copies of data are in a Google Drive folder, synced locally with Google Drive for desktop. Data is then compressed and uploaded to a Google Cloud Storage bucket via Terraform. Descriptions of the data sets.

gcloud auth application-default login

JupyterHub troubleshooting#

Most of the issues are around Plotly rendering. Things that have been hit repeatedly:

See also#

Autograder#

Requires Docker. Put files in extras/autograder/submission/, then run:

make autograde

Contacts#