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, 3rd September : Forward Euler applied to bacterial growth. You can find the code here.

  • Day 2 - Wen, 4th September : Master Equation of 1D diffusion applied to FRAP. You can find a code template here. The solutions can be found here.

  • Day 3 - Thurs, 5th September : Stochastic 1D diffusion applied to FRAP and application to a diffusing element reaching a target. You can find a code template here. The solutions can be found here.

  • Day 4 - Fri, 6th September : Master equation for consitutive gene expression. You can find a code template here. The solutions can be found here.

  • Day 5 - Sat, 7th September : Taylor expansion. You can find a code template here. You can find the solutions here.

  • Day 6 - Mon, 9th September : Bacterial growth. You can find a code template here. You can find the solutions here.

External resources

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