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 Foundations Variables Scope

Teacher Frustration!!!

Got so frustrated with this teacher glossing over important steps I went to YouTube to learn the foundation!

Dave McFarland
Dave McFarland
Treehouse Teacher

Hi pgmd

We're in the middle of re-creating the JavaScript foundations course -- could you let us know which concepts in particular were glossed over? We want to make sure we provide the depth of instruction you need to learn JavaScript.

Thanks for your help!

Yes, I would be happy to. I was just praising Teamtreehouse yesterday with a couple of friends on a job well done - until I encontered this course!. As I go through the learning process for Javascript and try top muddle through it, I will send you my feedback. Where can that be sent? TY

Yazeed Bzadough
Yazeed Bzadough
4,880 Points

Wow, this is really nice to see. I'm glad when a team takes the feedback of its users seriously. I hope the JS course becomes even better!

Jon Edwards
Jon Edwards
7,913 Points

Perhaps the course could explain the different types of comparison operators before just presenting it in the code in the video. === was mentioned in the null and undefined video, but I don't recall it being explained. Also he does little to explain why he tests for the things he does, or why it could accidentally be set to a value that was not expected. There are other websites that define it, but should we really have to reference other websites to understand a key concept he's explaining?

My guess is that he is trying to keep us from getting confused by the minutia, but maybe the opposite is happening for some. Better to just take the time to really explain things. My advice for the student is, just keep going, once more and more activities are seen, it will probably become clearer. If you stop and just feel confused you don't seem to get anywhere.

I'm a little confused but overall the concepts are sinking in. I'm anxious to get to the making real world interactive website parts. Thanks!

Edit: another nitpicky thing I noticed: please avoid typing code in the videos at the bottom of the screen, the navigation bar for the video often covers the code being typed!!! Thanks again!

Will McQuain
Will McQuain
7,625 Points

It might also be helpful to use a real practical example instead of something like "MyFunc" to be the example function. It becomes a little self-referential and confusing after you start building these on top of each other.

You should replace this JS course, with the new one in the Ruby Tract ;)

17 Answers

Darren Homan
Darren Homan
7,962 Points

Thanks thats great. I'm finding javascript incredibly hard in comparison to html,css and sass. I find it easier to learn if i have something to relate each project to rather than constant theory

Michael Liquori
Michael Liquori
8,131 Points

I do think this course is actually a great sequence for someone who already knows other languages and just needs to understand the particularities of JavaScript like == vs. ===, legal variable names, etc. So, maybe don't re-do it too much Treehouse.

I agree that these things are going to be like hitting a wall of bricks for beginners after doing the relatively fun and visual HTML and CSS courses, and I see Treehouse is on top of this with the aforementioned Javascript Basics course.

In defense of Professor Jim, I am enjoying and learning just fine. I think he could move a little more quickly even, but I am not a total beginner to programming in general.

William Bruntrager
William Bruntrager
11,473 Points

I agree with Michael here. I have a pretty good level of familiarity with Python, so mainly I am just watching these videos to understand JavaScript equivalents for the concepts I already know, as well as some of the unique features of JavaScript.

Not everyone is going to be in the same situation, but I think the ideal would be to allow two options: a quick course for people with some programming experience, and a slower-paced course for those who are new to programming.

Darren Homan
Darren Homan
7,962 Points

Id like to see it explained why you would need to do each of the things he's explaining. It's very hard to understand when you have nothing to relate it too

Dave McFarland
Dave McFarland
Treehouse Teacher

Thanks for the feedback Darren Homan

We're re-doing the JavaScript foundations course. In fact later this month the new JavaScript Basics course will be out!

Zeshan Ahmed
Zeshan Ahmed
13,151 Points

I have't taken much of the course, but so far, it's quite good and explanatory.

Though looking forward to upcoming release!

I am so happy to see this! I too, am frustrated with this course. There is lot of technical terms and very little practical examples of how the code behaves when executed. I took a very short intro to Js on Codacademy.com and I had a blast!! They had us code a paper, rock, scissors game. I still appreciate the effort Jim is putting forward in trying to teach us but I don't his approach works for me.

I have to agree with Michael Liquori here. For let's say us that know a bit of programming from other languages this course is rather good and like stated before - could even move a bit quickly. There should maybe be a option to choose if you would like this course or the new one if it's related to someone on a total beginners phase? Just a thought :)

how close is the new javascripts basic class now?

sweet! I'm currently going through this course. I'll hold off for now then.

Nkosi Ndlovu
Nkosi Ndlovu
9,652 Points

This Dave McFarland guy is a beast! The new course is amazing. Jim is an awesome teacher and I think his course can be recommended for those coming from other languages. For complete newbies; Dave is your guy!

Dave McFarland
Dave McFarland
Treehouse Teacher

Ha, ha! Thanks Nkosi. I like that: "this guy is a beast!"

Yup. Dave crushed it in his course. It was rich with analogies and very deliberate pedagogical strategies to not only present the material but actually make it accessible and easily understood. This "Foundations" course is lacking in this area.

ahhh been pushed out to November now.. bah..

Jon Edwards
Jon Edwards
7,913 Points

I've been following this thread for a month now. Good work Treehouse keeping up with it!

Awesome Sauce! <-- studying is my new job.. so much thanks! I gotta get them skills so I can get a new job.. :)

Ian Rutherford
Ian Rutherford
2,861 Points

Very pleased/impressed that Treehouse redid the javascript course. Much appreciated!

The new course looks AWESOME. Question: Do I still have to go throughout Javascript Foundations? It's part of my track (Front End Development) and I would like to stick to my track sequence :D

Dave McFarland
Dave McFarland
Treehouse Teacher

Hi Claudia,

We won't be changing the track until a second JavaScript course -- Loops, Arrays and Objects -- comes out in 2 months. At that point we'll replace Introduction to Programming and JavaScript Foundations with these 2 new courses.

Because JS Foundations covers a few things not found in the JS Basics course, we don't want to remove it until we've added another new JS course to cover those things too.

Sorry for the inconvenience.

No at all. I'll just do Javascript Basics then and wait. You people are so awesome, thank you for all your hard work!

Dave McFarland I didn't see the JavaScript course -- Loops, Arrays and Objects in the latest coming soon email. Please don't tell me it's been postponed! :( I'm waiting eagerly for the next course! :)

In the mean time I enjoyed your lesson so much I went and purchased your book. :) Looking forward to the next course!

Dave McFarland,

Any update on when the track will be updated or when Loops, Arrays and Objects will be added? I'd love to continue on with what I've been learning and have already taken the JS Basics course (as others have already said, fantastic course. So much easier to learn with than JS Foundations). I noticed there hasn't been any chatter on this topic for about a month. Update please???

Thanks so much!

Dave McFarland
Dave McFarland
Treehouse Teacher

We're working hard on it. Scheduled for beginning of Feb: http://teamtreehouse.com/roadmap

Awesome! Thanks for the quick reply!

Leisa Clark
Leisa Clark
4,531 Points

Hi Dave McFarland. I too have been struggling with Javascript foundations so I did Javascript Basics that you taught and I found it a lot easier to grasp, so thank you for your teaching. I am still fearful that I will not grasp Ruby on Rails as I continue to struggle with foundations but I am going to keep going and hope for the best. I am brand spanking new to coding (I was a Midwife before this) but i am loving the challenge and using my brain in a completely different way.

Dave McFarland
Dave McFarland
Treehouse Teacher

Hi Leisa Clark

I'm glad you're enjoying my class. Learning to program does take a lot of work and a lot of practice, but I'm sure you can learn to program. Keep having fun!

Kash Johnson
Kash Johnson
3,146 Points

As someone who's coming at this with zero experience in JS, there is something lacking about the current approach to teaching this, both from the new "Basics" course, which I did first, as well as this "Fundamentals" course. We would benefit greatly from real world examples of how this specific line of code or this certain concept can be utilized. I don't mean that I want to hear the instructor 'tell' us how it could be used in theory, but I want the video to break away to an existing, commercial program, or to a live website and point out, "This could not be done without utilizing this specific process within JS."....or...."Here is a great example of the functionality that is possible when utilizing....'X'."

I'm so new to this, most of the concepts come across as very abstract and general. I do grasp that they'll become more ingrained over time, but 'time' is what is precious to me. I want to make sure that watching all of these educational videos is the best use of that limited time.

Dave McFarland
Dave McFarland
Treehouse Teacher

Hi Kash Johnson

I agree that pointing out real world examples and showing the application of concepts to actual day-to-day tasks is really important. That's kind of what I was aiming at in the first video of JavaScript Basics, where I show many different examples and uses for JavaScript programming.

I also try to do that in other spots in the course, like pointing out how variables are used in different ways in real programs (for example, to store a player's score in a game).

The JavaScript Basics course is really teaching the fundamental building blocks of the JavaScript language. The concepts taught in there -- variables, strings, numbers, Boolean values, conditional statements, and functions are so much a part of everyday JavaScript programming that literally ANY use of JavaScript will use those concepts. In other words, at this starting level it's kind of like teaching someone a foreign language and beginning with basic vocabulary.

Kash Johnson
Kash Johnson
3,146 Points

Dave,

I appreciate the fast response. At this point, I'm switching tracks to the Web Design option. I think that i'll tackle JS last after getting an excellent grasp of HTML, CSS and a better vision of design. I've also read that Python was a good lead in for JS and that it's easier to grasp. Would that be accurate and if so, is it a good starting language prior to JS?

Dave McFarland
Dave McFarland
Treehouse Teacher

Hi Kash Johnson

Python is a great language. In fact, many people recommend Python as a first language to learn. It's not really related to JavaScript, however, and doesn't have application to the Front End part of web development. JavaScript is the language to learn if you're interested in adding interactive user interface effects to a site.

Starting with HTML and CSS and getting a good grasp of that will give you better ideas about how to use JavaScript for websites.

Python is often used on the backend of websites and with frameworks like Django or Flask. You can use it for adding to databases, building dynamic websites, as well as for lots of other uses.

Best of luck on your learning.