YOUR JAVASCRIPT LEARNING PATH

A little more JavaScript.
A little more confidence.

One idea at a time, with examples you can follow and checkpoints to see what’s clicking. New here? Begin with chapter one. Know a little already? Jump right in.

Before you start

No programming experience needed. Begin with values, basic strings, and arrays; the later chapters build toward asynchronous work and data validation.

17 open chapters. Your progress is saved as you go.

Your chapters

Choose any starting point
  1. 01

    Name a value, print it, and follow a small program one statement at a time.

    Start here, or skip ahead
    Open chapter: Your first JavaScript program
  2. 02

    Turn explicit input rules into predictable expressions.

    Open whenever you’re ready
    Open chapter: Values and decisions
  3. 03

    Create text, inspect it, and keep the result of a simple transformation.

    Open whenever you’re ready
    Open chapter: Strings you can read and change
  4. 04

    Keep an ordered collection, read positions, and append an item.

    Open whenever you’re ready
    Open chapter: Arrays and the first item
  5. 05

    Build small functions with explicit return contracts.

    Open whenever you’re ready
    Open chapter: Functions and loop boundaries
  6. 06

    Group related values in a record and pass that record to a small function.

    Open whenever you’re ready
    Open chapter: Objects with named properties
  7. 07

    Separate absent values from valid explicit values.

    Open whenever you’re ready
    Open chapter: Destructuring, defaults, and rest parameters
  8. 08

    Use array operations while tracking object identity.

    Open whenever you’re ready
    Open chapter: Transform collections without surprises
  9. 09

    Predict which mutations are visible through shared references.

    Open whenever you’re ready
    Open chapter: Object identity and deliberate nested updates
  10. 10

    Keep state local and choose reliable key storage.

    Open whenever you’re ready
    Open chapter: Closures and keyed state
  11. 11

    Keep object behavior connected to the intended receiver.

    Open whenever you’re ready
    Open chapter: Methods, receivers, and class invariants
  12. 12

    Separate reusable computation from application startup.

    Open whenever you’re ready
    Open chapter: Modules and explicit dependencies
  13. 13

    Reason about asynchronous order and propagate failures.

    Open whenever you’re ready
    Open chapter: Promises and failure paths
  14. 14

    Distinguish starting work from awaiting its completion.

    Open whenever you’re ready
    Open chapter: Concurrent promises and result ordering
  15. 15

    Choose the unit of text that an algorithm actually processes.

    Open whenever you’re ready
    Open chapter: Text, Unicode, and explicit normalization
  16. 16

    Prove progress before trusting a recursive algorithm.

    Open whenever you’re ready
    Open chapter: Recursive decomposition and search invariants
  17. 17

    Design transformations around explicit contracts and invariants.

    Open whenever you’re ready
    Open chapter: Validate data at boundaries

PUT IT TOGETHER

Final assessment & certificate

38 multiple-choice questions and 2 written coding problems. Pass the knowledge section at 80% overall and at least 50% in every chapter area, complete and review the written practice, and meet the attempt-integrity checks to unlock your certificate.

The certificate records a CodeQuest foundations assessment. Written work is self-reviewed; identity and independent proficiency are not verified.

Open final assessment

Take an issuer-recorded assessment with a verifiable certificate

Continue the original guided missions