There’s a lot for Alan to think about here, watching the blocks fall. There lots of possible patterns — see if you can calculate the number. There are also a lot of ways to describe these patterns.
If we wanted the machines to make a picture of a house with the door on the right side instead of the left side, the instructions would be almost the same. What if instead of giving the machines new instructions every time, we simply told them what to change about some other instructions? We would need instructions that describe how to change other instructions.
Thinking this way is some of the work we do when we try to generalize patterns. We look for what’s the same about a group of patterns and try to describe it them a way that’s both clear and efficient. If we can describe the group of patterns all at once, a pattern of patterns, then we have an abstraction.