DEV Community

Marvin Kirkland
Marvin Kirkland

Posted on

An Issue with Learning JavaScript

I've been learning JavaScript for a few months now. I've purchased a few JavaScript courses (some of those advanced) from Udemy. Despite a few errors here and there, I generally find them useful.

Andrew Mead's The Modern JavaScript Bootcamp is probably my primary source for JavaScript. We are building both a notes app and a todo app with some appreciable functionality.

I generally understand the concepts really well, but I have issues when it comes to coding some of this from scratch. Knowing not only why we place code but where we place it. And nested functions. This is my biggest challenge.

From what I can discern from the Web my best bet to build up these complex apps is to simply start practicing on more projects. I have a few personal projects I'd like to work on, but I don't think I'm quite ready for them.

I think I'll finish the JavaScript module from Free Code Camp and then start the projects associated with that module.

Do you have any ideas about what kinds of small projects to start?

Top comments (2)

Collapse
 
bradtaniguchi profile image
Brad

Do you have any ideas about what kinds of small projects to start?

There's really 2 paths you can go about learning JS.

  1. Is taking the "front-end" part where you take a more "traditional" approach to using JavaScript, where you learn some HTMl+CSS, and then learn JQuery/JavaScript to do stuff on the page. This setup reflects the original use-case for JavaScript, and is the underlying fundamentals of the modern web.

The issue with this approach is you need to learn a lot of extra stuff to get anywhere near programming, and this brings me to the 2nd path.

  1. Take the "programmer" path and learn JavaScript using NodeJs. You get to throw out the DOM/HTML/CSS/web page, and you get a JavaScript runtime where you can run Javascript. This removes all the extra stuff that takes learning front-end web and replaces it with a few things you get to interact with your system, like file system access.

The advantage of this approach is you can focus on learning just JavaScript the disadvantage is this is less traditional, and less "flashy" than learning client-side. It's much easier to get some basic input/output. (readline/console.log) than figuring out how it works on the client-side.

I have a few personal projects I'd like to work on, but I don't think I'm quite ready for them.

Just start and see how it goes! The best way to learn, regardless of which approach you take, is to just start and fight you way through problems you run into.

Do you have any ideas about what kinds of small projects to start?

First, think of a specific skill you want to learn, figure out what concepts you need to learn (say how conditionals, or how to handle user-input in JS) then try to learn it by doing a small project. (Google is your friend) If you find yourself totally out of your element, back-up and make the project simpler and try again.

The key isn't to "learning so I can do this", Its "do this so I can learn it". Yes you wont know whats wrong with your code, yes you might need some help, but you get experience by dealing with issues and figuring out problems with your own code, this process will happen on day 1 and day 1 million haha.

Goodluck, happy coding 😄

Collapse
 
sfwritermdk profile image
Marvin Kirkland

Thanks for the thoughtful comment Brad. I’m focusing on frontend JavaScript at the moment. And advanced JavaScript.

I’ll be starting React soon followed by Node. I definitely want to go “fullstack”. I’m unsure st the moment as to which end I want to focus on.