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 DOM Scripting By Example Editing and Filtering Names States of the Application

Nick Wilson
Nick Wilson
5,060 Points

I don't understand a couple things.

First issue... Why does he write out all this sloppy code, and then go in and start moving things around?! Why not just plan your attack first, and know what functions you need to create and create them first, then move on making sure that everything is working??

When he goes back and moves things around, it bugs me because that just creates more work and more confusion on my part because he taught it one way, then I have to move things around, look at the code again and it gets confusing.

Second... How can I learn the terminology better?! I'm dying here. I can do the videos fine and then I get to the quizzes or exercises and I find myself not understanding the question because of the terminology.

How can I get better at understanding terminology?

The DOM courses have been the worse for me so far.

First issue: He is trying to show how it looks in the real world. You will never know beforehand what you will need and how you can definitely implement the code. Think of it this way: When an author writes a book, how many times do you think he/she has to rewrite sentences, change words or remove whole paragraphs? The same happens when you are coding. When you have the outline of an application, you try to tidy up the mess afterwards (packing stuff in functions etc.).

Second issue: If you have issues following along, then it might be the case that you did not understand some concepts from previous courses. Try to re-watch some basic courses or look up other resources. Sometimes another way of explanation will help you see through some concepts (Google is your friend). For example, it took me about 2 weeks of searching through the internet and reading tons of blogs to understand the concept and usage of closures.

Terminology needs time as everywhere else.

Coding is not easy and it needs a lot of time. You might get the false sense of competence, because the beginner courses are pretty easy to follow and the pace is pretty linear. But the truth is that there is no constant pace. Sometimes, it is easier and sometimes it is harder.

If you think that you have understood the previous courses, then try to rebuild the stuff without watching the video.

Don't rush and get discouraged. Sometimes you feel that you are not moving forward... This happens to me all the time. Just get used to that feeling. As long as you are no giving up, everything turn out fine sooner or later.

4 Answers

Tom Geraghty
Tom Geraghty
24,174 Points

I second what everyone here is saying; also, don't just watch the videos one after another. Instead, watch one, then try it out, build something of your own that does what you just learned in the video. Make it concrete that way. Also it's ok to watch the videos more than once. Sometimes you need to hear things a couple times before they really sink in.

I think it's important to see Guil "moving things around" as that is reflective of what you'll do when developing. He's showing us code refactoring, essentially. These videos are planned ahead of time so sometimes it seems like they put out a polished product on the first try when the reality of building something is you hack together pieces until it works. Then after it works you can take a step back and often realize ways of improving the code--for readability (such as renaming variables) and performance (e.g. decreasing memory/bandwidth usage).

Loving google more than ever.

First issue: Agree with Egarat. The instructor is showing you how to do it step by step and how to relook at code to make it better (refactoring). When we start off, it's usually normal for us beginners to write everything in the same function, when actually it can be split up to be more modular, smaller functions. Writing everything in the same function may seem easier since it can accomplish the same thing, but in the long run it makes code harder to read and maintain. So I think he's doing a good job in showing the process... write a small part, make sure it's working, and then continue on.

Second issue: Terminology just takes time. I find myself Googling and re-reading the mozilla documentation a lot. Actually running some examples so that it sticks in your memory better.

Jonathan Kuhl
Jonathan Kuhl
26,133 Points

Just want to add, it's a great help to go to JSFiddle or CodePen and just play around with JavaScript.

Petar Pavlov
Petar Pavlov
16,184 Points

Hi Nick, I have same issues as you do :) and found out that best way to "store values in my mind" ;) from JS courses is with practicing on a small personal projects :) make some project site and add pop-up registration forms, buttons etc. and you will see that by digging in MDN , Google and etc. most of the things will start clear in your mind :) Good luck mate! :)