Skip to content

Free learning labs

Start with a question. Make sense of it.

Choose something you’re curious about. We’ll explain the basics, show what happens and help you try it for yourself.

These free lessons and missions are open now, with no account needed. Each starts with a question. Read, step through an example, and test what you understand. Full courses are still in development.

JavaScript mission

Why did an old search take over?

Control two replies, investigate an outdated result, test a repair, and make a challenge for a friend.

Before you start: Follow a small function and know that a promise represents a result that may arrive later.

You’ll learn to: Protect results, errors, and loading state from outdated requests.

Open this lab
Mechanical engineering

Why does a bigger gear turn more slowly?

Turn a pair of gears, swap the driven wheel, and compare their direction, speed, and number of turns.

Before you start: Only counting and division; gear terms are introduced here.

You’ll learn to: Predict a driven gear’s speed and direction from the tooth counts.

Open this lab
Mechanical engineering

How does a turn become a slide?

Follow a turning arm, a connecting rod and a sliding piston. Make a prediction, then explore how far the piston moves.

Before you start: Start from the basics; no mechanics knowledge needed.

You’ll learn to: Explain why the piston moves back and forth.

Open this lab
Computer science

How does a computer find a stored value?

Begin with numbered drawers and slots. Learn what binary digits mean, then use an address to find the right memory cell.

Before you start: Only counting and simple addition; binary is introduced here.

You’ll learn to: Separate the bank and cell parts of an address.

Open this lab
JavaScript

Why do messages appear in a different order?

Read a tiny program together. Learn what runs now, what waits, and why a zero-delay timer still runs later.

Before you start: You do not need to write code; the example’s notation is explained.

You’ll learn to: Predict the order of immediate work, a promise callback and a timer callback.

Open this lab