I’ve read in a few places that freecodecamp’s tutorial for JavaScript is not particularly beginner-friendly. As I know I’m easily demotivated by feeling overwhelmed, I did some googling (“javascript for stupid people”, as it happens), I came across this site: http://jsforcats.com/
I liked the idea behind the premise - if a cat can follow this, so can you. Cute, etc.
I started my first foray into JS by reading along and following the directions by inputting code into the console. All was going semi-smoothly, until the section on methods/functions (the tutorial for the yellIt function). Then things started to go a bit haywire and I began re-reading, trying to make sense of it all.
It makes it worse when the instructor/writer makes it clear that it’s super simple, while you’re sitting there staring at the screen gormlessly. HOW is it simple?
Any tips for getting started with JS? What did you use?
Don’t feel bad about it : what’s easy for me may not be easy for you and the other way around.
I think that nothing is really easy for anyone until we know ourselves, our capabilities and, more importantly, how we can learn. Maybe videos are what you need or maybe you learn best by repetition and practice, it’s just a matter of finding that what makes sense to you (and/or how to make sense of it).
Maybe if you tell us what is it that you don’t understand we could help you further .
One thing you could try is explaining to someone else what you understood. That usually can help you find bugs in your thinking process .
Taking a technical and challenging subject and putting “cats” in front of it isn’t going to make it any less technical or challenging. It might make it less intimidating at first, but the truth is learning to program isn’t going to be easy (or cute). There is no “easy way” or magic shortcuts, learning is learning and it takes time and patience. Give your brain a chance to catch up to your ambitions.
Repetition and exposure are key. Instead of spending 5 hours for one or two days a week, spend half an hour each day (or however much time you can devote to it on a daily or semi-daily basis). Take lots of breaks and start fresh, it’s a marathon, not a sprint.
I barely remember how I started or what I did, but I know it wasn’t very focused or ambitious. I did really like https://watchandcode.com (the free course has been updated but I haven’t looked at it yet). I appreciated the no-nonsense “learn your tools” approach taken. It made me take everything just a bit more seriously.
We have to remember that the subject matter is not easy. If it were than you could learn it in a weekend and the job would pay a low wage. But that is obviously not the case. It is completely normal to struggle with programming.
Struggle is good sometimes. It forces you learn more, research more and ask more questions. So no matter who is teaching the material as you dig deeper into it there will be complex parts. So it is normal not to grasp something the 1st, 2nd, 3rd time around.
And it’s not just JavaScript, but all programming languages.
I also think part of the problem is that a lot of people don’t usually struggle the same with html and css as they do with programming languages. In programming you are writing commands to tell the computer to do something.
Patience is key. Take it slow. Keep researching and asking questions when you get stuck.
there are different approaches how to teach stuff.
E.g. there is a top-down and a bottom-up approach.
Bottom-up is how most universities teach stuff. You learn fundamentals. What is a data structure, an algorithm etc. This is mostly boring because there is no bigger picture in the material. But this approach works because the students already have some purpose in mind, otherwise most wouldn’t have enrolled in this degree.
Top-down is having an app in mind and learning on-demand. This is more motivating, but you lack the fundamental stuff. I think this works better for people who learn in their free time, when motivation is very low, because it’s just a hobby.
For sure. I’ve stopped gingerly hovering on the water’s edge and so far I’m going with a few daily resources. I’ve found articles are not the way for me - freecodecamp’s basics section, Watch and Code, and also a daily email newsletter with tips/motivation guides have been very helpful.
For sure, the article/most articles in general are not the way for me, I’ve found.
To be clear, I know learning to code is not ‘cute’, but as you said, it was a stab at finding something less intimidating. Better to find resources you derive learning value from. I’m finding the basic Javascript section enjoyable in short bursts, and also Watch and Code. Jon Duckett’s book is also a nice way to ease into looking at Javascript in digestible chunks, I’m finding.
I find that learning bottom-up (fundamentals not necessarily with context) is a gentle way to ease into the world of the language without getting mucky right away. For sure, it’s dull, but in some ways helpful to those intimidated.
I’ve been enjoying Gordon Zhu’s course so far, in that his principle is not to teach everything, but just enough to get what you need done. This way you get to build stuff very simply and also learn in context without getting bogged down with too much choice, which is naturally added in later. It’s great so far for me, but as with all learning methods, probably comes with its own drawbacks.
If you also take the time to view some of the office hours videos (which sadly is not updated anymore, at least not on YouTube) you will get some good stuff as well. And you will learn more about debugging and reading code.
I’m loving Gordon’s teaching style. I’m only doing small chunks every day, because the temptation is to whiz through the videos as they’re quite short. However, it’s best (for me) to do it in little pieces to keep it all fresh and exciting, and avoid getting sick of it/burning out.
The office hour vids look great - thanks for the recommendation.
My first thing was “JavaScript for Cats,” too! Here’s my 2 cents:
Coding requires a new mindset that many people rarely or maybe never use in their normal life. One must slow down. One must reread. One must practice.
I’m a very fast reader of novels, but I read at kindergarten speed when I am trying to learn coding. I might spend ten seconds on a single word.
And just because I comprehend what is written doesn’t mean I understand it. Not really. Truly understanding it requires practice.
So nothing about your experience is unusual or a red flag or anything like that. Maybe JS for Cats is not the best for you, or maybe it is… Either way, it’s going to take some time to pick things up. But once you get going, it’s a very rewarding sense of accomplishment and is a useful skill.
That’s a brilliant truth right there - thank you so much for this. It’s great to hear.
I’m juggling between the freecodecamp basic course and the revised Practical JavaScript course at the moment - really enjoying both. It’s super basic, but I was over the moon to pass the first quiz on arrays in Gordon’s course. Again, really basic concepts but the very fact that I understood it was amazing, and I felt so elated. So all is not lost yet!
Thanks @ZaraK. When going through my intro course, the main thing you’ll want to focus on is the quizzes. In theory, if your process is where it should be, you should be able to work through them confidently. Then afterwards, compare your work with the solution walkthroughs.