Lessons
WebAssembly · Expert
WebAssembly · Expert. Ten lessons. Open-book quizzes. Lesson 1 free.
10 lessons · The Host · Lesson 1 free
Pass all ten lessons for the certificate. Sample · Claim

Lesson 1 · On the house
Validation and the typed stack
How the validator types every instruction, and the polymorphic stack after unreachable.

Lesson 2
Binary format and LEB128
Magic, version, section ids, and variable-length integer encoding.

Lesson 3
Tail calls
return_call and return_call_indirect for constant-stack recursion and interpreters.

Lesson 4
Exception handling with try_table
Tags, throw, try_table catch clauses, and exnref rethrow.

Lesson 5
GC types: structs and arrays
struct.new, struct.get, arrays, subtyping, and ref.cast for managed languages.

Lesson 6
Memory64 and multi-memory
i64 addresses beyond 4 GiB, and several memories in one module.

Lesson 7
Shared memory: wait and notify
Spinlocks with cmpxchg, futex-style wait32, and notify counts.

Lesson 8
The Component Model and WIT
Interfaces in WIT, worlds, canonical ABI lifting, and composing components.

Lesson 9
WASI 0.2 and wasmtime
Preview 2 worlds, capability-based files, and running components from the CLI.

Lesson 10
Sandboxing and engine internals
Bounds checks, guard pages, typed indirect calls, and tiered compilation.
Sample certificate
Certificate of completion
Sign in to claim your certificate of completion.
Certificate
Finish all ten lessons, then sign in
Pass every lesson on this device (quizzes and checks). Then sign in or create an account to type your name and download the JPG.