Everyone learns a little differently, so what worked for me may not be the best way for you. I started with G4FON, then added W1AW sessions. Then I started listening to live QSOs (very tough at first). While learning the characters, I also practiced sending with a paddle and keyer - I switched to straight key later. I also believe that the sending practice helps reinforce the listening. I got on the air at maybe 8wpm. Fiddled around for almost 6 months with little progress before I went "total commitment" and put the microphone away. Wasn't long before I lost most of the jitters and 12/13wpm was my comfort zone. One side note about speed, I hit the "famous" 12wpm plateau and stayed there for maybe 8 months and made very little upward progression. Bought a bug on a whim, and couldn't tame it below 15-16wpm. Within a week or so, I was copying 18wpm, and a little better, with no problem. Here again, I believe the sending practice improved my copy ability. I still top out at about 20wpm on a good day, but I'm only a couple years into this and learned code at age 53. I'm optimistic that I'll have, or create, another breakthrough any day now. I still practice by copying QSOs that are faster than my comfort zone, and practice sending faster into the code reader on on of my rigs.