Solo-Group: Molecular Programming and Unconventional Computing

Hiring

  • Seeking talented graduate students and postdocs with an interest in one or both of the following:
    (1) theoretical computer science / discrete math / algorithms, or
    (2) (wet lab) molecular biology. Experimental postdoc job posting (pdf)
  • Also seeking postdoc to study theoretical foundations of analog computation.

Recent News

David is co-chairing the DOE/ASCR Workshop on Analog Computing for Science, Sep 11-13, 2024.

Spring 2024: Welcome to Tony and Hamidreza who have joined our research group!

October 2023: David is named Schmidt Science Polymath.

All news...

Research: Chemical and Unconventional Computation

There are currently only three kinds of computing hardware prevalent on Earth: electronic computers, living brains, and chemical regulatory networks, the last occurring within every cell in every living organism. Computer Science has traditionally focused on the first, with recent advances on the second, but the algorithmic principles of the third have remained largely unexplored.

  • Molecular programming: engineering smart molecules

    Using DNA hybridization and strand displacement cascades we build molecular interactions for synthetic biology, nanotechnology, and bioengineering in our wet-lab. We use chemical kinetics and thermodynamics as programming languages.

    How is molecular programming different from synthetic biology? While synthetic biology typically adapts complex evolved and ill-understood biological parts (e.g. enzymes), molecular programming aims to build functionality completely from first principles.

    [Molecular Programming Community: organizations, conferences, podcasts]

  • Unconventional computing: models of chemical, analog, reversible, and quantum computation

    We use formal models to discover the potential and limits of chemical information processing. Many of our results generalize beyond chemistry to "extreme" distributed computing, where computation is an emergent phenomenon, as well as to analog computation.

    For low energy computation and for quantum computing, computation must "look similar" both forward and backward in time (reversible computation). We also study such computation and develop tricks to optimize it.