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.