Code
During this course, you will develop a computational prowess that will aid in your understanding of physical biology. These will be done using Jupyter notebooks through Google Colab, so you will need to sign into a Google Account to create new notebooks.
We will post links to Jupyter Notebooks hosted on colab of the tutorial sessions here.
Tutorials

Tutorial 0.0 – A Primer On Jupyter Notebooks and Google Colab This tutorial expalins what a Jupyter Notebook is and how to use it on Google Colab

Tutorial 0.1 – A Primer On Python Syntax This tutorial gives a quick intro to programming in Python.
Exercises

Tutorial 1: Basic Image Processing and Counting Elephants from Space In this exercise, we learn some simple techniques of quantitative image processing and try to count elephants in two satellite images.
InClass Code
Elephant Image 1
Elephant Image 2 
Tutorial 2: Spotting Elephants Through Machine Learning In this exercise, we cover the basics of machine learning and create an artificial neuron from scratch to identify “elephants” in a toy dataset.
InClass Code (Day 1)
InClass Code (Day 2)
Example Training Image
Example Training Label Image
Complete Training Dataset
Test Image
Test Label Image 
Tutorial 3: Integrating the Dynamics of Constitutive Expression In this exercise, we use a chemical master equation to dissect dynamics of constitutive expression.
In Class 
Tutorial 4: Diffusion and Random Walks Through stochastic simulations, we explore how diffusion can be understood as a random walk.
In Class 
Tutorial 5: The Taylor Expansion Our inclass exercise on computing and plotting the Taylor expansion of a few functions.
In Class 
Tutorial 6: Autoactivation Here we explore the dynamics and stability of fixed points in the context of autoregulation.

Tutorial 7: MWC State Probabilities and the Mutal Repression Switch Here, we use the MWC model to explore the probabilities of different states and generate our “hydrogen atom” transcriptome.
In Class 
Tutorial 7x: Gillespie simulation of the constitutive promoter As Madhav mentioned in class, we can take a more ‘appropriate’ approach to simulating stochastic processes by considering the fact that rates are variable, and we often only speak in terms of average rates. This tutorial walks you through a Gillespie simulation for expression from a constitutive promoter.

[**Tutorial 8: Control of flagellar lengths in Chlamydomonas</i.>**](https://colab.research.google.com/drive/1QXEEUmS4KKWEBX8uBdBl4pukyJYm3Vg6?usp=sharing) This tutorial presents a combination of numerics and analytics to explore flagellar length control.