When my daughter got into rubik's cube with her friends, I thought it would be fun to use it as a sample to teach her about applying a simple breadth-first solver to find the shortest path to a solution. Embarrasingly, I neglected to do the math on how many possible states there were before we started. We coded up the solver in just a few minutes, but quickly discovered that a typical solution would take longer than either of our lifetimes...Oops. She learned some coding that day - not the lesson I intended, but probably a more important one!