The usual “learning loop” is:
- Learn about a concept
- Learn about why/when you’d use that concept
- Go out and use that concept to learn more about it by “playing with it”
- Combine that concept with pre-existing knowledge to see “how it fits together”
- Learn about where you can take this concept and use it for things you don’t know
- Repeat
So the advice to go out and make 5-10 projects might be a tad high depending on what your learning, but the underlying idea is correct. You want to take what you learn and see how it fits with what you already know, and see where it leads into things you don’t really know. The only real way to do this is to play with it yourself.
FCC will later introduce codepen as a place where you can build and host your projects. It’s a simple free online editor that provides a way for you to write HTML/CS/JS.
There’s nothing to setup and configure, and you can use to to practice your front-end skills. Later FCC recommends using it to host/do your projects in so you’ll be “getting ahead in the game” in that aspect by getting more familiar with codepen. You can use codepen now to build your own projects from the ground up as a “sandbox” to try out what you learn and just play around.
A more advanced option introduced elsewhere is replit, which is similar in that it’s an online IDE, but it provides more power and supports “back-end” languages. You will use it later in the curriculum for projects that require a backend. However, if your just starting out you probably wont need its fancier tooling yet.
I’m not sure what you mean by this. If you mean “keep track of all the stuff you need to remember”, the key is you don’t. Memorization isn’t the goal, it’s a side-effect of doing things you need to do a lot. You should try to remember a few key aspects, such as the name of a concept, why and when you’d use it, but that’s it. You can look up the details about it later. Don’t try to memorize everything.
freeCodeCamp is a great start, but there are a number of other ones where you can get similar practice. However, I’d only suggest spreading out once you get to JavaScript, as most sites are focused on “programming challenges”. HTML and CSS are more “either know it or don’t”. As such looking up how to do things with them is usually the main option regardless of skill level.
No
One thing I usually recommend when starting out is “expanding your knowledge horizon”. What I mean by this is spreading out what you learn about “randomly”. You don’t want to try to become an expert in everything, you want to get an idea of what is out there of things you could go out and learn more in depth.
Because of this, getting “lost down the rabbit hole” can introduce you to concepts you never heard about, intrigue you, and possibly spark your curiosity about what is actually out there. Its a little “dangerous” in the sense that you can get totally sidetrack on topics that aren’t actually important, but its more up to you and your own “learning self control” to make sure that doesn’t happen haha.
A resources like wikipedia (HTML on wikipedia), or a page on MDN is a place where you can find a vast list of resources to learn more about almost anything.
Again, you don’t want to become an expert in everything, just get an idea of what’s out there, and decide for yourself later how important it actually is.
Good luck, keep learning, keep building