Stock answer: It depends.
There are loads of different people, loads of different learning styles, loads of different methods, and we know nothing about you. You question presupposes there's a single good answer.
There isn't.
Some people pick up programming easily by reading some code, and then modifying it to do something slightly different. Lather, Rinse, Repeat.
Other people read through a textbook and do all the exercises.
Still others have a specific task in mind, then Google, read, pester various on-line groups, and gradually acquire knowledge.
You might actually be a guru and not know it. You might be a complete putz and not know it.
Perhaps the best way to assess where you really are and get a grip on the gaps is to find someone to partner with - even just remotely - and write some code together.
Here are a few random question:
+ How fast can you write FizzBuzz?
+ Did you have to look up what the question meant?
+ Did you actually write it?
+ What language did you use?
+ How would you make it faster?
+ How would you reduce the number of of division/modulus operations?
+ How would you count the number of words in a file?
+ Find another way.
+ And another.
If you're brave enough to answer those question absolutely honestly here, people will give you their opinion.