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 Data Using Objects The Student Record Search Challenge Solution

Gabriel Ward
Gabriel Ward
20,222 Points

Is this supposed to be relatively easy programming?

If I can't solve the challenge without any help or watching the solution video, is that a sign that I'm not cut out for programming? This is meant to pretty basic stuff right?

If it helps you feel less alone, I just spend about 5-6 hours going through the Intro to JavaScript course on Codeacademy.com, specifically so that I could solve the 2nd challenge to this video. This is already after having spent another 227 minutes watching the Lynda.com Fundamentals of JavaScript course; I still have another 1.5 hours to watch of that.

To me, no, this does not feel like basic JavaScript. My answer was still not exactly like Dave's and that is because I didn't use the DOM code snippet he used - i.e., "outputDiv = getElementById", etc. I wasn't able to figure out the solution for the previous challenge in this lesson, and I thought that the reason I couldn't figure this out was because I'd quit too soon. But, I don't think that's the case.

Altogether, I've spent about 10-15 hours on this one solution. I do not think it's possible for someone at the novice or beginner level to put this solution together in the way the video suggests given the information that we have been taught thus far.

I will say, however, that you will get better if you're able to seek out solutions on your own, even if it means signing up for yet another online tutorial - well, at least that is what I am hoping! (Codeacademy is free, btw.) It will take 5-6 hours to get through everything up to and including Objects. And, watching the Lynda.com course helped in both this course and in the Codeacademy course, because the Lynda course is really just an overview/survey.

Gabriel Ward
Gabriel Ward
20,222 Points

Hi Alison,

Thank you for your thoughtful reply. I think you're right, using multiple resources is the way to go. I'm going through Code Academy as well, and seeing the same concepts with different explanations and examples is helpful.

The more I code, and the more I talk to professional programmers, I realise that it's ok not to be a genius programmer who knows everything, and can come up with solutions to everything by themselves. The main message I get from professional programmers is 'just stick with it, you'll get it.'

Can I ask what you do? Are you just studying this for interest?

Cheers,

Gabe

Gabriel Ward
Gabriel Ward
20,222 Points

Hi Alison,

Thank you for your thoughtful reply. I think you're right, using multiple resources is the way to go. I'm going through Code Academy as well, and seeing the same concepts with different explanations and examples is helpful.

The more I code, and the more I talk to professional programmers, I realise that it's ok not to be a genius programmer who knows everything, and can come up with solutions to everything by themselves. The main message I get from professional programmers is 'just stick with it, you'll get it.'

Can I ask what you do? Are you just studying this for interest?

Cheers,

Gabe

3 Answers

It just means you need to keep practicing, programming is a lot like playing an instrument, you're not going to be able to play a Fiorillo etude on the first go, you've got to learn scales and often enough, that takes a while to get down.

Keep going, redo the exercises over and over until you can do it more or less by yourself (and remember in a lot of computer science and programming things there's a steep learning curve at first. You're cut out for programming if you can get through the first part!)

Ryan Ruscett
Ryan Ruscett
23,309 Points

Hey,

I wouldn't call JavaScript simple. It's also not that it's super hard, but it sure can be complex and complicated. All programming languages use syntax differently. JavaScript although no relation to Java, is very similar. It's different enough to where a Java Developer who has never done JavaScript would know the concepts, ideas and understand what things are, but would also probably fail. I mean, JavaScript is like python in that it has no real data types. Python you just say x=5 or x ="six". Where as java it's String x ="Six" or int x = 5. In JavaScript. You define variables with a keyword sort of like java. With var... But it doesn't make you clarify the data type so kinda like python. var x = "Seven" or var x = 5.

JavaScript also takes advantage of HTML ID's in order to change elements on a page. It's a lot like python and java for it uses .notation, and objects etc. But it's works differently when it comes to collections of data.

Don't think that because you can't do the exercise means you can't be a programmer. Just know that learning one language snowballs into making it easier to learn other languages, but by no means makes you a pro at other languages. it all takes learning and time.

Then there will always be the content battle that I struggle with. I do something in one language work on it for 3 weeks and it's awesome. Then I do someting else and a month later i can't remember how I did it. It's something a lot of people struggle with. It is what it is. Keep trying and you will get it. If you have never done it before than of course, you are not suppose to know how to do it. That is why people get paid good money to do it. if it were that easy everyone would do it.

Programming is a skill, not an innate talent. After a lot of practicing, reading and learning from mistakes, slowly, it will start to make sense. The good news is that once you learn one language, a lot of the principles will carry over to other languages - and then you'll realize that syntax is the easy part; figuring out how to solve unique challenges is the harder (and more rewarding) part.

I hit brick walls all the time, and when I do, I'll typically bounce to another topic (or take a good long break).

Official documentation doesn't always cater to beginners, so we rely on tutorials, books, videos, forums, articles - anything that can help us jump that hurdle and move on.

Gabriel Ward
Gabriel Ward
20,222 Points

Hi thanks Robert.

So you'd say not to lose heart if I have to watch the solution video and work backwards from there. This is my first foray into programming, so everything still seems relatively new to me. I do feel like relying on these tutorial videos isn't that helpful, in terms of the fact that pro developers out in the real world face challenges that don't have neat videos with the solution they are looking for.

Gabriel Ward
Gabriel Ward
20,222 Points

Also, I'm just curious, are you a professional programmer Robert?

I've had a couple paid gigs, but I'm currently not employed in this industry. In college, I completed the undergraduate courses for C++ as well as several other courses including x86 Assembly, Java, PHP, and front-end Web development. I've also gone through Harvard's CS50 on edX - I completed about half of the course material and then just watched the remaining video lectures.

My view on these videos is that they provide a high signal to noise ratio of distilled information that would be difficult to obtain on my own, in the same amount of time. Before I found Treehouse, Google was my only way of discovering how to learn more about an algorithm or function. While Google remains an invaluable tool, it's sometimes hard to know which link to follow that will provide good information in the least amount of time - on average, this method of discovery and learning tends to have lower signal to noise. I may find some great information, but it may take all day.

Even with books, especially when trying to learn new programming concepts, as readers, we take the risk that there may be several typos in the code examples - which is just terrible for beginners who don't yet understand how to debug code.

To wrap this up, I think the big takeaway is to not give up. As programmers, we're constantly switching between two states of existence. We're either masters of our domain, or we have no idea what we're doing.

two states