It can take a while before you get comfortable with algorithmic thinking. But, eventually, you’ll get to a point where you are comfortable and you’ll look back at the times you struggled and go, “Wow, I can’t believe I struggled so much.”
One of those projects kept defeating me over and over, even after I had landed my first developer job, if I recall correctly!
But I kept thinking about it and applying new strategies I had learned until one day it finally clicked.
You don’t need a CS degree to understand them, but you do need patience and the ability to keep breaking down the problems into steps that you can easily articulate. And when that isn’t working, take a step back and think about it from another angle.
Feel free to move on to another section of the curriculum temporarily - you’ll be able to solve them all eventually.
Actually true, when I revise those lessons which passed before, some still feel tough but I can see I have progressed so much. Some of them which I was stuck in, for months seems quite normal now. But some of challenges really squeezes my brain juice so much that I doubt on my self. Then I revise lessons till this fatigue goes away n come back and repeat…lol
I have a Computer Science Degree and still have a tough time with these problems. I’d say Data structures and Algorithms are the core concepts covered when it comes to getting a CS degree, but that doesn’t make the problems easier, just more familiar.
Stick with your method of grinding it out. Don’t worry about looking at the solutions, as long as you do the problem yourself, understand the solution and the problem.
The goal isn’t to be able to write 100% of the answer via memorization, rather its able to reason your way from the problem, and build a solution that works for it. It might take a few tries, reading a lot, trial and error, and debugging lots of code to get it right, but its all teaching you something.
Computer Science gives you the foundation to think about the underlying concepts of programming, which is what the Algorithm and Data Structures problems glaze over. FCC doesn’t dive deep into the concepts, as it expects you to gain knowledge of it via other sources how you see fit. If you really want to dive deep into it, and are curious about learning more then you can check out sites like https://teachyourselfcs.com/ which go over most of what a CS degree goes over.
Just to be clear, you don’t need to know most of this stuff if your goal is to be a web developer, but the knowledge doesn’t hurt. I’d consider it just filling out some foundations here and there, not critical knowledge for just getting stuff done.
Thanks for your reply. It really means a world to me.