A structured lesson workspace with readable content, hands-on examples, and a clean path to completion.
| Question to ask | Good diagnostic move |
|---|---|
| What value entered? | Inspect the runtime value and type. |
| What rule applied? | Check the construct's language or host semantics. |
| What changed? | Compare the smallest working and failing cases. |
let attempts = 0;while (attempts < 3) {attempts += 1;}console.log(attempts);
<strong>Core idea:</strong> Control flow is where small syntax choices turn into program behavior. Good logic makes invalid states obvious instead of hiding them behind nested branches. In this lesson, the practical target is while and do...while loops: you should be able to predict what the runtime will do before changing the code.
Mentor note: for while and do...while loops, name the invariant you need before reaching for a clever shortcut. Clear state and explicit assumptions make later debugging much cheaper.
Finish the lesson once you have worked through the material. This awards ★ 20 XP.