Intermediate Algorithm Scripting Struggles

HI everyone,

I recently started on the Intermediate Algorithm Scripting Bonfires and, man it is tough.

The first 288 FCC exercises have been pretty do-able, and a lot of fun to work on. But as of the Intermediate Algorithms it there seems to be a major increase in the difficulty of the bonfires. Honestly it is pretty demotivating. It looks like I have missed something along the line. I have tried to be more immersive by reading several JS books, which hasn’t resulted in the expected result.

I would like to know if anybody else has experienced the same thing? How did you get through this?
Any tips, tricks, suggestions and experiences are welcome. I want to keep going, but without any progress it is pretty demotivating.

Please share.

Thanks a lot,
Dennis

9 Likes

You haven’t missed anything. This is exactly how it’s supposed to go. Feeling demotivated, useless, and depressed is a normal part of the process. Some times you don’t feel like you’re making any progress or like you’re going to fail, but you just push through and then one day, you wake up and you’re much more capable than you used to be. But you’ll never be as good as you want to be.

It’s like everything else in life. One step at a time, forever more until the end of time.

18 Likes

I’d recommend taking a break off of the books and simply focusing on solving the algorithms. It should be difficult, as it requires quite a bit of deep focus. When you can’t figure the problem out after trying, you can try googling/looking up documentation/referring to your books(just for method ideas). If you still can’t figure out the issue, you can always ask the FCC chat room / forums for help.

I know the struggle too. It’s tough, but if you keep on grinding, you’ll eventually succeed and crush those problems! :smile_cat:

4 Likes

Don’t be afraid to visualize the problems! Often I use pen and paper to understand and break down the problem. I think one of the major downfalls of programmers are going straight into coding right after reading a problem.

Try, pausing, relaxing, talking to yourself, writing pseudocode, drawing on paper.

9 Likes

I’ve had some serious difficulty with the intermediate challenges. Here are some tactics that have helped me:

  • If the problem feels really tough, I’ll work it out with pen and paper first. This helps me plan out complex problems and break them down into manageable chunks.
  • The MDN documentation is really useful for these challenges. To solve them, you’re going to be using a lot of built in javascript methods for strings/objects/types/arrays etc. You can get a lot of mileage out of being familiar with the most common of these built in methods.
  • If I’ve been struggling with a particular problem, sometimes I’ll stop, and sleep on it, or skip it altogether and come back to it in the future. I just came back to a problem today after a week or two, and the solution was immediately apparent. Sometimes your brain just needs to “defrag” before it can come up with a solution - especially if you’re tired.

I hope this helps.

3 Likes

Thanks for sharing the HackerRank link - I’d never heard of it before and I can already see that it’s going to be super useful!!

You are not alone! :slight_smile:

As other have already said, pen and paper are very effective tools in tackling the intermediate and advanced challenges.

1 Like

Thank you SO much for all of this info. It’s algorithms & data analysis that I am especially interested in & have been working towards learning (and one day mastering!) - so - thanks again! :eyeglasses:

gaahhhh! If you are having a problem getting the simple core client javascript here on FCC, then you will want to stick a gun in your mouth at HackerRank. They use server-side node.js javascript that will not look on vaguely familiar, you can’t copy and paste the problems into your own editor and the tutorials are nearly useless because they are for Java coders. If you can make it through the HackerRank then you dang well deserve a job somewhere.

2 Likes

LOL. True! I heard about HackerRank and checked it out, became depressed, closed it. I mean, what the hell is all this???

process.stdin.resume();
process.stdin.setEncoding('ascii');

var input_stdin = "";
var input_stdin_array = "";
var input_currentline = 0;

process.stdin.on('data', function (data) {
    input_stdin += data;
});

process.stdin.on('end', function () {
    input_stdin_array = input_stdin.split("\n");
    main();    
});

function readLine() {
    return input_stdin_array[input_currentline++];
}

And this is level 1 EASY! I understand quite a lot of JS but when I saw this I felt like my brain was melting. Perfect example, (once again), of the coding community having now idea how to introduce new things to someone learning. You don’t give a challenge that requires you to solve an algorithm as simple as, LITERALLY, “return a + b”, and then throw a wall of confusion code at them like this and tell them:

Welcome to HackerRank! The purpose of this challenge is to familiarize you with reading input from stdin (the standard input stream) and writing output to stdout (the standard output stream) using our environment.

Review the code provided in the editor below, then complete the solveMeFirst function so that it returns the sum of two integers read from stdin. Take some time to understand this code so you’re prepared to write it yourself in future challenges.

But I’m not surprised anymore. I actually think that professionals in any industry WANT to make the simple more complicated than it needs to be and WANT to confuse most people to create an artificial barrier to entry. Less competition. It sounds silly but I don’t have a better explanation.

I like CodeFights and CodeWars the best. Maybe when I get better I’ll go back to HackerRank. Maybe not. I’m pissed off that they call something like that “easy”. LOL

8 Likes

You and Arowberry really had me laughing. I gave HackerRank a try. I woke up 3 days later, buried under a mountain of nodeJS documentation, attempting to understand the EASY HackerRank JS code challenges; after running down several coding rabbit trails, driven ever onward by my little girl need to compete with the guys, until at last I lay panting like an old dog under a hot summer sun.

My advice is to stay on point with FCC. The hardest part of learning JS seems to be adventuring off onto too many interesting looking rabbit trails until it all seems just too much. Thanks FCC for providing me a doable structure to follow!

4 Likes

The best way IMHO to tackle algorithms as a new programmer is to take a step back from the problem itself, grab a pen/pencil/marker, and define on a piece of paper the problem and how you are going to derive the answer. Don’t look at the challenge as 1 problem, look at it as a a group of tiny problems. Breaking the challenge up into tiny problems helps you to think a little clearer. Every algorithm is just a list of steps, each step being the answer to a tiny problem.

1 Like

tbh, we should have hint system so we wouldn’t be urged to go out and look for documentation/answer.

A system where you get the option to take up to 3 slight hints would be very nice.

1 Like

@DevMaterial
Something like that already exists: https://github.com/FreeCodeCamp/freecodecamp/wiki/Map
I like to check it out after completing a challenge to measure my current density :slight_smile:

1 Like

You used variations on the word “simple” three times. Quincy might have an opinion on that. LOL

I also recently completed my JSON APIs and AJAX session and found it to be too non-educative (for lack of a better word). All I literally did in the last 5 challenges was copy the given code and paste it into the editor. It almost felt like FCC was rushing to the Intermediate Front End Development Projects.

So a frantic search began, to find what I’d missed. But to learn what I’d missed, I had to know what I had actually missed.

The quickest option was to chat with experienced developers in the, well, chat. This is the best comment I had there:

Yes, I feel that that section needs some love.

But all this did was to comfort me. This consoled me that I wasn’t the only one having this problem. But, this did not solve my problem. It hadn’t even started even solving my problem.

So the quest continued, I even posted this as a question on Quora, but no answer to my avail:
Why is the FreeCodeCamp curriculum for JSON APIs and AJAX so non educative. All it asks to do is paste the given code into the editor?

So, an angry me sent a direct message to Quincy Larson on Quora. In case you’re wondering who he is, he is the founder of FreeCodeCamp. Still no reply.

To my rescue came Google, but as I said, to find the answer, I needed to know what I had to search. What should be the magic keyword?

After days of struggling, I finally found that what I need to learn was not APIs (although it requires APIs) but AJAX, which is pretty easy.

So, now that I knew what I had to learn, I needed a source to teach me AJAX as well as FreeCodeCamp teaches HTML, CSS and Javascript. With FCC, I had developed a bad habit of wanting a single source that when used, would render the need to consult other resources useless. Now I needed a similar course for AJAX.

After days of searching, Udacity was the angel from heaven.
Here’s the link and don’t forget to thank me later.
The ultimate source to learn AJAX.

4 Likes

Keep at it. I have taken some time to learn how GitHub and Git works and have been away for a while also doing some reading on algorithm scripting. Now back to JS in FCC.

YOU ARE A LIFE SAVER!! I’m going through the project now and I haven’t learned anything from at section. Then I tried google and it took me even deeper down the rabbit hole. Thank you again

I’m glad to know that I’m not the only one who finds these “Intermediate Algorithm Scripting Problems” challenging. I found it quite a jump from the previous exercises.

I have a question. Are these the kinds of questions they ask in coding interviews where they expect you to solve it in, like, under 30 minutes? If so, I’m in trouble. I’m taking anywhere from an hour to 3 per problem, and I haven’t even solved that many yet.

1 Like

Glad that posting out my struggle helped somebody. Do tell me whether you found the provided link useful!
Also, sorry for posting such a long dramatic post, it’s a habit.