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.
Your chapters
Choose any starting point- 01Open chapter: Your first JavaScript program
Your first JavaScript program
BeginnerName a value, print it, and follow a small program one statement at a time.
Start here, or skip ahead - 02Open chapter: Values and decisions
Values and decisions
BeginnerTurn explicit input rules into predictable expressions.
Open whenever you’re ready - 03Open chapter: Strings you can read and change
Strings you can read and change
BeginnerCreate text, inspect it, and keep the result of a simple transformation.
Open whenever you’re ready - 04Open chapter: Arrays and the first item
Arrays and the first item
BeginnerKeep an ordered collection, read positions, and append an item.
Open whenever you’re ready - 05Open chapter: Functions and loop boundaries
Functions and loop boundaries
BeginnerBuild small functions with explicit return contracts.
Open whenever you’re ready - 06Open chapter: Objects with named properties
Objects with named properties
BeginnerGroup related values in a record and pass that record to a small function.
Open whenever you’re ready - 07Open chapter: Destructuring, defaults, and rest parameters
Destructuring, defaults, and rest parameters
IntermediateSeparate absent values from valid explicit values.
Open whenever you’re ready - 08Open chapter: Transform collections without surprises
Transform collections without surprises
IntermediateUse array operations while tracking object identity.
Open whenever you’re ready - 09Open chapter: Object identity and deliberate nested updates
Object identity and deliberate nested updates
IntermediatePredict which mutations are visible through shared references.
Open whenever you’re ready - 10Open chapter: Closures and keyed state
Closures and keyed state
IntermediateKeep state local and choose reliable key storage.
Open whenever you’re ready - 11Open chapter: Methods, receivers, and class invariants
Methods, receivers, and class invariants
IntermediateKeep object behavior connected to the intended receiver.
Open whenever you’re ready - 12Open chapter: Modules and explicit dependencies
Modules and explicit dependencies
IntermediateSeparate reusable computation from application startup.
Open whenever you’re ready - 13Open chapter: Promises and failure paths
Promises and failure paths
AdvancedReason about asynchronous order and propagate failures.
Open whenever you’re ready - 14Open chapter: Concurrent promises and result ordering
Distinguish starting work from awaiting its completion.
Open whenever you’re ready - 15Open chapter: Text, Unicode, and explicit normalization
Text, Unicode, and explicit normalization
IntermediateChoose the unit of text that an algorithm actually processes.
Open whenever you’re ready - 16Open chapter: Recursive decomposition and search invariants
Prove progress before trusting a recursive algorithm.
Open whenever you’re ready - 17Open chapter: Validate data at boundaries
Validate data at boundaries
AdvancedDesign transformations around explicit contracts and invariants.
Open whenever you’re ready
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.
Take an issuer-recorded assessment with a verifiable certificate
Continue the original guided missions