Skip to content

Repository files navigation

Python Computing for Data Science

An Upper-Division Undergraduate/Graduate Seminar Course at UC Berkeley (AY 250)

Campbell Hall: Friday 1 - 4 PM FALL 2016

Synopsis

Python has become the de factosuperglue 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 quantitative discipline and with familiarity with Python. Those who completed the Python Bootcamp or equivalent will be eligible

Course Schedule

DateContentReadingLeader
Aug 26Advanced Python Language Concepts (decorators, OrderedDict,
Generators, Iterables, Context Managers)
- GIT
- scipy §2.1
Josh
Sep 2Pandas, Scipy, & Numpy- scipy §§ 1.3, 1.5, 2.2
- numpy
- skim chap 4/5 of McKinney
Josh
Sep 9Data vizualization (Matplotlib, Bokeh, Altair, Plotly, mayavi)- Skim Tufte's Vizualization book
- colormap talk (Scipy 2015)
Josh
Sep 16Interacting with the world (requests, email, IoT/pyserial)NoneJosh
Sep 23Parallelism (asyncio, dask, IPython cluster)- [ipyparallel docs] (http://ipyparallel.readthedocs.io/en/latest/intro.html)Josh
Sep 30Database interaction (sqlite, postgres, SQLAlchemy, peewee),
Large datasets (xarray, HDF5)
NoneJosh
Oct 7Web frameworks & RESTful APIs, FlaskNoneJosh
Oct 14Machine Learning I (sklearn, NLP)NoneJosh
Oct 21Machine Learning II (keras [tensorflow])NoneJosh
Oct 28Image processing (OpenCV, skimage)NoneStefan van der Walt
Nov 4Bayesian programming & Symbolic mathProbabalistic Programming eBook
install:
pip install pymc3
Brett Naul
Nov 11holiday
Nov 18Computational Frameworks (Docker, AWS, Azure, AWS-Lambda)TBDJosh
Nov 25holiday
Dec 2Speeding it up (Numba, Cython, wrapping legacy code)TBDJosh
Dec 5/Onwardfinal project work
Onward

Sidebar Concepts

Throughout these lectures we will be peppering in sidebar knowledge concepts:

  • Jupyter & JuypterLab
  • using git & github
  • Docker
  • Data science workflows
  • reproducible research
  • application building
  • debugging
  • testing

Workflow

Each Friday 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.

Help sessions will be conducted interactively on the Piazza site for the course. There is also an in-person help session every Tuesday from 11am-noon at BIDS (in Doe library). Email Josh with any questions.

Contact

Email us at ucbpythonclass@gmail.com or contact the professor directly (joshbloom@berkeley.edu). You can also contact the GSI, Goutam & Hadrien, at (hadrien.renold@berkeley.edu, (goutam.murlidhar@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.

About

Python Seminar Course at UC Berkeley (AY 250)

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages