No prerequisites. No paywall. No filler.
Coding with Dom is the free arm of the Academy of Computer Science. Every lesson starts at zero, ships something that actually runs, and ends with a problem you have to solve yourself.
I build every lesson around one rule: working code before theory. You install it, you run it, you break it — and then we talk about why it works. That order is not a stylistic choice, it is the whole method.
Every track starts at zero and ends with something that runs. No "assume you already know pointers." No thirty-minute setup detour before the first line executes. No cloning a finished repo and nodding along.
The videos live on YouTube. The written tutorials live here — searchable, copy-pasteable, and easy to keep open on a second monitor while you work. Same material, twice, because different people learn differently.
Three rules, applied to every lesson.
Working code in five minutes
Every lesson gets something running on your machine before it explains the theory. Motivation beats memorisation.
Built from scratch, not from a template
No cloning a finished repo and nodding along. You type it, you break it, you fix it — that is where the learning lives.
Free, for anyone, anywhere
No paywall, no account, no email capture. A student in any timezone gets the exact same material.
Academy of Computer Science
Coding with Dom is the free, open-to-everyone arm of the Academy of Computer Science — the same curriculum philosophy, none of the gatekeeping.
Visit academyofcs.comHow this site is built.
Because a site that teaches programming should be readable by the people learning from it.
Static HTML generated by a small Node script from Markdown files. No framework, no bundler, no runtime dependencies. Syntax highlighting runs at build time, so code renders correctly even with JavaScript disabled.
- Content — Markdown in
src/content/tutorials/, with a small custom parser. - Styling — one hand-written stylesheet driven by CSS custom properties; dark mode redefines seven of them.
- JavaScript — roughly 200 lines, all progressive enhancement: theme toggle, filtering, copy buttons, scroll reveal.
- Fonts — the system stack. Nothing is downloaded from a third party, so nothing tracks you.
- Hosting — plain static files. Works on GitHub Pages, Netlify, Cloudflare Pages or any web server.
The whole thing rebuilds with npm run build. If you are learning from this site,
the source is worth reading too.