My Dad used to say that there were three ways to get good at something: "practice, practice, practice". And, of course, he was right (though I'll admit, I didn't like hearing it at the time. It was usually preface to me doing something I didn't want to do ... namely, work hard. My father's other favorite phrase was: "hard work's nae easy").
Clark Aldrich, the guru of simulation, has an article exploring the importance of practice in learning:
"Concepts that seem simple, narrow, and isolated when written are deep, complex, and extendable when modeled in simulations."
"Simple theories take practice to use successfully, and the simplest rules when applied intuitively are more powerful than the broadest database or the most complex process. This inverts entire curricula."
It's one thing to teach a concept, it's quite another to provide the tools and the support that allow someone to truly master a skill.
Clark also points to an excellent article in Fortune magazine called "Secrets of Greatness" (hint: there are three ways to become great at something...).