I’m learning to code
BuildBuild with Python
Make code draw, move and respond from the first lesson, and finish by building a playable game.
6 free modules · no signup · no setup
Start Python freeLearn by seeing
Executable lessons and visual labs, from your first Python program to production systems you break on purpose.
I’m learning to code
BuildMake code draw, move and respond from the first lesson, and finish by building a playable game.
6 free modules · no signup · no setup
Start Python freeI can code — teach me CS
UnderstandWatch an algorithm change state step by step, find the invariant that makes it correct, and prove how fast it is.
Free · 25 modules · lessons and labs
Explore algorithmsI’m an experienced engineer
EngineerKill the Worker, inspect Event History, and prove what survives — and what runs twice.
Python · Docker · free during public beta
Start TemporalThe best place to begin
No account, installation, or local environment. Open the course and make code produce something visible from the first lesson.
Learn Python through visible results
Draw, transform data, respond to input, organize programs with functions and collections, and finish by building a playable game.
The SciMigo learning loop
Each course uses as much of the loop as its subject demands—from watching a Python value change to recovering a failed distributed system.
Begin with code you can read, change, and make your own.
Execute it in the browser or against the real runtime.
Watch values, memory, state, and time become visible.
Change an input or inject failure and observe the consequence.
Explain what happened from evidence, not guesswork.
Choose your next foundation
Move from using a language to understanding computation, abstraction, state, the machine-level choices behind your code, and algorithms you can prove.
See what the language is doing
Learn modern C++ by drawing and building a game, and see values, references, vectors and structs in memory as your code runs.
Prove why it works
A visual, proof-first companion to CMU 15-451/651 topics: watch algorithms change state, prove them correct and fast, and solve problems that do not name their technique.
Find the certificate, write the proof
A proof-based first course in graph theory: your code searches small graphs and checks certificates, and every lab ends in a proof you write.
Advanced engineering
Continue with production-shaped courses in durable execution, durable agents, and stateful stream processing.
Build an agent runtime that survives Worker crashes, long pauses, new instructions, and deployments—then verify every claim against Event History.
Build GatewayMeter and defend its invoice through late data, stalled partitions, TaskManager deaths, backpressure, upgrades, and hot tenants.
RestateRestate · flagship labCrash a running agent, count the model calls replay costs, trigger a journal mismatch, and fix both with one durable step.
Tell us what you want to learn. This records your interest; it does not enroll you or promise a launch email.
Yes. Build with Python's six free modules run in your browser with no account or local setup.
Start with Build with Python if you are new to programming. Choose Algorithm Design and Analysis once you know basic data structures and want to prove why algorithms work.
The advanced section links to current courses on Temporal durable execution, Restate durable agents, and Apache Flink stateful stream processing. Each course page shows the lessons and labs currently available.
Yes. Build with C++ has six free modules that compile real C++17 in your browser, from drawing on a canvas to a playable Tic-Tac-Toe game. A later track on lifetime, ownership, the STL and algorithms is still being written.