BE/CS/CNS/Bi 191ab:  Biomolecular Computation
Professor: Erik Winfree


This page is archival for Winter 2021. The previous incarnation was Winter 2019.

Description from the course catalog:
BE/CS/CNS/Bi 191 ab. Biomolecular Computation. 9 units (3-0-6) second term; (2-4-3) third term. Prerequisite: none. Recommended: ChE/BE 163, CS 21, CS 129 ab, or equivalent. This course investigates computation by molecular systems, emphasizing models of computation based on the underlying physics, chemistry, and organization of biological cells. We will explore programmability, complexity, simulation of and reasoning about abstract models of chemical reaction networks, molecular folding, molecular self-assembly, and molecular motors, with an emphasis on universal architectures for computation, control, and construction within molecular systems. If time permits, we will also discuss biological example systems such as signal transduction, genetic regulatory networks, and the cytoskeleton; physical limits of computation, reversibility, reliability, and the role of noise, DNA-based computers and DNA nanotechnology. Part a develops fundamental results; part b is a reading and research course: classic and current papers will be discussed, and students will do projects on current research topics. Instructor: Winfree.


All course content for Winter 2021 is accessible via Caltech's Canvas system.
There, in addition to course policies and syllabus, you will find links to Microsoft OneNote lecture notes, Mathematica notebooks for lectures and homework, recorded Zoom lecture videos stored on Google Drive, and the course's Ed Discussion forum for Q/A. Slightly revised and cleaned up course material is available on this password-protected page.

Note regarding Spring term BE/CS/CNS/Bi 191b:
In the spring term, I have sometimes taught a class that begins by reading and discussing classic and contemporary research papers on biomolecular computation, and also includes a mini research project.