DEV Community

Discussion on: What is the right learning path for an absolute beginner?

Collapse
 
somedood profile image
Basti Ortiz • Edited

For me, don't start with JavaScript at all. Briefly tackle HTML and CSS. Upon having prior knowledge of those two languages, there will be a reason to learn JavaScript and more. Having a direct way of applying newfound knowledge is the best way to learn. I believe that HTML and CSS does that job well as a way to complement in learning JavaScript.

Then once comfortable with browser JavaScript, only then will you introduce Node.js to your pupil. After that, you can introduce Git and GitHub (because of the open-source nature of NPM modules).

As for the individual topics to learn about JavaScript, focus on Ground Zero (not necessarily in order):

  • Data Types (except Symbols)
  • Variables
  • Operators (assignment, arithmetic, comparison, and logical ones for now)
  • Arrays
  • Objects (describe objects as an "array" with names as indices rather than numbers for now)
  • Functions (emphasize what return means)
  • Conditional statements (if, else if, and else)
  • HTML DOM (teach this so that the pupil can apply newfound knowledge)
  • Events and listeners
  • Loops and array iteration (while first, then for)
  • Teach your pupil how to use Google and Stack Overflow in case the time of desperation comes
  • Teach your pupil how to read documentation (especially from MDN)
  • Introduction to object-oriented programming with ES6 classes and the new keyword
  • Callback functions
  • Introduction to functional programming with array methods (map, filter, and reduce)
  • XMLHttpRequest (with a bit of an introduction on how clients, servers, and HTTP work)
  • Promises (mention "Callback Hell")
  • Explain what EcmaScript is
  • Introduce other ES6 features
  • Introduce Node.js and its module system (I wrote an article about it one time)
  • Introduce the world of open-source software
  • Introduce Git and GitHub

I think that's enough of a curriculum to get started with for now. Just a disclaimer, I am not guaranteeing absolute results.

Good luck! I hope your pupil learns well.

Collapse
 
ioedeveloper profile image
David Disu

This looks really helpful, Thanks.

Collapse
 
somedood profile image
Basti Ortiz

I got you, bro. 😉

If I know anything about teaching, it's that you should be patient with your students. Always put yourself in their shoes. Explain the topics like how you would have wanted to be taught.