What about making Conway's Game of Life in Conway's Game of Life?
And it's not like software engineering, where you're defining the nature of the system as a whole, and then instantiating it, but more like a physical engineering discipline, in which you're juxtaposing already-existing materials against each other such that their pre-existing properties interact with each other to produce the behavior you want.
http://jules.boussekeyt.org/game-of-life/
(instructions: click on some squares and press "Start")