tutorpackSee prices
All courses

Programming · course 13 of 105

JavaScript Fundamentals, Quirks Included

Read and write beginner JavaScript, from == vs === and truthy values to loops, arrays, objects and closures, every answer checked against what the code really prints.

7 modules

Not on sale yet. When sales open: $4.99 USD for this course, paid once, or every course for $9.99 USD a month. Prices

Runs in Claude (claude.ai, the Claude apps or Claude Code) with your own Claude account. A course opens there as soon as your payment goes through; nothing is shipped.

Preview

What it teaches

The JavaScript a beginner actually needs: values, let / const / var, types and typeof, numbers and the float trap (0.1 + 0.2), strings and template literals, conditions (== vs ===, truthy and falsy, && || ??), loops (for, while, for...of vs for...in), arrays (and why b = a isn’t a copy, and why sort() sorts as text by default), objects and JSON (and why a spread copy is shallow), and functions (return vs console.log, arrow functions, scope, closures, hoisting). The AI asks 3 questions, places you, shows a short rule card per module, then gives you one piece of code at a time: say what it prints (or which error stops it), or write the code yourself. It checks your answer against keys produced by actually running the code, names the mistake when it’s a common one ("+ joins when one side is text", "sort() compares as text"), and brings the same item back until you’ve got it.

How long

140 questions in all. A beginner who misses about 1 in 5 needs roughly 15-25 rounds per module across 7 modules, plus a 14-item final test: 5-7 sessions of 20-25 rounds (estimate, not timed with a real student). The tutor gives a one-line save code at the end of each session; paste it into a new chat to carry on.

The modules

7 modules, drilled one item at a time.

  1. M0

    Values, variables, types and numbers

    What does it print, write the code, concept

  2. M1

    Strings and template literals

    What does it print, write the code, concept

  3. M2

    Conditions and logic

    What does it print, write the code, concept

  4. M3

    Loops

    What does it print, write the code, concept

  5. M4

    Arrays

    What does it print, write the code, concept

  6. M5

    Objects and JSON

    What does it print, write the code, concept

  7. M6

    Functions

    What does it print, write the code, concept

Before it teaches, it asks

  1. 1
    What do you want JavaScript for (a job, websites, automating something, a class, curiosity)? Have you written any code before, in any language? Can you run JavaScript on your computer right now (Node or a browser console; fine to say no)?
    AI voice (ElevenLabs)
  2. 2
    What does this print?let a = 3;let b = a;a = 10;console.log(b);
  3. 3
    What does this print?for (let i = 0; i < 3; i++) {console.log(i);}

What’s exact, and what isn’t

Show

Straight from the course’s own notes.

Exact
Every key, every Test result and every trap result was produced by running the code in Node.js: on Node v25.9.0 and again on Node v22.22.2, and also run directly as node file.js (so the error name is read from Node itself), with no difference. The keys are Node’s output: what console.log prints. A browser console can show some values (arrays and objects) differently, so the tutor treats Node’s text as the key and judges a pasted browser answer by its values. Hand-written answers were checked against the runs; every listed wrong answer (120) differs from the key, and for 83 of them the code the student is picturing was run and really prints that wrong answer. 119 items (99 “what does it print”, 20 “write the code”) plus 21 concept questions. To check an item yourself, save it as a file and run node file.js on Node 20 or newer (toSorted needs 20); the node prompt and browser consoles can print something different.
Judgment
When your code isn’t one the key lists, the AI traces it on every test and shows a Check: line with each result. It won’t mark you wrong without naming the test that fails. If you can run JavaScript, paste your output and Node wins.
Not in it yet
The DOM and web pages, async / promises, try / catch, switch, classes, modules, regular expressions, Map and Set, dates.