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

Struggling with JavaScript!

I have been studying web development with TeamTreeHouse for the last while in my spare time after work and it was going ok until i started on Javascript. Feels like when im learning the information just wont stick in my mind. Ive spent a lot of time trying to learn JavaScript (not just on TeamTreeHouse) and I think Im not getting enough practice putting in into use. Im not competent enough to build a site from scratch and start practising that way. Is there anywhere that i can go to practice or any studying techniques that will really help me get a grasp of my JavaScript skills?? and help would be much appreciated as this is frying my brain with frustration! Thanks in advanced! Bairdy

8 Answers

Kristopher Van Sant
PLUS
Kristopher Van Sant
Courses Plus Student 18,830 Points

Hey Bairdy, I think you'll find many have felt the same way when it comes to learning JavaScript and other programming languages. Learning to program can mean actually changing the way you think. Which does not happen over night. I always compare learning programming languages to learning a new foreign language. Because you literally are learning a new language, only it's meant for computers.

When you learn a foreign language you don't instantly start speaking fluently. You have to start with the basics and slowly build on them. At first, when you talk in that language you sound like a child! But after continually being around the language and hearing others speak it and seeing it written you become more and more fluent until one day all of a sudden it clicks! And you realize, hey I get this now!! It's the same way with programming languages. You'll feel like your struggling and can only code like a "child" while still not fully understanding things. And then one day it clicks.

All that being said, you are not alone in being frustrated!! And there's quite a bit of resources out there to help you out.

Here's a couple links to some JavaScript resources:

https://github.com/WomenWhoCode/guidelines-resources/blob/master/learn_to_program.md#javascript

https://github.com/vhf/free-programming-books/blob/master/free-programming-interactive-tutorials-en.md#javascript

A few other things I wanted to mention....

When learning programming languages like JavaScript it's so easy to become overwhelmed, and feel helpless and frustrated. You go through waves of feeling "hey this makes sense, I get it!" and then down to "I have no idea what I'm doing". During the frustrating part of those waves it's so important to take time for YOURSELF. If you get to feeling too frustrated that's a good time to take a break, walk around, get outside, or do something fun. Otherwise it won't stick. You need that time for your brain to process what you're learning.

Also, it's never too early to start building a site from scratch! You've already taken some HTML and CSS courses, so yes you ARE competent enough to start building a site. Now it might not be the prettiest and most functional site, but who cares!? You're still learning and we've all been there.

Lastly! I think it would help if you listened to some Podcasts. There's a few out there that I always recommend. CodePen's podcast, Shop Talk Show and Developer Tea . I particularly like these ones because the developers are real. They're very humble, not arrogant at all. Listening to them might help you feel better about where you are. You might not always understand what they're talking about but that's ok! They're always confident boosters for me because it helps me realize that even "experts" in the field don't know everything.

Ok, sorry for the longest post ever. Hopefully some of that will help!

Kristopher, I really appreciated this long post. I'm bookmarking this forum because I want to come back and explore what's been offered here for learning JS because I'm struggling too!

Tushar Singh
Tushar Singh
Courses Plus Student 8,692 Points

Thanks a lot, I don't why but everything made sense :+1:

Kristopher, what did you find to be good supports for you in your programming language learning process?

Kristopher Van Sant
Kristopher Van Sant
Courses Plus Student 18,830 Points

Thanks guys for your kind words!

For me, while learning through Treehouse and Codecademy, if I got stuck on things I would always google it and read what others had to say about the matter. Often times, then I'd find a blog post or article that would explain something in a different way and might make more sense to me. So I think having all those different perspectives and explanations was really helpful.

BUT there was a point where I personally hit a wall. Even though I was learning JavaScript and passing challenges and tasks I still felt like I had no clue how to use what I was learning in the real world, and so I totally lacked confidence. I ended up taking the Frontend Web Development Course that Bloc offers and that helped me tremendously! I was able to have my own mentor who guided me and would cheer me on, and would help me think through problems I was facing.

Now to keep up with things and to continue learning, I still constantly look things up, I follow people in our field on Twitter so that I can stay current and learn of new resources and conferences, and as I mentioned above, podcasts have been a lifesaver for me too. And then actually building things! Once you finish building just one thing, whether a website, simple program, game, whatever, that gives you a huge boost.

As awesome as these online tutorials are I think they should be just one of many tools in helping you learn to program.

I hope that answers your question! :)

Hey Abby, sounds like you are at the same point as me! im into arrays but i think im going to need to repeat the videos up to this point also. I am the same, i learn better when i am doing, the java script challenges on this are good but for it to really sink into my mind i need to repeat and repeat and repeat. Im fine with HTML, CSS and the math side of things but JS has been pretty frustrating recently. I need more challenges or projects to really get this info really stuck in my mind because at the moment even the thought of getting on the computer to study is a hard task because i know im not taking the information in.

How long have you been studying for and how many hours do you study a day? Are you looking to make programming a career?

Thanks Abby!

Hi Bairdy, I'll think a bit on what's worked best for me, and see if I can think of some analogies for arrays/loops (I like real world relationals...like relating things to cats, weather, TV shows, or something like that) since I feel like it takes these abstract concepts and makes them more understandable and tangible to me. I struggle in math due to abstractions, and it's the same here. I do like a lot of what Kristopher said in terms of thinking about a slow and steady pace, recognizing that others are right in your same spot (you're not alone), and taking care of yourself as you're learning.

Also to answer your question of how long I study a day, it's more like I try to do 5 steps (as they're called in Treehouse) a day. I get bored or frustrated with tracks (like JavaScript) so I sometimes skip around and try new languages or continue others I started. Also, some days I feel like doing more steps, some days less. I'm using Treehouse as a supplement to an Associate's degree in something called "Computer Information Systems", which is basically programming languages. I can honestly say I'm learning more from Treehouse than my degree. I don't know if I'll make a career out of programming or not...I still haven't even decided if I like programming yet!

So like this is my last 7 days: Friday 4 steps Saturday 8 steps Sunday 13 steps Monday 1 step Tuesday 22 steps Wednesday 9 steps Thursday (so far) 11 steps

Average a day the past week: 9.7

Others have suggested www.freecodecamp.com. You might want to check them out for good practice solving programming problems using javascript.

Bryan, I haven't used this site yet. I'll check it out; thanks for the new resource.

Tushar Singh
PLUS
Tushar Singh
Courses Plus Student 8,692 Points

Kristopher Van Sant explained it so beautifully, I must say you should listen to that advice.I know when I first started out I can't even begin to tell you how frustrating it was.I can just tell you you have to change your mind-set. If you are like me when you see something new in JS, you are like what the heck I don't know what is this dude talking about. As I was referring to the mindset you have to change the way you think; when a new topic is introduced I must do some research regarding this and find out how it works and that will happen actually,so don't worry.

Slowly you will like when new things are introduced, but I ain't saying it's going to be easy everytime to understand it but you can try I guess.

All I know listening to these videos and just solving challenges and quiz(which btw are super easy and dumb) in the course will not help you at least it din't help me.Go and build some stuff anything you want. May be build a music playlist, or your porn collection or something on your favorite actor and why not on yourself.

Will it be perfect? Hell no.

Nor it would be easy but things actually makes sense after sometime, I just think those who are kinda experts in javascript they are just people, not smarter than me or you(simple logic).

I am no expert nor very good in JS, just telling you I went through this same feeling and actually it never stops because new things never end.

"Go build something anything."

Tushar Singh
Tushar Singh
Courses Plus Student 8,692 Points

By the way at this moment also I am pulling my hair out, can't think of a solution to the problem I am working on . It happens I suppose either you are conquering hero or a suffering hero lol.

Bairdy, I feel the same way about most of the programming languages. JavaScript introduces topics that are used over and over again in other languages like loops, boolean logic, arrays, and program logic elements...so I feel it's vital to learn what's discussed in JavaScript as you'll see the concepts repeated over and over in other languages. I feel that the different loops and arrays are tough to understand...so I'll ask you a question, how do you best learn? Like when you were in school what helped you the best: reading/writing about things, seeing things, doing things, or listening to things? I can further answer your question when I know a bit more info...also I notice that you're focusing mostly on HTML and JavaScript. How did you find learning HTML so far? Do you have less trouble with comprehension with different instructors?

Also just to explain a little about me, I find JavaScript to be challenging indeed...I'm going to have to repeat all the videos leading up to Arrays because I'm really getting lost in arrays. I'm coming from a non-IT background and learning a completely different way of interacting with the world is a massive challenge. I also am a kinesthetic (learn by doing) learner, so it's tough to find ways of learning that cater to this.

Also just something to consider too, the root of all programming languages is mathematics. So people that maybe struggle to understand math concepts might struggle to understand the logic/math in programming languages too (or at least I do). If you'd like, this is a link to the developer of the first programming language to interact with a computer above the base computer language called machine code, which is basically all math calculations: https://en.wikipedia.org/wiki/Grace_Hopper

Wanna see an old-school picture of machine code? (also remember that machine code still is running in all modern computers underneath it all) https://en.wikipedia.org/wiki/Machine_code#/media/File:W65C816S_Machine_Code_Monitor.jpeg

Thanks Bryan, ill go check that out mate!

Got a lot to reply to here! haha Hey Kristopher, yeah im definitely changing the way i think about learning these new skills, especially after reading all the input from everyone on here. I dont feel like JS is kicking my ass so much anymore! haha Im going to have a look on github and and start a little project, see how i get on with that! The pod casts are a great idea too, i have a massive drive home when i go on leave from work so that will be perfect!

Hey Tushar, im gonna start building something soon and see how it goes! researching everything as it comes up on teamtree is a good idea too, make sure i understand it fully before i move on! thanks!

Kristopher Van Sant
Kristopher Van Sant
Courses Plus Student 18,830 Points

That's awesome to hear! Don't get too frustrated when it does kick your butt again ;) . And I think that sounds great that you're going to start a project on Github! It's such a great tool, even for small personal projects. Hope you enjoy the podcasts! You'll learn a lot from them for sure.

by the way, on the JS full stack, does it get a little easier after the loops, arrays and objects??

Tushar Singh
Tushar Singh
Courses Plus Student 8,692 Points

Not really. JS is all about loops, arrays and objects, they are the building blocks really. You will use these things to make complicated stuff later so probably now you can understand the importance of these topics. Make sure you spend time on these topics as it will help you later.

If you need more practice with basics, I strongly recommend codeacademy.

After basics done, then yes it gets easier.