I'd say the the real expertise in programming is identifying the problem in the first place. Most things can be broken down into black boxes and state machines eventually.
Ironically, I'd say the programmer least likely to reduce his problem to the basics in this way is usually the Maths grad.
And I am one.