Programming Challenge 1:
Conway's "Game of Life."

Build your own version of the "Game of Life" unique in both appearance and function. Unique in appearance might include changing the layout of the simulation, the colors, the shapes, the labeling, in other words "the look" of the simulation. Unique in function might include changing the size, the rules, the number of states or dimensions of the simulation, or change the initial state, maybe add a button that puts a new "creature" on the screen. Do as much as you are comfortable with, and then go a little further. Everyone will get credit for their efforts but the point is to push yourself and try new things. Try things that you are not sure that you can do. But try them in little steps...

From any version of the "Game of Life," do an "ethological" or "ethnological" study of the system's behavior. For the purposes of this challenge, take the metaphor of "Life" seriously. What is going on? Inventory and categorize the "species" created. What are the similarities and differences in their frequencies of appearance, their structures and behaviors? Can you propose different "laws" governing the behavior of different classes of "creatures?" How does the system change through time? Can you design some "seeds" that produce interesting results?