Doing it on a whiteboard is an academic computer science problem.<p>Doing it on a computer is more along the lines of a software engineering problem, though still it is largely academic and counter to one of the tenets of good software engineering (that all code is a liability, and thus new&#x2F;non battle tested code should be avoided whenever possible).