View on GitHub

Python Computing for Data Science

Graduate Seminar Course at UC Berkeley (AY 250)

Download this project as a .zip file Download this project as a tar.gz file
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
Binder
- 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.