ECS 289A: Theory of Molecular Computation
Winter 2021

Course announcement (PDF)


Dave Doty
Office: Zoom link
Office hours: Wed 10:00-11:00am


Tuesday and Thursday, 9:00-10:20am, Zoom link

Course objective

To study the fundamental abilities and limits to the engineering of automated (i.e., computational) molecular systems, in a mathematically rigorous way.


ECS 120 or equivalent (familiarity with Chapters 1,3,4,7 of Introduction to the Theory of Computation by Sipser).

Prior experience with probability theory is useful; in particular, Chapters 1-2 of Probability in Computing: Randomized Algorithms and Probabilistic Analysis, by Mitzenmacher and Upfal.


The Campuswire page for the course can be used to ask questions about the course and homework. Please use Campuswire instead of email unless the question is of a personal nature.


lecture notes (note that these are not comprehensive since I often take material straight from a paper)


slides (these are new this quarter, not as detailed as the notes, but I hope to be a bit easier to follow)


There is a Canvas page with the homework posted.


Project ideas


Algorithmic tile self-assembly

  1. Tues, Jan 5, 2021
    Introduction to course, introduction to abstract Tile Assembly Model (aTAM)
    aTAM video introduction
    ISU TAS simulator
  2. Thurs, Jan 7, 2021
    tile complexity of assembling squares
    O(log n) tile types for assembling an n x n square
    Ω(log n / log log n) tile types necessary to assemble an n x n square
    paper: The Program-Size Complexity of Self-Assembled Squares,
    O(log n / log log n) tile types sufficient to assemble an n x n square
    paper: Running Time and Program Size for Self-assembled Squares
  3. Tues, Jan 12, 2021
    formal definition of the aTAM
  4. Thurs, Jan 14, 2021
    simulation of Turing machine with a tile assembly system
    assembling scaled-up version of any finite shape from optimal number of tile types
    paper: Complexity of Self-Assembled Shapes,
    computable shape not strictly self-assembled by any TAS
    paper: Strict Self-Assembly of Discrete Sierpinski Triangles,
    computable set not weakly self-assembled by any TAS
    paper: Computability and Complexity in Self-Assembly
  5. Tues, Jan 19, 2021
    concentration programming
    paper: Randomized self-assembly for exact shapes
    finite shape that requires more tile types to strictly self-assemble with a directed TAS than a non-directed TAS
    paper: The Power of Nondeterminism in Self-Assembly