At PyData NYC 2017, I presented a talk on the intuition behind Deep Learning (DL) and Bayesian DL, using mostly pictures and code, and with as little math as possible.

Slides are available here.

At PyCon 2017, I illustrate, using four statistical analysis problems, how to do parameter estimation and case/control comparison (A/B testing) with PyMC3 code.

Notebooks are available here.

In this tutorial that I co-taught with Hugo Bowne-Anderson (DataCamp) at SciPy 2018, we guide participants through the basics of probability, building an intuition up to Bayes' rule. We then built on top of that to show participants how to use PyMC3, a probabilistic programming language, to do Bayesian estimation, hierarchical modelling, and curve fitting.

Notebooks are available here.

In this tutorial, I show participants how to solve network (graph theoretic) problems using the NetworkX package, covering pathfinding problems, identification of cliques & triangles, saving and opening graphs on disk, and bipartite graphs. In 2018, Mridul Seth and I taught it as a two-part series, where I did the fundamentals, and Mridul led two case studies.

Notebooks are available here.

In this talk, I describe how networks and their applications are ubiquitous, and can be used to solve problems that are otherwise difficult to reason about.

Slides are available here.