I can’t put it any better than Dave Thomas on his Code Kata site:
How do you get to be a great musician? It helps to know the theory, and to understand the mechanics of your instrument. It helps to have talent. But ultimately, greatness comes from practicing; applying the theory over and over again, using feedback to get better every time.
Code kata
A few sites provide code practice, some of them are less beginner-oriented than others though. I like the idea of writing coding exercises of my own someday. Until then, here are some links to sites I have found: