Lessons
WebAssembly · Medium
WebAssembly · Medium. 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
Loads, stores, offset and align
Memory immediates, sign-extending narrow loads, and what align really promises.

Lesson 2
memory.grow and page math
64 KiB pages, memory.size, memory.grow return values, and max limits.

Lesson 3
Globals and the shadow stack
Mutable globals, imports and exports, and the __stack_pointer convention.

Lesson 4
br_table and switch lowering
Jump tables, nested blocks, default target, and why order matters.

Lesson 5
Traps and numeric edge cases
Integer divide traps, trunc vs trunc_sat, wrap and extend conversions.

Lesson 6
The JS API in practice
instantiate from bytes, imports object, Memory and exported functions in Node.

Lesson 7
Strings across the boundary
Pointer-length pairs, TextEncoder into linear memory, and who owns the bytes.

Lesson 8
Toolchains: Emscripten, Rust, wabt
emcc flags, cargo wasm targets, and wabt tools for inspecting output.

Lesson 9
Imports from the host
Function, memory and table imports; host callbacks and link-time types.

Lesson 10
Dynamic linking and side modules
Shared memory and table, relocations, and Emscripten MAIN/SIDE modules.
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.