Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

JavaScript JavaScript Loops, Arrays and Objects Tracking Multiple Items with Arrays Build a Quiz Challenge, Part 1 Solution

Travis Schappel
Travis Schappel
2,857 Points

Is learning JavaScript supposed to be this difficult or am I not cut out for this?

I haven't been able to complete any of Dave McFarland's "programming challenges" like building quizzes etc. I have to just watch his solution and type the code along with him.

I've passed all of the quizzes and everything I've learned so far completely makes sense. I can read through the code in his challenge solutions and understand what is happening but I can't actually create it on my own. I can make the individual parts (arrays, loops, functions) but I can't connect them and make the code work.

Should I just keep trudging along and hope that it clicks at some point with enough repetition?

Matthew Goodman
Matthew Goodman
12,786 Points

Its like that at first I was the same still am now, you will get the hang of it soon you will have that penny drops moment then your think oh yeah that's how he did it. also remember the way Dave comes up with the solution could be different from yours but still ends in the same solution. just keep practising and also read the documentation it will help you out.

This is a great question and I feel the same way. We just gotta try and get better every single day.

Did that rhyme or what?

Leo Brown
Leo Brown
6,896 Points

I think learning by watching and repeating can work. Often that is what works for me. The "a ha!" moment sometimes does not feel like I am having an original thought (i.e., coming up with the solution "on my own"); but rather, the solution or type of solution I've seen so many times just becomes obvious.

It can also be helpful to go through the videos or even the whole course more than once. Once you start finishing Dave's sentences, that is a good sign.

The brain is a muscle, and muscle memory works the same way for learning these techniques. I think it helps that the fingers are involved, because they have some memory; so your brain and fingers get exercise together. That is another reason, I think, why typing while following along can promote learning, even if you are not coming up with it yet without the video aid.

Once the techniques feel baked in and you are just so sick of hearing about what an array is, and what exactly the syntax is, etc., then you will start to think of creative or "other" ways to utilize the tools.

I really think that based on your question you are on the right track. Good luck.

7 Answers

Travis Schappel
Travis Schappel
2,857 Points

I'm glad I'm not the only one. Thanks for the encouragement!

Yes, learning programming is hard and difficult, without a doubt, but that doesn't mean you can't learn it. From your questions what I am getting here is that you need to have a learning style and approach that's right for you. The first thing when learning is; do I understand the logic that is going on? Second is, do I understand the syntax that is being used to apply the logic?

After you answer those questions think of how you learn best. For me I hand write code down then at first, then use [codepen](www.codepen.io) to create something similar to what was discussed in the videos and build upon that base.

Find what learning style suits you best, It is hard and difficult, but nothing is worth anything if it is easy.

Remember you can always ask questions here or on other forums. I think Treehouse has a great environment for learning. Stick with it and ask questions when you need to. Good Luck!

Some other tools that could help:

  1. DevDocs. Something about this site makes it easier for me to use than most documentation sites — just search on the left, read on the right. Great for truly digging in and figuring these things out.
  2. Repl.it. This is like CodePen, but even simpler — code on the left, hit run, see what happens on the right.
  3. Finally, I'm learning JavaScript at Treehouse alongside learning it at FreeCodeCamp. I find that problems like these expect me to just jump in and figure it out. This is invaluable! It may feel like it takes me forever to learn something (e.g., I'm stuck on an array question, so I'm actually learning on here until I can figure it out), but once I get there, it means I've absorbed so much!

Hope this helps! :grinning:

Ace Motanya
Ace Motanya
31,756 Points

I felt the same way. I quit programming after trying to learn javascript the first time. I came back a couple months later and started with ruby. It seemed so much easier because the syntax was a lot simpler. After I ran thru all the basics with that and had a decent grasp. I went back to JavaScript and everything clicked because I had a baseline to compare it to. The closing of brackets and semicolons when writing JavScript can really confuse the hell out of people at first.

Charles Franklin
Charles Franklin
17,535 Points

Code Pen helps tremendously. No flipping through windows, saving files here and there... All in one spot and your changes are seen instantaneously... And when I find my answers, they are the silliest of mistakes.. Its so easy to loose the forest for the trees...

Repl.it is superb I just found it thanks to your post! No more trying to install work spaces for days.

great site!

Marc-Oliver Gern
Marc-Oliver Gern
8,747 Points

Travis, Yes – it's hard. I made good progress and then went on a 7-day vacation and lost all traction and code snippets I learned the week before. I couldn't complete this code challenge either. So I went back and watched previous video and looked at the code modules needed to complete this new task. That worked, since I knew, Dave went over all the relevant code pieces previously. I often start with just writing up the basic structures of the code modules first: in this case – a array, variables, then a for loop, then a condition and something that prints results. So I am halfway there. Since I don't have lots of writing experience I often miss the exact wording, punctuation/syntax etc. and what parameters to pass on. But this is the "PRACTICE MAKES PERFECT approach: You really need to code 2 hours a day – without breaks. Otherwise you won't progress.