Here’s a hammer
Here’s a nail
Use the hammer on the nail to attach pieces of wood together
Now build a fence
I’m struggling with the same things over and over, which is basically “why does this do this?” as well as “How is this solving this?” I can fly through the practice until there’s something that needs more than just shallow recognition of symbols, and then it’s just replacing symbols one by one until the tests succeed. There’s little underlying understanding of how to achieve the goals, and I can see others in the forums and exercise help sections having this same issue. I feel that this is where pretty much every learning resource is similar and falls flat.
Specifically with FCC, it feels like one exercise to be “familiar” with concepts and be able to use them to solve problems is just not enough. I’m doing “Algorithms and Data Structures”, at “Nested FOR loops”, and there’s a ton of people in the help section saying they have solved the test but are not able to understand why or how they are supposed to be used.
I’m a network and system administrator that runs a bunch of different Linux servers for companies so I’m technically adept. I’m also able to troubleshoot code problems and solve them with no problem during the course of my normal work.
Are there any suggestions anyone has to alleviate this? I’m definitely not an idiot, and I can’t stand advancing without a good understanding of the curriculum. I read stories about people passing these courses in a couple months and getting high end coding jobs all the time but it seems impossible. Are people getting these jobs with as little actual understanding as I have? If not, what other resources are being used?
UPDATE: I’ve spent the last several days searching for more comprehensive training and I seem to have found it here:
It says it’s the “weird parts” but it’s really just “the parts”. In just an hour and a half, a couple dozen lessons or so, I am so much more comfortable and feel like I actually have some actual understanding. It’s somewhat slow with very little coding so far, because it’s actually walking you through how the language works, but wow, I really feel like I’ve found a lot of what was missing. I bought it on sale for eleven or twelve usd I believe. After FCC I suggest this course.
Besides, FCC has been a valuable thing for me and it has and can change lives for the better.
Heartfelt gratitude to Quincy Larson and every member of the FreeCodeCamp team for making learning to code possible for people all over the world. They are making a difference.
Thanks for the reply. I’m not criticizing FCC; as I said this is something that many people struggle with and I have encountered this in every resource I’ve used to try to learn, not just FCC. I want to break through this “block” and I’m reaching out for help from people that have had this same issue and persevered. I am asking specifically which resources these people have used to get through this.
Let me give another example: Replacing FOR loops with Recursion
The lesson says that we should be able to recognize these two things are identical:
Again, not a criticism but more of a statement of the situation from a learners perspective. As someone that runs servers for a living, I’m an avid reader of documentation and watching videos but I’ve literally been doing that for years to little avail. I was specifically looking for a structured curriculum instead of random pieces strung together.
Honestly, the only way to get comfortable using these tools is to build lots of things.
It wasn’t clear to me from your post. It wasn’t clear to me from your post - have you done all of the algorithms challenges and projects yet? Those are the sorts of things you need to practice… It’s normal to get stuck while doing those sorts of projects and problems. When you get stuck, I recommend making a post with what you have so far and where you are stuck so we can help get you unstuck. That’s actually a pretty good approximation of how professional devs work together to get over hurdles. We’re here to work with you!
This is like the math textbook observations an author casually makes that most students won’t make but understand anyway. It’s an example of a deeper conclusion you can make from a fairly simple starting point but takes a lot of experience or insight to make on your own to prompt you to look for such insights.
I always attack abstractions I don’t understand with concrete examples (like n = 3 above) until I can understand the pattern the abstraction is using, usually without reference to the particular programming language. Then you can write the abstraction in whatever language you like and start investigating special cases where it may fail, like what happens if n = 0 or if n < 0, etc.
Hope, it wasn’t offensive cause that wasn’t my intention. Just wanted to point out both the positive and negative sides. Anyways, I’d suggest that for recursion you shouldn’t lean on what FCC has to offer cause it is a complex concept that many people have a hard time to wrap their heads around including me. Recursion is a very essential concept and hard to understand at first and for that you should look for resources that elaborate about recursion.
I hope you for you success. Keep trying, you’ll get it eventually. Humans are capable of achieving anything. So, don’t underestimate yourself.
Side note - once you start doing this, you really inhibit your learning. I’d go back to where you first started doing this and try to write solutions without copying… When you get stuck, ask questions on the forum instead of copying the solutions. The process of getting stuck and working through it is hard, but that process is the core of what programming is all about.
Personally, I’ve come to realize getting such concepts right with seemingly little explanation is an indication of my level of understanding of the preceding concept. Of course I often find it frustrating and sometimes demoralizing when I don’t even know the first line of the solution (sometimes, I’m on a challenge for several days). I think FCC curriculum is deliberately structured that way to enhance the learner’s problem-solving skills.
Was about to write my life story then… let me just tell you what helped me.
But, in the end, volume is what is all about. Just do more and it slowly slots into place. If you get stuck find a different approach (i.e. YT tutorials) and then come back.