How lessons work

Every lesson follows the same pattern, so you can focus on the ideas instead of working out the page. The approach is simple: explain one thing clearly, let you try it straight away, and check that it stuck.

  1. 1

    Read a short explanation

    Each lesson starts with one idea, explained in plain words and shown in real code. Underlined words open a quick definition with an example, so you never have to leave the page to look something up.

  2. 2

    Run the examples

    Python, JavaScript, TypeScript and SQL examples run right in your browser. Change a value and run it again. Breaking things on purpose is one of the fastest ways to learn how they work.

  3. 3

    Clear up a common mix-up

    Most lessons answer one question beginners often get wrong, such as "Does a Python variable have a type?". You get the answer first, then a few reasonable-sounding beliefs about it. Think about why each is wrong before you open the explanation.

  4. 4

    Practise with checked exercises

    Exercises run your code and tell you exactly which checks passed. Hints come one at a time, and a reference solution is there when you want to compare.

  5. 5

    Check yourself

    A couple of quick multiple-choice questions at the end show whether the idea has stuck. Wrong answers explain what went wrong.

A few tips

  • Go in order. Lessons within a course build on each other. The previous and next links at the bottom of each lesson keep you on track.
  • Type the code yourself rather than only reading it. Small typos and their error messages are part of learning.
  • Little and often beats long sessions. One lesson a day adds up quickly.
  • Your progress is saved in this browser. Nothing is sent anywhere and there is no account. The progress page shows where you are.