JavaScript path: 59 days to programming for real
Fifty-nine one-hour sessions, one a day, in four modules, for those who have already tinkered with web pages (you know what HTML and CSS are) and want to move on to actual programming. The goal: go from "I copy JavaScript snippets found online" to "I write, test and debug my own programs, in the browser and with Node.js".
Why JavaScript, and for whom
JavaScript is the only language browsers execute, and it also runs on your machine thanks to Node.js: one language for the web page, the utility script and the small server. This path assumes you have already seen an HTML page and a CSS rule — if not, start with the site's web development path, which covers HTML, CSS and browser JavaScript for beginners. Here we barely touch the DOM or page visuals: we learn the language itself — values, functions, async, testing — like a real programming course.
The method, the same every day
| Time | Phase | What you do |
|---|---|---|
| 20 min | Theory | The session's course (on the module page), read calmly, taking notes. |
| 30 min | Practice | You type the code yourself in the console or in Node, and you SEE it run. Every exercise has an explicit success criterion. |
| 10 min | Recap | Three lines in the notebook, then redo the day's exercise without notes. |
Typing the code by hand matters as much as understanding it: never copy-paste an example, retype it. The typos you fix are exactly the errors you will know how to repair later.
The tools, installed once (day 1)
- Node.js LTS, from nodejs.org — free, official, for Windows, macOS and Linux. Pick the version labelled "LTS" (long term support): the stable one. It also installs
npm, the package manager. - A recent browser (Firefox, Chromium…): its console (F12 key, "Console" tab) is an instant JavaScript playground, with nothing to install.
- A code editor: VSCodium (the fully open-source build of Visual Studio Code) is recommended. A code editor is not a word processor: it saves plain text.
- A digital notebook: a simple folder of text files, one file per day.
No account to create, no bank card: the whole path runs on these free tools. From module 3 on, an internet connection is used to call free public APIs (Open-Meteo, no key).
The golden rule
One hour every day beats seven hours on Sunday. If you miss a day, you do not catch up the next day: you shift everything by one day, and you trim module 4. Sessions are numbered D1 to D59, with no dates: only order and regularity count.
Learning with an AI, without letting it code for you
This path can be followed with an AI as a tutor, ideally a model running at home (see your first local model): your experiments never leave your machine. It saves you time when it makes you work, and wastes it when it works in your place.
- Ask it to explain an error, to quiz you, to review your code. Not to write the exercise: a model writes plausible JavaScript that sometimes does not run, or uses idioms from ten years ago.
- Never copy its code without re-reading it line by line and running it yourself. In JavaScript more than anywhere, the answer depends on the language version: demand modern code (const/let, arrow functions, async/await, ESM modules).
- Check what it claims against the reference documentation, MDN Web Docs: a model can be wrong with confidence, including about the argument order of a method.
- Never paste passwords, personal data or private file contents into it.
Each session ends with an "Agent tips" box: how an agent (Claude Code, Kimi Code, OpenFox) would do the same task, the trap to avoid, and the proof to demand. We learn by hand, and along the way we learn to delegate without being fooled.
The four modules
Each module is a page: the sessions follow one another, each with its objective, its course, its step-by-step practice and its recap. Tick a module when all its sessions are done; your progress stays in your browser.
Recommended free resources
- MDN Web Docs — JavaScript — the reference to keep at hand for the whole path.
- javascript.info — the best modern course online, to read alongside modules 1 to 3.
- The Node.js documentation — the reference for built-in modules, for modules 3 and 4.
- Open-Meteo — the free, keyless weather API used as the playground for the final project.
The end-of-path checklist
- I handle variables, numbers, strings, arrays and objects without hesitating.
- I write a function, and I compose it with map, filter and reduce.
- I can explain the event loop and predict the output order of a script mixing console.log, setTimeout and promises.
- I write asynchronous code with async/await and I catch its errors.
- I run a Node script, read files, and write a tiny HTTP server.
- I write tests with node:test and I make them pass.
- I structure a small tool into ESM modules, documented in a README.
- I have a finished project: a CLI that queries a public API, tested, every line of which I can explain.
A box left unticked is not a failure: it is the list of what you will revisit first.
- 1JavaScript module 1: the fundamentals, console in handDays 1 to 14: the console, Node, values, types, let/const, operators, strings, arrays, objects, errors, conditions, loops, functions — instant feedback on every line.
- 2JavaScript module 2: the hard parts, made friendlyDays 15 to 28: scope, closures, map/filter/reduce, destructuring, errors, JSON, dates — the scary parts, explained and practised one at a time.
- 3JavaScript module 3: asynchrony and Node.jsDays 29 to 42: callbacks, the event loop properly understood, promises, async/await, fetch, then Node.js — scripts, npm, files and a tiny HTTP server.
- 4JavaScript module 4: test, structure, shipDays 43 to 59: ESM modules, testing with node:test, debugging, the architecture of a CLI, and the final project — a tested, documented weather tool.