When I was first learning to code, there really wasn't much good advice out there. On one hand, experienced programmers gave super out of touch advice like "Learn C first because you should understand how the machine works" (um...beginners don't even know what an array is???) because they have already long forgetten what it's like to be a beginner. On the other hand, the beginner echo chamber gave bad advice because most of them quit long before they knew if something worked or not. My beginners coding roadmap is a reflection on my own journey in a way that beginners have a clear path on what they should do.
Why web development first?
So why web development? I believe web development is the best way for beginners to be introduced to the world of programming. People interact with the web everyday, they do not care about shortest path algorithms. It felt like magic when I first deployed a project and was able to visit that page on another device. It is that feeling of wonder and excitement that keeps people going and staying motivated. I believe that cultivating this is the key to people develping the intrinsic motivation to self study more "traditional" computer science subjects, and with more context. (You can't learn about databases if you've never used one!). And of course the most practical reason is that web development based roles are the most hired for in the software engineer job market.
Why freecodecamp and full stack open?
1. Incremntal learning is gamification on steroids. You gain motivation by doing many tiny tasks with instant feedback.
2. Your progress is quantifiable, you can see how far you have come.
3. The resources I have used personally!
I am bad at math
Yeah I was one point away from failing calculus in college. I am now a software engineer. Follow the roadmap and you will soon realize, there is no math involed in coding lol.
I am not smart enought to learn to code
yet smart enough to use a useless social construct to justify not doing something where the path is laid out for you already. If you follow the roadmap you will soon realize, success in coding is about 1 thing only: sitting down and doing something until it is solved.