Circuits, Computation and Biology
Semester: Spring, 2014
Time: Wed. and Fri., 2:30pm - 3:45pm. (Also offered through UNITE.)
This course explores connections between engineering concepts — circuit theory, digital computation and distributed computing in particular — and biological systems. A broad theme is the application of expertise from the former to the latter — specifically, the application of algorithmic and computational expertise from circuit design to the analysis and synthesis of biochemical and neural systems.
This course is aimed at a wide audience: graduate students and upper-level undergraduates from engineering, computer science, mathematics, biology and the life sciences. No prior knowledge of engineering or biology is assumed; only basic college-level mathematics is required. While the course investigates a variety of topics from disparate fields, it does not attempt to survey the research exhaustively. Rather, it strives for depth and mathematical rigor in select areas.
Topics that are covered include:
- Analyzing and Simulating Stochastic Chemical Kinetics
- Computing with Molecular Reactions
- Computing Logical Functions
- Computing Iterative Functions
- Computing Stochastic Functions
- Digital Signal Processing
- DNA Strand Displacement Reactions
- Nanoscale Switching Lattices
- Circuits with Feedback
- Logical Computation on Random Bit Streams
- Linear Threshold Logic
- Conditional Permutations
- Distributed Coordination
- Graph-based Data Structures for Boolean Functions
- Symbolic Boolean Data Structures
- Neural Computation
- Wed. and Friday, 2:30pm - 3:45pm, Keller Hall, 3-230
- Mon. 1 - 3pm (or by appointment)
Text & Manuals
- No textbook is required.
- Research papers (in the form of PDFs) will be posted for most of the research topics that are covered.
- Homework: 80%
- best 4 of 5 homeworks
- Quizzes: 20%
- best 10 of 12 quizzes
(Complete the quizzes during the first 10 minutes of class. Or do them outside of class. Redo them if you get any questions wrong. Ask me to explain the answers and then resubmit them. Basically, you can't not get this 20% unless you don't try.)
Letter grades will be assigned according to the following (absolute) scale:
|A ≥ 90%,||A- ≥ 85%,|
|B+ ≥ 80%,||B ≥ 75%,||B- ≥ 70%,|
|C+ ≥ 65%,||C ≥ 60%,||C- ≥ 55%,|
|D ≥ 40% (or having a pulse),|
|F < 40%.|
Even though the grading is quantitative and objective, we must state the following university grading standards. According to University policy, grades are assigned with the following meaning:
- A - Achievement that is outstanding relative to the level necessary to meet course requirements.
- B - Achievement that is significantly above the level necessary to meet course requirements.
- C - Achievement that meets the course requirements in every respect.
- D - Achievement that is worthy of credit even though it fails to meet fully the course requirements.
- S - Achievement that is satisfactory (equivalent to a C or better).
- F (or N) - Represents failure (or no credit) and signifies that the work was either completed, but at a level of achievement that is not worthy of credit, or was not completed and there was no agreement between the instructor and the student that the student would be awarded an incomplete.
- I (Incomplete) - Assigned at the discretion of the instructor when, due to extraordinary circumstances, a student is prevented from completing the work of the course on time. Assignment of an ‘‘I’’ grade requires a written agreement between the instructor and the student. ‘‘Extraordinary circumstances’’ are such things as hospitalization, serious car accidents, and major illnesses. They do not include excuses such as ‘‘working too much,’’ ‘‘took too many credits,’’ and so forth. Furthermore, an ‘‘I’’ can be assigned only when a small portion of the course remains to be completed.
Per UNITE policy, videos of the lectures can only be posted 10 days after the fact. Slides will be posted immediately.
- Jan. 31, 2014: Slides, Video. Topic: More discussion motivating the "Circuits" part of course. Discussion motivated the "Computation" part of the course.
- Feb. 21, 2014: Video. Topic: Synthesizing a Molecular "Stock Portfolio." The Lambda Phage and its stock portfolio.
- Mar. 5, 2014: Slides. Topic: Digital Logic with Molecular Reactions.
- Mar. 14, 2014: Slides, Video. Topics: Synchronous Computation with Molecular Reactions, intro to XOR function.
- Mar. 26, 2014: Video. Topic: Computing XOR with AND gates, part I.
- Mar. 28, 2014: Video. Topic: Computing XOR with AND gates, part II.
- Mar. 28, 2014: Video. Topics: Neural Logic. Computing XOR with Neural Gates.
- April 2, 2014: Slides. Topics: Chimpanzee Model of Computation. Sorting, part I.
- April 4, 2014: Slides. Topic: Sorting, part II.
- April 9, 2014: Slides. Topic: Computing with Permutations, part I.
- April 11, 2014: Topic: Computing with Permutations, part II.
- B. Fett, J. Bruck, and M. Riedel, "Synthesizing Stochasticity in Biochemical Systems," Proceedings of the Design Automation Conference, San Diego, 2007.
- P. Senum and M. Riedel, "Rate-Independent Constructs for Chemical Computation," PLoS ONE, Vol. 6, No. 6, pp. 1–12, 2011.
- D. Soloveichik, G. Seelig, and Erik Winfree, "DNA as a Universal Substrate for Chemical Kinetics," Proceedings of the National Academic of Sciences, Vol. 107, No. 12, pp. 5393–5398, 2010.
- M. Riedel and J. Bruck, "Cyclic Boolean Circuits," Discrete Applied Mathematics, Vol. 160, No. 13–14, pp. 1877–1900, 2011.
- W. Qian and M. Riedel, "Synthesizing Logical Computation on Stochastic Bit Streams," ACM/IEEE Design Automation Conference, pp. 648–653, 2008.
- M. Altun and M. Riedel, "Logic Synthesis for Switching Lattices," IEEE Transactions on Computers, Vol. 61, No. 11, pp. 1588–1600, 2012.
- M. Altun and M. Riedel, "Synthesizing Logic with Percolation in Nanoscale Lattices," International Journal of Nanotechnology and Molecular Computation, Vol. 3, No. 2, pp. 12–30, 2011.
- E. F. Moore and C. E. Shannon, "Reliable Circuits Using Less Reliable Relays," Journal of the Franklin Institute, Vol. 262, pages 191–208, 1956.
- W. Qian and M. Riedel, "Synthesizing Logical Computation on Stochastic Bit Streams," Proceedings of the Design Automation Conference, 2009.
- W. Qian, H. Zhou, M. Riedel, and J. Bruck, "Transforming Probabilities with Combinational Logic," IEEE Trans. on Computer-Aided Design of Integrated Circuits and Systems, Vol. 30, No. 9, pp. 1279–1292, 2011.
- C. E. Shannon, "A Symbolic Analysis of Relay and Switching Circuits," Transactions of the AIEE, Vol. 57, pp. 713–723, 1938.
- J. von Neumann, Probabilistic Logics and the Synthesis of Reliable Organisms from Unreliable Components, in Automata Studies, C.E. Shannon and J. McCarthy eds., pp. 329–378, 1956.
- J. Aspnes, M. Herlihy, and N. Shavit, "Counting Networks," Journal of the Association for Computing Machinery, Vol. 41, No. 5, pp. 1020–1048, 1994.
- R. E. Bryant, "Symbolic Boolean Manipulation with Ordered Binary-Decision Diagrams," ACM Computing Surveys, Vol. 24, No. 3, pp. 293–318, 1992.
- M. Barrington, " Bounded-Width Polynomial-Size Branching Programs Recognize Exactly Those Languages in NC1," ACM Symposium on Theory of Computing, pp. 1–5, 1986.
- M. Cook, Networks of Relations, Ph.D Dissertation, Caltech, 2005.
- M. Riedel and J. Bruck, "Tolerating Faults in Counting Networks," Chap. 12, Dependable Network Computing, Kluwer, 2000.
- A. Arkin, J. Ross and H. McAdams, "Stochastic Kinetic Analysis of Developmental Pathway Bifurcation in Phage lambda-Infected Escherichia coli Cells," Genetics, Vol. 149, pp. 1633–1648, 1998
- D. Gillespie, "Stochastic Simulation of Chemical Kinetics," Annual Revue Physical Chemistry, Vol. 58, pp. 35–55, 2007.
- H. Jiang, A. Salehi, M. Riedel, and K. Parhi, "Discrete-Time Signal Processing with DNA," ACS Synthetic Biology, to appear, 2013.
- J. Hopfield, "Neural Networks and Physical Systems with Emergent Collective Computational Abilities," Proceed
ings of the National Academy of Sciences, Vol. 79. pp. 2554–2558, 1982.