Doing it on a whiteboard is an academic computer science problem.
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/non battle tested code should be avoided whenever possible).
I wouldn't solve all car engine problems by completely replacing the engine, but if I was hiring a mechanic I'd want to verify he could replace the engine if needed.
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/non battle tested code should be avoided whenever possible).