Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Learn by building, measuring and experimenting. Each lab or course follows a sequence of practical activities, with explanations alongside the work.

Computer Systems

Lab or courseWhat you’ll do
Digital DesignBuild from bits and logic gates towards a working computer
Bit LabExplore binary and hexadecimal, fixed-width arithmetic, CPU flags, masks, shifts and byte order through interactive experiments and checked questions. Draft course.
Assembly LabExplore processor instructions one at a time, with the corresponding C alongside them
Systems Lab — Systems From ScratchExplore machine code, memory, operating systems and CPU performance through RISC-V/xv6 experiments and measurements on real hardware
GPU LabInvestigate tensor layouts, memory access and GPU execution through browser simulations and downloadable CUDA/PyTorch examples

Data Engineering & AI

Parquet Lab builds the reader used by Query Engine Lab, so they work well in that order.

Lab or courseWhat you’ll do
Parquet Lab — Parquet, byte by byteBuild a Parquet reader in Python and Rust using real file bytes, interactive examples and browser exercises
Query Engine Lab — Queries, operator by operatorBuild a Python query engine on Apache Arrow and compare operator costs with DuckDB. In progress.
Sizing & TCO LabAdjust capacity and cost models, explore uncertainty and sensitivity, and trace inputs to their sources
Benchmarking LabDesign fair technology comparisons, run browser experiments and downloadable service harnesses, analyse evidence and build a recommendation
Observability & Anomaly DetectionWork through notebooks and examples for embeddings, anomaly detection and deployment with observability data
ML-101Practise machine learning fundamentals with scikit-learn

Media

LabWhat you’ll do
Video LabRun editable FFmpeg and ffprobe commands in the browser to practise cutting, joining, framing, sound, subtitles and export

Assembly Lab, GPU Lab and Video Lab also support offline learning. Follow each lab’s instructions to prepare its offline content.