Time: 11:05-11:55, MWF
Location: College of Computing Building, Room 101
The Origins of Life: From the Birth of Life to the Origin of Language
by John Maynard Smith and Eors Szathmary
Students will carry out a number of programming projects during the course. These projects are designed to give students first-hand experience with a range of simulation methods that are used in biology. Grading for the class will primarily be based on student performance on these projects. Basic programming skills are recommended for students entering the course. Projects will be done using Processing, which is a Java-based programming environment. Prior programming experience in a Java or another C-like language is the best preparation for the course.No previous background in biology is necessary.
Homework 2 (Flocking)
Homework 3 (Reaction-Diffusion)
(More homeworks assignments to be determined.)
Chapter 2 in Origins of Life.
Craig Reynolds' flocking of virtual creatures.
Chapter 3 in Origins of Life.
Metabolic pathways chart1 and chart2.
Wolfgang Banzhaf's self-organization in binary strings.
Chapter 4 in Origins of Life.
Tim Hutton's self-reproducing simulated molecules.
Dill's 2D version of protein folding. Optional: Cyrus Levinthal on protein folding complexity.
Classic DNA paper by Watson and Crick. Optional: Stanley Miller's bubbling flask to produce amino acids.
Seeing if genetic code is optimal.
Chapter 5 in Origins of Life.
Pattern formation by reaction-diffusion.
Simulation of lipid micelles.
Chapter 6 in Origins of Life.
The Genetic Algorithm.
Plant growth using L-systems.
Creating branching patterns using Laplacian growth.
Simulation of leaf venation.
Chapter 9 in Origins of Life.
Development papers: Fleischer/Barr, Eggenberger, Furusawa/Kaneko.
Chapter 10 in Origins of Life.
Evolving virtual creatures from Karl Sims.
Evolving autonomous agents from Frank Dellaert and Randall Beer.
Evolution and manufacturing of crawling robots.
Swimming creatures from Tu and Terzopoulos.
Evolved flying creatures.
Chapter 11 in Origins of Life.
Thomas Ray's Tierra system of evolving programs.
Robert Axelrod and the Iterated Prisoner's Dilemma.
Chapter 12 in Origins of Life.
Craig Reynolds on Co-Evolution for game of tag.
Ant foraging behavior.
loops from Hiroki Sayama.
Cell aggregation (courtesy of Kurt Fleischer)
Plant growth (courtesy of Przemyslaw Prusinkiewicz)
Walking simulation (courtesy of Karl Sims)
Tentacle motion (courtesy of Andrew Cantino)
Flocking with collision avoidance (courtesy of Craig Reynolds)
Go to Greg Turk's Home Page.