WillTeachMaths logo

WillTeachMaths

Thinking-first maths tools

Emergence and simple rules

A tiny rule can build a pattern that feels unexpectedly alive.

This project is a web version of a cellular automata program I made in C#. It explores elementary cellular automata: each cell looks at the three cells above it, then a rule number decides whether the new cell becomes alive or empty.

The joy is in experimenting. Change the rule, starting point, colours or grid size, then ask how something so simple can produce structure, symmetry, randomness and surprise.

Elementary cellular automata

Rule 30

00011110

Each row is created from the row above. A cell looks at its left, centre and right neighbours, then the rule decides whether the next cell should be alive or empty.

Rule gallery

Start with these rules. Each one gives students something different to notice before they start hunting through all 256 possibilities.

Starting condition

Rule table

111

0

110

0

101

0

100

1

011

1

010

1

001

1

000

0

Console

> Rule: 30

> Binary: 00011110

> Start mode: centre

> Live-cell density: 39%

> Boundaries: empty outside the grid

Joy in the process

The point is not just to finish. It is to notice, test and return.

These tools are invitations to explore. A good mistake, a surprising pattern or a question you cannot yet answer is part of the work, not a failure of it.

The challenge is deliberate: the site should support thinking, not remove the need for it.

Choose a rule number before looking it up. What kind of pattern do you expect?
Try to find a rule that looks random, then one that looks carefully organised.
Change the first row. Which rules seem robust, and which rules change completely?
Look for diagonal lines, triangles, gaps, repetition and sudden breaks in symmetry.

Guided exploration

Use the rules as experiments, not just outputs.

Predict whether a rule will create order, repetition, chaos or a mixture before plotting it.
Compare rules 30, 90, 110 and 150. Which feels most random, and which feels most structured?
Change only the starting condition. Which rules are sensitive to this change?
Turn borders on and off. Does the grid feel more mathematical or more visual without them?

Future extensions

Add a comparison mode showing two rules side by side.
Add wrapping boundary conditions so cells on the left and right edges can interact.
Add a larger rule gallery with student challenge prompts.
Add population and density graphs for each generated pattern.