Frustrated Camper

Frustrated Camper
0

#1

I am learning JavaScript for the first time and the deeper I get into the lessons the more I am finding myself sitting, thinking, and trying for hours to get a piece of code right.

Today I am trying to pass a JavaScript course that is simply asking me to remove the first element of an array, return the contents that were removed then “pop” the last number in the array and print to console the numbers that are left in the array. This is so simple but I just can’t get it and I am trying not to cheat by someone giving me the answer. Plus I want the satisfaction of knowing that I did this on my own. I have a very ambitious attitude and a hunger for knowledge that will leave me stagnant for hours at end trying to figure out a problem, it’s like I don’t know when to stop.

My question: is it normal for me to be stuck on something that is simple and how do you take breaks if and when you get frustrated with learning a new language? What do you do to refresh your mind and come back to the problem you are trying to solve, does it help? Am I going to continue to struggle like this as I dig deeper into JavaScript/other programming languages or am I simply just moving too fast ? Any feedback is appreciated!

Thanks!


#2

Whenever I struggle with something, I’ll usually look at a reference sheet or example code to see if I made a mistake.

Sometimes it is hard jumping into a new language, and if you cannot understand it then try going back and doing previous lessons without any help.


#3

Yep it’s normal. Yes it’ll probably happen over and over again.Worst thing is, it’s usually something really simple in hindsight.

Best thing to do is work on something else, or sleep on it till you’re not as frustrated, and then go back to it.


#4

Well, Michael, I have to confess that I´ve been there. The way I found to solve this kind of predicaments is simple: USE THE TECHNOLOGY!. there is a lot of free resources out there (like http://jshint.com/ or http://www.jslint.com/). The general idea si use this tools to find your mistakes and learn from them.

Don´t give up, the world needs us…


#5

Yep, the demand is very high!


#6

{{TLDR}} version of your question which contains 3 sub-questions:

  1. Is it normal? - Absolutely.
  2. What do you do? - I changing state of my mind.
  3. Am I going to continue to struggle? - I don’t know your future, have zero skills in Augury. :crystal_ball:

{{TLDR}} ends

Since you appreciating any feedback, you will now get {{hypergraphy}} version of above.

  1. Yes, it is normal. Especially when learning itself is never ending process in general. And currently you learning basics, which all pros simply remembering “by fingers” and “somatic levels” because of huge amount of practice. You can read every book about bicycle riding, you can watch every trick about it on youtube in slow-mo, you can interview every uber-pro about it and became in time an walking encyclopedia of bicycle tricks, i.e. - uber-pro in theory.

But in practice? Of course no, you need to practice for it. And that means - sweat, blood, suffering, frustration. Probably, it’s already answer on your 3rd question? Oh wait, I forgot about what practice also brings, and what was just shadowed by sweat, blood, suffering and frustration - fun.

When I was young (5yr?) I got after my tricycle some small kid bicycle, and just started to ride it properly. Seems I was too focused on it, because one morning I fell from my 10cm-high bed and broke my left collarbone. (applauses) It wasn’t so bad, I just got bandage of left hand-shoulder-chest and “stay in bed for 2 weeks” directive from Doc.

Sure. I was in bed for 1 week, and then I sneaked out to ride my small bicycle. (applauses) Also small fact about me - I am left-handed person, so I could use only right hand for riding on bicycle. First time I fell instantly after start. Pain was insane. Second time I fell after some meters, pain was still insane and still not enough to stop me. And then I started to cycle with only one right hand, without falling.

Do not try this approach. It’s my own personal experience, which shows me, what is possible in extreme situations. All this past story is fun for me, since now I am able to cycle hands-free, and even standing straight on pedals, without sitting. What was once big problem - not a problem at all. So, do the problems really existing, or it is our perception?

And most important - I remember from those times that there was not only insane pain, but also great fun. Is there already answer for 3rd question or not?

  1. If I am stuck, I am not giving up until I will realize that I am even more stuck. Then I starting to “shift” my state of mind. I starting to observe - what parts of problem I do not understand clearly. And then I searching for those - definitions, basics, examples, everything - because it’s also “shifting”.

It’s similar to process when you take picture by camera and you slightly changing focus for better shot.

But it’s good when you really going into right direction in general. Javascript is great, but simple syntax error can confuse greatly also, because of JS uber-flexibility. So, there could be a situations where you was right algorithmically, but simple did typing error in function name or variable. And then you can easily mislead yourself into searching of black cat in dark room, realizing later that there not only wasn’t a cat, but it was simply wrong room.

If I am stuck even more long, and I see that I have already such amount of tabs in my browser that I can’t read even 1st letter on each tab - I will make some coffee/tea pause and just switch to another task, which doesn’t include current “stucky” stuff.

Soon I realize, that I am stuck again, and even faster than before? Time to “shift” again, and more drastically, time to “shift” physically. I suspend my machine, and do something at home, or even better - go out.

Simply walking and concentrating on your steps is close to meditation on your breath. Meditation is out of topic. I will just say - that fresh ideas and solutions coming not only when you headbanging against the wall. Often simple “shift” is enough.

[EDIT] I forgot to add some what I doing as self-therapy: CODEWARS (note to self: continue JS here too)

  1. When you solving challenges here, after it you can see solution of the others. Believe me, there is real monsters, in all meanings - worst and best. So, personally I find myself somewhere in the middle of others, which means - well, normality. But it’s not important as second:

  2. You instantly see best solutions. And you learning from those.

One stone - two birds.

It’s just what I do.

I was once almost won that fight. Gladly, I managed to realize that I was fighting myself. Still reading?

  1. And now is most interesting question - Am I going to continue to struggle?

I think it is key question, more important than 1st and 2nd one. Simply put: well, it’s you, who decide - do you struggle or do you not struggle.

Again, some example from my experience. Let’s take less sportive thing than bicycling - smoking. Let me talk to myself now:

– Is smoking a serious problem for you?
– For sure!
– Is it hard to solve that problem?
– No. It’s easy.
– Oh, wait… you just said that it’s “serious problem”!
– Intentionally. Because for me it’s not a problem. For you it is. And if I would answer “No.” - you would attack me before I could explain that simple topic further.
– So, if it’s serious problem - how you can say you can solve it easy?
– Because I did smoked for 25 years one pack per day. And I doesn’t anymore.
– Aha. So you have strong willpower and you just keeping tight yourself with electronic sigs, chewing gums and…
– No, I am not a willpower person. I could not smoke for 1 or 2 days, and then I was starting again.
– Oh, I see. You for sure read Allen Carr’s “easyway To Stop Smoking” and then…
– No, I tried, but I fell asleep after second page of that book, and decided to smoke to stay awake.
– What you did then?
– This:

var problemList = {‘smokingIsBad’: true};
delete problemList.smokingIsBad;

As you can see, it looks like some psychological hack. Probably. From my POV, psychological hack is to invest billions of dollars into smoking industry, and keeping that variable alive, and call that “fight against”, meanwhile… advertising it, and keep problem alive, doesn’t matter - will be that boolean for someone true or false.

Even more - I can keep that problem alive myself. By just calling it as problem, instead of simply get rid of it’s base. Somewhere it becames “true”, somewhere and sometime it becames “false”, and again and again… You can even locate that endless loop, and fix it.

Right now, while writing all that about smoking - I see, how I trying to add ‘smokingIsBad’ variable back to my problemList object. But I am aware of it, so it will not happen.

So, will you struggle or not? Remember, you can not only delete variables, but also add them, and even rename them. Who said that you can’t code yourself? You can make fun of your struggle also.

You the boss.


#7

Try to break your problems down into simpler ones.

So I see 3 problems:

  1. Remove the first element of an array.
  2. Remove the last element of an array.
  3. Print the array in the console.

So just concentrate on 1 and don’t worry about 2 and 3 for now.
When you figure out 1 starting working on 2 and so on.

Work on solving the problem. Don’t worry about creating the most optimal solution. After you have solved it you can refine your solution if you want.

Rubber Duck Debugging might also help you solve your problems.

Don’t be afraid to ask for help and even more help in the Gitter rooms.
Maybe ask you someone to pair with you using Cloud9 and Skype/Hangsouts.


#8

Its good that u asked this question here. It takes courage to ask when you are stuck at something simple.

Now to answer your question - It is completely normal to stuck at something. Taking short breaks (p.s. really short) help you gain momentum. Just don’t stress out on simple things.

I recently opened #fcc to see whats new after almost 4 months and there were so many new challenges, I tried to tackle them one by one, and I was stuck on the same problem that you are. What I did at that point was google it, not necessary copying but just to see- how to go about it and I saw the word shift() and I quickly remembered the function I used few challenges ago, and quickly solved it.

Moral is that : It happens with everybody Just get through it. If you still find it difficult seek some mentor-ship if you can.

I hope this helps.


#9

My friend, I needed this. Thank you!


#10

I would of told u to just delete or remove the element in index 0 LOL

<----I learned java and not javascript.

But nonetheless, dont worry about not getting it now.
Im a computer Science student and see problems like those all the time.
It gets easier with practice.

And do break the problems down into pieces, otherwise youll go nuts.

Cheers!


#11

thanks for the encouragement! happy coding my friend!


#12

Lol, of course Its normal. I’m also in the same plane… I sit for hours sometimes, days or weeks even. but I do end up getting it… and when I do, I celebrate Like MAAAAAADDDD!!:grin:


#13

Keep at it. Read the source material, look for examples. Examples shows how it really works.


#14

I seem to be having trouble with the javascript course. I’ve just started the section on comments and I can’t seem to move forward, there’s no button to complete the section to move to the next. Anyone else experiencing the same?


#15

what is the name of the section that you are having problems with?


#16

nevermind, i see that you have stated it is the comment section.


#17

Yes it’s the basic javascript section, the first exercise there i.e comments in javascript


#18

It might be best to start a new topic for this and or ask in gitter.


#19

Make sure you are logged in. Try a different browser.


#20

I doubt I can add anything more as some really great answers have been posted. Really amazing people here. I have always found writing it out with pencil and paper helps me. Or typing the parts of code in plain English and then converting it more and more into psuedocode. This psuedocode can be used pretty much in any language, the important part it that you do not worry about language syntax at first, but understanding the problem. And yes, it is very normal to struggle. Like learning German…talk about struggle :confused:

P.S. Oh, and it is really OK to eventually check for a solution. If you are a good student, you will have put some serious effort into it first. One of my favorite Udemy instructors likes to say “At least try until your head hurts or you just can’t try anymore. Then come back and watch the solution.” Then once you see how it is solved, type the code a couple of times, work it out in your mind. After that go back and fix your own code without looking at the solution. And finally explain it to somebody else, like here in the Forum, Gitter or, as I have seen YouTube videos of, to a puppet or rubber ducky. This is why so many developers blog or write free e-books. It is to solidify learning by teching others. Whew. Good Luck!