I’m about 80% through the basic JavaScript curriculum, and I’ve hit a roadblock. Assuming the 300 hours per certificate estimate is accurate, that’s not an insignificant amount of time.
But I don’t know how to do… anything
I’ve spent the last three days trying to wrap my head around recursion, callbacks, lambda’s, and higher order functions, but haven’t made much progress. I can complete the task, but I don’t understand the logic behind the code I wrote.
Unbeknownst to me when I started, the fCC basic JavaScript certificate doesn’t dip into browser methods. That doesn’t bother me specifically, but it feels like all the documentation and tutorials I find use browser specific examples, which I can’t comprehend currently.
I don’t know what steps to take next. Do I just move on as if nothing happened, keep trying different tutorials, or take a step back from JavaScript and study the fundamentals?
These concepts take time to “wrap your head around”, because they are inherently “unnatural” than most of the code you’ve written, and will write.
If you ever watched the movie Inception, and gotten at least slightly confused with the premise of “a dream within a dream within a dream”, recursion is similar… except because its a machine, and not a 2 hour Christopher Nolan movie there are no “rules” with you infinitely call your function, or functions within functions, etc etc.
It personally took me a few months to feel comfortable with recursion, and even to this day I usually use it sparingly for only specific use-cases.
I actually don’t think you’re in tutorial hell, at least not yet. There’s plenty of time to avoid that detour. It sounds like you are more along the lines of “confused about a topic” and not able to feel fully comfortable about it. Thats ok. Just keep the topic on your radar, knowing what you don’t know is better than not knowing.
Yes keep marching along, and get to the projects of the section which will require you to leverage parts of what you learned. Probably not everything, but a good amount to solve a more complex problem.
Off the top of my head I don’t think you’ll need recursion for any of the projects in the end. Overall recursion should only be your first choice for “recursive” problems of limited scale. Otherwise traditional iteration should work fine. Generally any problem you can solve recursively you can solve iteratively, and vice-versa. Because of that, you should only try to use recursion for specific cases where using recursion might be easier.
The “limited scale” part needs to be considered because each recursive call adds more context into memory, which has limited size. So JavaScript could throw an error if your recursive call gets “too deep”. Because of that, its of limited use for larger problems.
FCC actually skips over a lot of these, especially for the JavaScript curriculum. The reason for this is because you wont directly use these much later. The JQuery curriculum provided an abstraction of most common browser methods, but the JS curriculum is there more to setup you up to solve problems using a programming language, without the context of a browser. Later once you learn React, you’ll purposely avoid most of the browser API methods, as React could be used outside of the browser entirely.
Furthermore, this section focuses primarily on the concept of programming using JavaScript, without the specifics of a browser environment. You’ll use JavaScript as your back-end language using Nodejs, and you’ll learn concepts you could carry over to other languages which also can’t run in the browser.
Your welcome to learn more about the browser APIs and learn more about using JS to “do stuff” in the browser, but do understand that you’ll end up learning how to do these things using React later to perform the same task.
You’re not the 1st one & obviously not the last one as well, I was there last year as well Only solution is take break, practice, practice… till you get it.
About understanding logic, I suggest you to watch this video atleast 2 times from start to finish while taking notes.
The secret is that it’s hard and there is no secret.
This stuff takes time to learn… I wouldn’t say you are in ‘tutorial hell’ if you are doing the curriculum. That phrase, ‘tutorial hell’, is for learners who do a string of tutorials to build various code projects were you are given every single step and piece of code as you go.
Recursion, callbacks, and lambdas are hard ideas. If you ar’ worried about your comprehension level, try one of tme certification projects. That will give you a gague of where you are at.
Thank you everyone for the responses. And thank you, @JeremyLT, for always keeping it candid. I don’t think there’s enough of that online. You can find a thousand stories of people getting a job after one bootcamp, but for every one of those, you ought to wonder how many stories of failure there are.
After spending the better part of two days trying to mimic Array.prototype.map without using google, and failing, I’ve decided to take a step back and go through the basic JS curriculum again. It didn’t all stick for me initially, and that’s okay. I’ll get there.