Course Description:

    This offering of MAT 200C will focus on mechanisms of pattern formation. Many complex visual patterns can be generated from surprisingly small amounts of code (less than 100 lines), or from simple sets of equations. Some examples include the ubiquitous patterns of the Mandelbrot and Julia set fractals, reaction-diffusion systems, and Conway's Game of Life. We will examine a wide variety of these pattern generation techniques. We will implement these techniques in class, and homework assignments will focus on experimenting with and generating novel patterns. By the end of the class, you will have developed a suite of pattern generation tools.


    Theodore Kim,
    Office Hours: By appointment
    Elings 2201

Teaching Assistant:

    Aaron Demby-Jones,


    Tuesday and Thursday, 2-4 PM
    Elings 2810 (Systemics Lab)


    It will be assumed that you have a basic level of programming experience, and you must have a laptop that you can bring to class. You will be provided with a significant amount of basic substrate code so that you can focus on the task of writing pattern formation code. The substrate code will be written in C++ and designed to be run on a Mac, but it should be generic enough to run on Linux and Cygwin with minor modifications. You are free to implement using any language or platform that you want, with the understanding that we will primarily support C++ on the Mac.

Grading Scheme:

    · In-class exercises - 25%

    The first half of each class will be a lecture on some pattern formation algorithm. The second half of each class will be a lab session during which we will implement the actual algorithm. You will post a video of the working algorithm to a shared class Tumblr. You must sign your post to receive credit.

    · Experimentation - 25%

    In between classes, you will experiment with the pattern formation mechanism developed during lab, and post the most interesting structure you generate to the class Tumblr. You must sign your post to receive credit.

    · Final Project - 50%

    You will have the opportunity to further explore one of the pattern formation mechanisms from class, or a related topic of your own choosing, as a class project.

    · Freebies

    You will receive three freebie credits where you need to turn in neither an in-class exercise nor a post-class experimentation. While you can take these freebies at any time it will be assumed that you will be using these to make time for your final project towards the end of the quarter. It is your responsibility to use these wisely.