I'm like a few previous responses in having enough CS training to handle basic programming skills. My difficulties have primarily been in mundane/trivial things like compiling, or relearning syntax after years of not using a language.
In general, I think sometimes it's easy to overgeneralize and say that all younger students are good at computers. This may be partially true, but there are many younger students that are not at all comfortable with computers, and for which programming does not make sense. Although there is a lot of overlap, programming skill doesn't completely correlate with mathematical skill.
Probably the difficulty is mostly in the different point-of-view. CS solutions/programs are built using techniques that differ from math solutions. One must be extremely precise, one must be able to extract a template out of a solution process, one must be able to adapt that template to the programming language. I think that is where the main difficulty (and much of the educational benefit) lies.