The ARRL (
www.arrl.org) has code practice MP3 files that can be used for learning purposes. They also have other information about learning morse code, so they're a great resource. PK is right about learning code at 10-12 WPM, as it's easier learn it at that speed.
I used Ameco and 73 magazine code tapes, which were random groups of alphanumerics. Today, there are multiple websites that offer more or less the same services for free, i.e.,
http://www.justlearnmorsecode.com/download.html Once you have the basics down, if you have a license, make CW contacts and you'll be amazed at how quickly your speed will increase. Unfortunately, in the old days, we were forced to prove code proficiency even for the most basic license, and of course, the extra license required 20 wpm proficiency. In some ways I'm glad they dropped the code requirement.