Programming

Tutorials

We will explore computational tactics using several tutorials in the course. While we code live together, we will do these using Python Jupyter notebooks hosted on Google Colab, which runs code entirely in your browser/on the cloud so no local configuration is required. To create new notebooks (or save progress) on Colab, you will need to sign into a Google account, so if you do not already have one, please create one before the course.

Optional Python syntax cheat-sheets:

For tinkerers/quite optional local setup: Colab is ideal for our rapid investigations together; it provides a uniform, convenient computing environment for all of us. However, it has limits (specifically, some modest constraints on alotted computational resources, and runtimes that expire after ~24hr). For your future research, you may want the unrestricted speed and control offered by running Python on your own computer. If you would like to set up Python/Jupyter on your own computers, follow Tutorial 0a below:

  • Tutorial 0a Setting up Python | This tutorial will walk you through how to install a Python 3.8 scientific computing environment. [Nota bene: Specifically during the bootcamp, if you choose to use your own local Python instead of Colab, please know you accept the fun responsibility of managing the quirks of your local computing environment. Our class setting will limit the ability for us to help troubleshoot package management issues on inevitably-eccentric installations. So we can focus on thinking, we strongly recommend using Colab during our time together, but afterwards encourage you to explore & hack the universe on your own equipment.]

Syllabus for Computational Sessions and Datasets

  • Day 1 - Tues, 2nd September : Forward Euler applied to bacterial growth. You can find the code here.

  • Day 2 - Wed, 3rd September : Looking at constitutive gene expression, and its master equation. In this tutorial, we also reviewed some fundamental coding syntax. You can find a code template here.

  • Day 3 - Thurs, 4th September : Stochastic 1D diffusion applied to a diffusing element reaching a target. You can find the code here. for binomial vs poisson here.

  • Day 4 - Fri, 5th September : Genetic drift. You can find a code template here.

  • Day 5 - Sat, 6th September : Eigenworm. You can find a code template here.

  • Day 6 - Mon, 8th September : Gillespie You can find a code template here.

External resources

Below is a list of useful online resources for learning the Python programming language and principles of programming in general.