are a good progression (though the latter supports other languages as well).
Codecademy and similar hold your hand through everything, so its good to start with from fresh. But you can't really learn to code through them as it doesn't get you into the process of solving problems programatically on your own.
Some of the problems I've tried there have taken me 8 hours to come to a solution. But because I had to think hard about it, plan it out, go away and research, use stack overflow, experiment and fail, I learnt a lot in the time. Next best thing is probably just working on a small personal project, and researching everything you need to do to build it as you go.