Campbell Hall 141: Monday 4 - 7 PM SPRING 2022
Synopsis
Python has become the de facto superglue language for modern scientific computing. In this course we will learn Pythonic interactions with databases, imaging processing, advanced statistical and numerical packages, web frameworks, machine-learning, and parallelism. Each week will involve lectures and coding projects. In the final project, students will build a working codebase useful for their own research domain.
This class is for any student working in a quantative discpline and with familiarily with Python. Those who completed the Python Bootcamp or equivalent will be eligible.
Course Schedule
Date | Content | Reading | Leader |
---|---|---|---|
Jan 24 | Pandas, Scipy, & Numpy |
- scipy ยงยง 1.3, 1.5, 2.2 - numpy - skim chap 4/5 of McKinney |
Josh |
Jan 31 | Data vizualization (Matplotlib, Bokeh, Altair, Plotly) | - Skim Tufte's Vizualization book - colormap talk (Scipy 2015) |
Josh |
Feb 7 | Application building and Testing | None | Josh |
Feb 14 | Parallelism (asyncio, dask, ray, jax) | - ipyparallel docs | Josh |
Feb 21 | Holiday (no class) | ||
Feb 28 | Database interaction (sqlite, postgres, SQLAlchemy, peewee), Large datasets (xarray, HDF5) |
None | Josh |
Mar 7 | Machine Learning I (sklearn, NLP) | None | Josh |
Mar 14 | Machine Learning II (keras [tensorflow], pytorch) | None | Josh |
Mar 21 | Spring Break | ||
Feb 28 | Interacting with the world (requests, email, IoT/pyserial) | None | Josh |
Apr 4 | Image processing (OpenCV, skimage) | None | TBD |
Apr 11 | Web frameworks & RESTful APIs, Flask | None | Josh |
Apr 18 | Bayesian programming & Symbolic math | Probabalistic Programming eBook install: pip install pymc3 |
TBD |
Apr 25 | Speeding it up (Numba, Cython, wrapping legacy code) | TBD | Josh |
Onward | final project work |
Workflow
Each Monday we will be introducing a resonably self-contained topic with two back-to-back lectures. In between a short (~20 minute) breakout coding session will be conducted. Homeworks will require you to write a large (several hundred line) codebase.
Contact
Email us at ucbpythonclass@gmail.com or contact the professor directly (joshbloom@berkeley.edu). Auditing is not permitted by the University but those wishing to sit in on a class or two should contact the professor before attending.