Programming foundations

Stage 1 of 6 · 10 lessons · ~4 months

Your first language

Learn JavaScript properly as a language before any framework: values, control flow, functions, arrays and objects, and errors. Run it in Node.js from the terminal as well as in the browser.

Start: Values, types and let/const

Lessons· one lesson for each topic, in this order

  1. 1Values, types and let/const
  2. 2Strings and template literals
  3. 3Conditionals and loops
  4. 4Functions, scope and arrow functions
  5. 5Closures
  6. 6Arrays and objects
  7. 7References and copying
  8. 8Errors, try/catch and debugging
  9. 9Modules and running code in Node.js
  10. 10Promises and async/await, a first lookOptional

Start with· follow one of these

  • CoursePaid
    Grokking JavaScript Fundamentals

    Design Gurus · Beginner · $50

    The language itself, closures and async included, with runnable exercises per lesson

  • GuideFree
    JavaScript.info

    Ilya Kantor

    Free: Part 1 is the most complete modern JavaScript tutorial, with tasks per chapter

Practise

  • Small exercises in your language track, with free feedback from a human mentor

  • Foundations path: the JavaScript basics lessons and the exercises repo with tests

Keep handy

  • The JavaScript reference: look up every array and string method here

Before moving on: Write a 150-line Node.js command-line program, such as a quiz or a budget tracker, that uses functions, arrays, objects, reading a JSON file and error handling, without following a tutorial.

Tauseef's advice
Learn the language before React or any framework: people who skip this spend years confused by closures and async code. Type every example, run your code in Node.js as well as the browser, and do not switch languages for three months.

Mark this stage as not done?