BE/CS/CNS/Bi 191ab:  Biomolecular Computation
Professor: Erik Winfree
Winter term: Guest lecturer, class #1: Damien Woods. Teaching assistants: Robert Johnson and Josie Kishi

This page was for Winter/Spring 2014, and is now archived. The previous incarnation was Winter/Spring 2013.

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.

Time & Place: 
BE/CS 191a: Winter 2014, Annenberg 107, Tu & Th 10:30am-11:55am
BE/CS 191b: Spring 2014, Annenberg 106, Th 7:30pm-10:00pm

Office hours:
Please start your homework set early, and come to the first relevant TA session. The homework will usually be too much to do at the last minute, and planning for this is your responsibility.
TAs (191a only): Every Sunday from 7-8pm and every Wednesday from 9-10pm in the Moore 204 conference room. TAs can also be reached by email at rfjohnso * and jkishi *, although complex questions may be better answered at and deferred to the office hours.
Prof: Thursdays from 2-3pm in Moore 204. This is for issues that can't be handled by the TA only. Email is answered, though often not quickly, at winfree *

None. Please attend class. Everything you need to know should be presented there. The references suggested below are optional further reading, but neither sufficient nor necessary.

Syllabus for 191a:
The syllabus as presented gives you a rough idea of what will be in the class, but it is subject to change in detail. The topics and references should be considered final only on the day of the lecture, and after. Prior to that, the topics and links may be revised.

Note: reference links may require a Caltech IP address.

The expectation is that homework will be handed out in class every other Tuesday, and due by email as a single PDF file before 11:59pm on Monday 13 days thereafter. I expect to assign five homework sets.

Grading Policy for 191a:
There will be roughly one problem per class lecture, with homework sets due roughly every other week. There is no midterm or final.
Homeworks: Homeworks will be graded on a 0-10 scale for each problem.
Late policy: Late homework up to 24 hours late will be penalized by 10%, i.e. the score will be multiplied by 0.9 after grading. For two-day late HW (i.e up to 48 hours), the penalty will be 20%. The penalty increases by 10% per day, until a 9 day late homework's score is multiplied by 0.1, and a 10 day late homework gets no credit. The homework sets are hard, but ample time is given. Start as soon as they are handed out.
Grade composition: Your class grade will be based on homeworks only.
Collaboration policy: For all problem sets, you may discuss problems with other students prior to writing anything down, but what you turn in must be entirely written by you, by yourself, including any program code. For more detail and discussion, see the nice write-up for CS11, which applies here for both program code and mathematical derivations, and in spirit applies to other aspects of your class work.

Accompanying Files for Homework:
For problem set 3, stack_machine.dna.

Helpful background:

Description for 191b:
In the spring term, we will begin by reading and discussing classic and contemporary research papers on biomolecular computation. Simultaneously, you will formulate and explore a mini-project (theory or simulation) of your own choosing. Each week you will hand in a written critique of the reading and a summary of your research progress (1 page each). At the end of the class, you will hand in a 5-10 page report on your research project.

Selected reading list for BE/CS 191b, and schedule of presentations:

Optional reading list for BE/CS 191b: