Beginner · Free · In your browser

Learn JavaScript

Go from first expressions to reliable data features. Build a progress report, then explore immutable updates, sorting, validation, and debugging before creating a course recommendation engine.

20 lessons6 modules3.5 hours of practice4 challenges
Start the JavaScript course →

No installation. Your code runs right in the browser. No previous experience required. A little curiosity is enough.

What you will be able to do

Course outline

Module 1

Values & first steps

Build a reliable foundation in values, variables, and types.

  1. Hello, world!Meet your console · 5 min
  2. A place for your dataVariables & values · 6 min
  3. Numbers that make senseTypes, operators & formatting · 8 min
Module 2

Decisions & reusable work

Choose a path, repeat work, and write functions.

  1. Make a decisionConditions · 7 min
  2. Repeat with a purposeFor loops & accumulators · 9 min
  3. Do more with functionsReusable code · 7 min
Module 3

Collections & meaningful data

Select records, model objects, and normalize text.

  1. Keep related things togetherObjects & properties · 7 min
  2. Find the right itemsArrays, filter & map · 9 min
  3. Make text work for youString methods & normalization · 8 min
Module 4

Reliable features

Handle bad data, aggregate records, and build your final report.

  1. Recover from bad dataJSON & try/catch · 9 min
  2. Turn a list into a resultReduce & aggregation · 10 min
  3. Project: a learning progress reportFinal project · collections & functions · 18 min
Module 5

Reliable data pipelines

Unpack records, make deliberate copies, transform collections, and sort with a rule.

  1. Unpack the values you needDestructuring & defaults · 10 min
  2. Make a copy with a purposeSpread & immutable updates · 11 min
  3. Build a small transformation pipelinefilter, map & reduce · 12 min
  4. Sort with an explicit ruleComparators & mutation · 12 min
Module 6

Design, validate & debug

Set input contracts, explain failures, repair shared state, and build a recommendation feature.

  1. Validate data at the boundaryType and range checks · 12 min
  2. Give a failure a clear meaningthrow, try & catch · 11 min
  3. Debug an unexpected shared updateDebugging & reference tracing · 13 min
  4. Project: a course recommendation engineCapstone · reliable data features · 24 min

Ready for your first line?

Every lesson is short, hands-on, and checked automatically.

Start learning JavaScript →