JavaScript / Advanced · Free and public

Advanced JavaScript in 7 Days

Design, test and measure a small ordered task-pool library with explicit lifecycle contracts.

Start Day 1 →

Build on what you know

Prerequisites: JavaScript intermediate: modules, promises, async/await, cancellation and tests. The first lesson links to the relevant earlier material. Take extra sessions whenever a prerequisite needs practice.

30 lessons over seven days. Plan around 60–90 minutes per day for worked explanations, prediction, contrasting cases and independent practice; the exact suggested total appears below each day. Delayed review is extra. These are proposed active-study budgets, not measured completion times.

Runnable examples use the existing JavaScript console editor. Async programs finish with main() so the runner waits for them. Concurrency is cooperative, not CPU parallelism. No account or external API required.

Use hints before solutions, change inputs, and return after a delay. Completion is saved in this browser separately from other courses. Editor edits are not automatically persisted. Download the tested modular project for optional Node.js 22+ local work.

Day 1 · About 80 minutes

Objects & Callbacks

Trace prototypes, receivers and private state before designing a small API.

  1. Properties & Prototypes 17 min · Read, predict, build and test
  2. this, call() & bind() 20 min · Read, predict, build and test
  3. Classes & Private State 18 min · Read, predict, build and test
  4. Checkpoint: Bounded Counter 25 min · Independent practice

Day 2 · About 80 minutes

Iteration & Demand

Build lazy finite pipelines and close unfinished iterators.

  1. Iterable Protocols 17 min · Read, predict, build and test
  2. Generators & Cleanup 20 min · Read, predict, build and test
  3. Lazy Pipelines 18 min · Read, predict, build and test
  4. Checkpoint: Lazy Batches 25 min · Independent practice

Day 3 · About 80 minutes

Concurrency & Cancellation

Bound active work, preserve ordering and explain cooperative settlement.

  1. Bounded Concurrency 17 min · Read, predict, build and test
  2. Demand & Buffering 20 min · Read, predict, build and test
  3. Cancellation & Settlement 18 min · Read, predict, build and test
  4. Checkpoint: Ordered Work 25 min · Independent practice

Day 4 · About 80 minutes

Library Contracts

Specify errors, ownership and callback behavior with observable rules.

  1. Error Types & Causes 17 min · Read, predict, build and test
  2. Snapshots & Ownership 20 min · Read, predict, build and test
  3. Callbacks & Reentrancy 18 min · Read, predict, build and test
  4. Checkpoint: Failure Policy 25 min · Independent practice

Day 5 · About 80 minutes

Testing Difficult Cases

Control async schedules and verify invariants with mutations.

  1. Controlled Async Tests 17 min · Read, predict, build and test
  2. Failure-Path Tests 20 min · Read, predict, build and test
  3. Invariants & Mutation Checks 18 min · Read, predict, build and test
  4. Checkpoint: Regression Evidence 25 min · Independent practice

Day 6 · About 80 minutes

Performance & Lifetime

Measure workloads, inspect scaling and bound deliberate retention.

  1. Performance Measurement 17 min · Read, predict, build and test
  2. Algorithms & Scaling 20 min · Read, predict, build and test
  3. Memory & Lifetime 18 min · Read, predict, build and test
  4. Checkpoint: Responsive Work 25 min · Independent practice

Day 7 · About 80 minutes

Ship an Ordered Task Pool

Run the complete library and tests, document its limits and solve a fresh retry brief.

  1. Capstone: Ordered Task Pool 15 min · Read, predict, build and test
  2. Tests & Failure Lab 15 min · Read, predict, build and test
  3. Modules & Local Use 15 min · Read, predict, build and test
  4. Documenting Library Limits 15 min · Read, predict, build and test
  5. On Your Own: Sequential Retry 20 min · Independent practice
  6. Come Back Later: Review Challenges 20 min · Return later · extra review