Course Meeting Times

Lectures: 1 session / week, 2 hours / session


Imagine you are a salesman needing to visit 100 cities connected by a set of roads. Can you do it while stopping in each city only once? Even a supercomputer working at 1 trillion operations per second would take longer than the age of the universe to find a solution by considering each possibility in turn. In 1994, Leonard Adleman published a paper in which he described using the tools of molecular biology - including nucleic acids, enzymes, and affinity purification with a biotin-avidin magnetic bead system - to solve a smaller 7-city example of this problem. His paper generated enormous scientific and public interest, and kick-started the field of Biological Computing. Mathematicians, computer scientists, chemists, biologists, and engineers came together to create a new field in which contributions from each are critical for the success of the whole. Currently Biological Computing encompasses many areas of active research. For example, three-dimensional self-assembly of molecules can be used to create stereometrical shapes or to effect computation. Molecule-based string rewrite systems aim to emulate various mathematical models of computation using DNA as rewritable tape. Work in the area of exquisite detection focuses on lowering the number of solution molecules that can be detected, while whole-cell computing focuses on hijacking normal cellular processes for computation. We will discuss how the engineering point of view differs from the scientific perspective, and how each colors one's thinking and approach to research. We will analyze the Adleman paper, as well as papers that came before and after it, and critically examine them with an eye to identifying engineering and scientific aspects of each paper and the interplay between the two. Non-Biology majors welcome. Care will be taken to fill in any knowledge gaps for both scientists and engineers.

Course Format

The course is a weekly seminar based on primary literature. We will discuss two original papers each week. The papers must be read in advance of the class. Our goal will be to critically analyze these papers. To help us achieve that goal, each of you will be expected to send me via email by the morning of the class two discussion questions for the articles covered that day.

In discussing the papers, we will focus on articulating the main point of the paper, identifying whether the paper had a scientific or an engineering goal, and discussing how the various techniques were used or created to achieve that goal. We will further discuss methodology and logic of the papers with a particular focus on whether the techniques used were appropriate for the goals. For small experimental demonstrations of principle, we will also consider potential scalability of the work and its potential applications.

Each class will conclude with a short introduction to the material presented in next week's papers.


This is a discussion class, so attendance is mandatory. You are allowed to miss one of the 12 sessions of the class, but please notify me ahead of time that you will not be there. You will also need to arrange to pick up the papers for the next week from me. If you need to miss a second class, you must talk to me ahead of time so we can arrange an appropriate make-up assignment.


There are two writing assignments and two oral presentation assignments for this course. Written assignments include writing a sample abstract for a previously published paper and a paper which describes in detail a technique and/or method encountered in the class readings. Oral presentations include giving a short formal introduction to an assigned reading and a final presentation on a student selected published paper at the end of the term.


The course is pass/fail. Participation in class discussion, completion of the assignments above, and satisfactory attendance will result in a passing grade.