Seven days per course · Your own pace

Learn JavaScript.Make your ideas interactive.

Start with your first message. Learn to work with data, write useful functions and make a webpage respond. Then build toward asynchronous applications and reliable libraries.

Public courses
3
Lessons
102
Days per course
7
Installs needed
0
Try it here — press Run JavaScript
// Change a duration, then press Run. const sessions = [25, 10, 15]; let total = 0; for (const minutes of sessions) { total += minutes; } console.log("Planned: " + total + " minutes");

Change 25 to 30. Predict the new total, then run again.

Find your starting point

Three levels. One clear path.

New to programming? Start here. The beginner course assumes no programming experience. Every available course is public, with no sign-in required.

01 / BeginnerPublic

Beginner JavaScript

Your first programming course

Learn values, decisions, loops and functions, then connect them to an interactive page.

  • Arrays, objects and reusable functions
  • Validation, debugging and small tests
  • A study planner and an independent project
You will buildStudy planner with a browser form

36 lessons · 7 days

Explore beginner
02 / IntermediatePublic

Intermediate JavaScript

After beginner JavaScript

Organize a larger application and keep asynchronous work, errors and interface state under control.

  • Closures, modules and promises
  • Service boundaries and cancellation
  • Deterministic tests and UI state
You will buildReading queue application

36 lessons · 7 days

Explore intermediate
03 / AdvancedPublic

Advanced JavaScript

After intermediate JavaScript

Design a reusable library and explain its behavior under concurrency, cancellation and load.

  • Object models and iteration
  • Bounded concurrency and cancellation
  • Controlled tests and performance measurement
You will buildOrdered task-pool library

30 lessons · 7 days

Explore advanced

More than a page to read

A little explanation. Plenty to try.

You learn a rule by using it. Each day gives you chances to predict, experiment and solve a problem with less help.

Learn by changing code

Read a short explanation, predict the output and run the example. Change an input to find out whether you understood the rule.

Get help in small steps

Try each exercise first. Open an idea hint, then a first-step hint if you need it. Compare your approach with the worked solution afterward.

Build beyond the example

Use checkpoints to work independently. Finish a project, tackle a different brief and return a few days later to practise from memory.

Beginner, day by day

Seven steps to a working project.

Plan around 60–90 minutes of active study per day. Split a day into smaller sessions when needed; the order matters more than the calendar. Delayed review is extra.

  1. Day 1 · 5 lessons

    Your first programs

    Run code, name values, and build useful messages.

  2. Day 2 · 5 lessons

    Decisions and repetition

    Make decisions and repeat work without losing track of state.

  3. Day 3 · 5 lessons

    Lists and records

    Represent a study plan with arrays and objects.

  4. Day 4 · 5 lessons

    Functions that help

    Break a problem into reusable, testable pieces.

  5. Day 5 · 5 lessons

    Messy data and debugging

    Validate input, read errors, and check your assumptions.

  6. Day 6 · 5 lessons

    Build a study planner

    Combine your skills into a tested program and save its data as JSON.

  7. Day 7 · 6 lessons

    Bring it to the browser

    Connect code to a form, finish a project, and solve a fresh brief.

See every beginner lesson

Something to show for your work

A project you can explain.

By the end of beginner, the pieces come together in a study planner with a browser interface. You will know where the data lives, how it changes and how to check the result.

Build the calculation first, then connect it to a form. Check invalid inputs and useful edge cases before taking on the independent project.

Explore the final day

Your first experiment

Planned: 50 minutes

The small example at the top already uses the same idea: store a few sessions and derive a useful total. The course teaches each piece before asking you to build the complete planner.

About the browser editor

This editor shows console output. The beginner course introduces a separate webpage preview when you reach forms and events.

Before you begin

A few useful answers.

Start with the right expectations, then spend your time making things work.

Do I need HTML and CSS first?

No. Begin with JavaScript values and console programs. The course supplies the page structure when it introduces browser forms, so you can focus on the JavaScript behavior.

Are all three levels open?

Yes. JavaScript beginner, intermediate and advanced are public. You do not need an account to read lessons or run their examples.

Should I learn TypeScript at the same time?

Get comfortable with JavaScript variables, functions, arrays and objects first. Then TypeScript beginner adds types to those familiar ideas.Explore the TypeScript path →

Do I need Node.js?

The core lessons run in your browser. Later projects include optional local setup and downloads when you are ready to work outside the site.

Start with one small program

You can run your first example today.

No setup checklist. Open Day 1, change a line and see what happens. The rest can follow one lesson at a time.