Homepage
Welcome to Python Computing for Data Science
An Undergraduate/Graduate Seminar Course at UC Berkeley (AY 250)
CAMPBELL HALL: Friday 1 - 4 PM FALL 2016
Synopsis
Python Links to an external site. is becoming the de facto superglue language for modern scientific computing Links to an external site.. 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 Links to an external site. or equivalent will be eligible
Course Schedule
Date | Content | Reading | Leader |
---|---|---|---|
Aug 26 |
Advanced Python Language Concepts (decorators, OrderedDict, Generators, Iterables, Context Managers) |
- GIT
Links to an external site. - scipy §2.1 Links to an external site. |
Josh |
Sep 2 | Pandas, Scipy, & Numpy | - scipy §§ 1.3
Links to an external site., 1.5
Links to an external site.,2.2
Links to an external site. - numpy Links to an external site. |
Josh |
Sep 9 | Data vizualization (Matplotlib, Bokeh, Altair, Plotly, mayavi) | TBD | Josh |
Sep 16 | Interacting with the world (requests, email, IoT/pyserial) | TBD | Josh |
Sep 23 | Parallelism (asyncio, dask, IPython cluster) | TBD | Josh |
Sep 30 |
Database interaction (sqlite, postgres, SQLAlchemy), Large datasets (xarray, HDF5) |
TBD | Josh |
Oct 7 | Image processing (OpenCV, skimage) | TBD | Stéfan van der Walt |
Oct 14 | Machine Learning I (sklearn, NLP) | TBD | Josh |
Oct 21 | Machine Learning II (keras [tensorflow]) | TBD | Josh |
Oct 28 | Bayesian programming & Symbolic math | TBD | Brett |
Nov 4 | Web frameworks & RESTful APIs, Flask | TBD | Josh |
Nov 11 | holiday | ||
Nov 18 | Computational Frameworks (Docker, AWS, Azure, AWS-Lambda) | TBD | Josh |
Nov 25 | holiday | ||
Dec 2 | Speeding it up (Numba, Cython, wrapping legacy code) | TBD | Josh |
Dec 5/Onward | final 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 reasonably 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.
Email Josh with any questions if you cannot attend.
Contact
Email us at ucbpythonclass@gmail.com or contact the professor directly (jbloom@astro.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.