Home › Learn

Learn

Courses where you write real code and it runs right here, checked as you go, each ending in a project built from your own work. Nothing to install, nothing to sign up for. Progress is saved in this browser.

Coding courses

Python40 lessons · Python in the browserLearn Python from the first print() to classes and a small project, in 40 hands-on lessons that run real Python in your browser.JavaScript40 lessons · JavaScript in the browserLearn JavaScript from console.log to async code and classes in 40 hands-on lessons.HTML and CSS20 lessons · HTML and CSS in the browserLearn to build web pages: HTML structure, then CSS selectors, the box model, text, flexbox, grid, forms, and responsive layout.SQL26 lessons · SQL in the browserLearn SQL by querying a real SQLite database in your browser: SELECT, WHERE, ORDER BY, aggregates, GROUP BY, joins, subqueries, changing data, and a report built from your own views.Java40 lessons · Java in the browserLearn Java from the first class to collections, interfaces, generics, streams, and exceptions, with the real Java compiler running in your browser, and a library system project assembled from classes you build lesson by lesson..
RustIn the works · 8 modules plannedLearn Rust from variables and ownership to structs, enums, traits, collections, error handling, and iterators, with code checked in your browser and a project that grows lesson by lesson..

How the courses work

Each lesson explains one idea in a few paragraphs, then gives you a task and an editor. Press Run and the code executes in your browser: JavaScript in an isolated worker, Python through CPython compiled to WebAssembly, Java through the real Java compiler compiled to WebAssembly, SQL against a real SQLite database, and HTML and CSS in a live preview. Checks compare what your code produced with what the task asked for and say exactly what differed. Hints and a reference solution are one click away, and the next lesson unlocks when the checks pass. Your code and progress live in this browser, so there is no account to make.

Every course ends in a project, and it is not started from nothing: along the way, certain lessons build one part of it, a function, a class, a query, or a piece of a page, which is saved with your code and loaded into the project when you reach it. Skip a part and the project uses the reference version, so it always runs; do them all and the finished thing is entirely your own work. Rust is outlined and will arrive once its code can be compiled and checked inside the browser the way the other five are.