I've been studying Java at an "accelerated program", and now I would like to know how can I become better at programming?

I thought practice might be good, like one would practice an instrument in order to become a virtuoso, but (unlike an instrument, where the music is given to you) I can't think of anything to program!

What should I be doing to become a good programmer?