I was recently reading about Conway's Game of Life - a cellular automaton discovered by British mathematician John Conway in 1970. Using 4 simple rules, his system creates complex patterns as it evolves over time. You can read more about this here.
I took a crack at implementing this in Python, using matplotlib to plot the system as it evolves. Note that there are much better optimized ways of doing this, and a lot of mind-bogglng research has been done in this area. But still, I found it fun to implement this, and it's fascinating to stare at the screen as patterns like gliders and blinkers evolve and disappear.
Here is the Python code: