Many homework problems in this course will require you to write computer programs to solve them. No prior programming experience is needed for this course and all materials necessary to learn the required skills will be available through the course.
Tutorials
We will have several computational tutorials throughout the term. As the course progresses, these materials will be posted below. Note: In some browsers (Firefox primarily), the end of each sentence is clipped off, making it difficult to read. If this is occurring, please try using another browser (Chrome, Safari, etc).
-
Tutorial 0a: Configuring your computer | This tutorial will walk you through how to install a Python 3.6 scientific computing environment.
-
Tutorial 0b: Using the Jupyter notebook | This tutorial will teach you how to write code and text in Jupyter notebooks for homework submissions.
-
Tutorial 0c: A Primer on Python Syntax | This tutorial will walk you through the basics of programming in Python.
-
Tutorial 1: Basic DNA Sequence Analysis | This tutorial will introduce you to reading and analyzing DNA sequences from a file. [data set]
-
Tutorial 2: Numerical Integration | Here, you will learn how to write your own Forward-Euler numerical integrator to investigate radioactive decay.
-
Tutorial 3: Stochastic Simulations | Here, we summarize how to write stochastic simulations and examine one-dimensional diffusion and genetic drift. }}
-
Tutorial 4: Quantitative Image Processing | In this tutorial, you will learn some principles of computational image processing and more details about how we experimentally test our predictions regarding the fold-change in gene expression. [data set]
-
Tutorial 5: Nonlinear Regression | One of the most useful skills any scientist can possess is a strong knowledge of statistics. Here, we will stick our toes in these waters by learning how to perform a nonlinear regression on a single parameter. [data set]
-
Tutorial 6: Integrating Master Equations | We advance our skills of performing numerical integration from tutorial two to consider the diffusion of particles over time and track their spatial distributions.
-
Tutorial 7: Image Processing with Mouse Clicks | Sometimes, writing code to do automated image analysis can be burdensome or impossible. In this tutorial shows you how you can use your mouse to mark positions of the cephalic furrow on images of Drosophila embryos. [data set]
External resources
Below is a list of useful online resources for learning the Python programming language and principles of programming in general.