Intermediate Algorithms - Absolute Nigthmare

Hey guys,

It’s like the title says. Intermediate algorithms are a nightmare.
I’m actually thinking of skipping this all together and potentially coming back later. I might’ve solved one so far, and the deeper I go I’m just like, ‘naah this is making me feel stupid.’
It’s like I learned nothing really.
I go to ‘Get a Hint’ and there’s loads of people with different approach and stuff.
IDK, just wenting my anger with JS.
I thought this would be about making projects and fun stuff but it’s making me feel like I wasted last 3 months on JS. And then I take a pause for a day or two, focus on my RL work, thinking it’ll get better but doesn’t.

What do you guys think?

1 Like

How much are you asking questions on the forum when you get stuck? I highly recommend against looking at the solutions on the hints page until you talk to some people.

This is the hard part of learning how to code - solving problems you haven’t seen before. It is normal to be frustrated. But we’re here to help.

1 Like

Hi @Prototype I’m not a JS guy. But I think with python and with every programming language in General, they are parts that are a complete headache. And you may be stuck for months. Sadly (or perhaps not) The more you practice, it will become less difficult, believe you are not wasting time, it just the crude form of learning programming, getting accustomed to it.
Another factor to consider is your background; recursions, data structures, and high order functions for example, may feel easy for some people, but the nightmare for others. You should be aware of your strengths and weaknesses and do not get overwhelmed by how much time do you spend learning. This is not a racing competition.

This is a frequent though , don’t allow them too much, some days you feel like a Master of the code, and others like its servant.
It may appear cliche, but the only way to overcome coding obstacles, is to affront the problem step by step. Patiently enduring. Giving up in the middle of the path doesn’t help at all.
Hope this helps.
Postdata. You can establish one week specially for the difficult topic, without previous conceptions, make as if you haven’t hearing anything about intermediate algorithms, and start learning it again. The final goal is not a record time, the final goal is to learn it well.

1 Like

Looking at hints is fine. Looking at solutions is crippling your problem solving skills.

Reading other people’s code and writing your own new code are separate skills. The second is much harder.

You learn how to write your own code by practicing writing your own code. The forum is here to help you write your own code.

2 Likes

I wouldn’t recommend you to skip important steps. You could end having many deficiencies as a professional, that would be harder to fix in the future.

1 Like

I am totally new in this Forum and I’ve never been to any forums before. Glad to see that you guys are so actively helpful here. As a newbie I am surely going to need people’s help now and then, and it seems I’m in a good place for that.

2 Likes

There is a distinction between learning JS’s syntax, and learning to wield JS to solve problems.

You might be more comfortable with the language syntax after spending a good amount of time using it to solve problems. However now is the hard part, the “programming part”, where you take your knowledge of your language of choosing and try to solve problems with it.

If your getting stuck with the problems, that’s normal. It is a problem.

Programming is just problem solving. No one promises those problems will be easy, which is where the curriculum shifts from “learning the tools” to “wielding the tools”. Learning how to “wield” the tools (JS) is the hard part, the part that takes time and comes from experience built from struggle and practice.

Looking at solutions will show you how other people “wield their tools”, but that doesn’t mean you will instantly know how to wield it better. You might try to memorize, or copy what their end results look like. You might even be able to memorize so much you can solve some problems. But this isn’t scalable, there are infinite amounts of different problems.
You might even be able to learn a few types of syntax, but you wont learn how to wield your tools better. I’d compare it to watching an elite athlete perform at the Olympics and trying to become them by just watching how they perform. Sure you might learn a bit, but you wont get there without also understanding how they train, and prepare.

This is where you want to realize the “training” is through doing.
The “doing” is where you build experience. Yea it isn’t fast, year JS doesn’t magically solve the problems for you, but it can be your toolkit for solving problems. How you wield those tools is where you begin training. Looking at solutions might give you ideas on how to use those tools, but being able to take a problem, understand it, break it down into smaller chunks and tackling those chunks with your experience is programming.

It takes time, effort (and sometimes blood sweat and tears) to solve hard problems. The same way an Olympian “makes it look easy”, looking at the solutions might make it seem easy, but it doesn’t show the process. The training, the struggle, the bug fixing, the googling, the breaking down of the problem, and the experience built up over solving thousands of other smaller problems.

Take a breather, clear your mind, restart you code, and restart the problem and try to break it down into chunks you can solve. If you have enough tools in your toolbox, or at least remember what tools are in there, you might be able to put together a solution.

Good luck, keep building, keep learning :+1:

5 Likes

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.