from scratch lab · 344 lessons in 12 tracks

Learn from scratch

I believe all knowledge should be free, open to everyone and easy to understand. I made this place to teach everything I can, for free and in an intuitive way: every formula explained term by term, and figures you can play with right in your browser.

Tracks

Beginner → Advanced

C/C++

From C to modern C++: pointers, memory and the stack and heap first, then RAII, templates, move semantics and the patterns that power performant game engines.

30 lessons10 sections
Intermediate

x86-64 Assembly

x86-64 assembly from the ground up with NASM: registers and memory, mov and addressing, flags, jumps and the stack, calling conventions, then reading compiler output, floating point, SIMD and the CPU pipeline — every instruction stepped through on a live CPU.

16 lessons4 sections
Intermediate

OpenGL 4.6

Understand the full OpenGL pipeline: vertex buffers, shaders, textures, framebuffers, and compute shaders — through hands-on C++ code.

71 lessons11 sections
Intermediate

GLSL

Master GLSL types, built-in functions, SDFs, procedural noise and shader techniques — from first principles to a production-ready Shader class.

24 lessons6 sections
Beginner

SDL3

Build real applications with SDL3: window management, input handling, audio, and a complete 2D rendering loop using C++.

10 lessons4 sections
Beginner → Advanced

Game Dev

Game loops and fixed timesteps, easing and springs, randomness and Perlin noise, collision detection and the patterns behind fast game code — with interactive figures.

12 lessons6 sections
Beginner → Advanced

Math

Mathematics from the ground up: arithmetic, algebra, geometry, trigonometry, linear algebra and calculus, worked by hand — every formula explained, every idea interactive.

82 lessons9 sections
Beginner → Advanced

Algorithms

Algorithms and data structures built from scratch in C++: memory and Big-O, recursion, sorting and searching, lists, hash tables, trees, heaps and graphs — every step traced in an interactive figure.

24 lessons6 sections
Advanced

Vulkan

Vulkan 1.3 from an empty window to a textured 3D scene: instance and devices, swapchain, pipelines, command buffers, synchronization, memory and descriptors — the explicit GPU API, every object explained.

16 lessons4 sections
Beginner → Advanced

AI

Artificial intelligence from scratch in C++: data and features, regression and gradient descent, classic machine learning, neural networks and backpropagation, deep learning, reinforcement learning and game AI — every formula derived, every model trained by hand.

24 lessons5 sections
Beginner → Advanced

Physics

Physics from the ground up: motion, forces, energy and momentum, rotation, gravity and orbits, oscillations and waves, fluids and heat, electromagnetism and light, then analytical mechanics, relativity, quantum mechanics, particles and cosmology — every law derived, every idea simulated.

20 lessons5 sections
Beginner → Advanced · coming soon

Chemistry

Chemistry from the ground up: atoms and the periodic table, bonds and molecules, moles and reactions, gases and solutions, energy and reaction rates, equilibrium, acids and bases — every formula explained, every idea interactive.

20 lessons planned
in preparation
Beginner → Advanced

Music

Music from the ground up: sound and pitch, rhythm and meter, notes and the staff, intervals and scales, chords and harmony, keys and progressions, melody and form — every idea heard, every rule explained.

15 lessons4 sections

How the lessons work

Every term explained

No formula appears without saying what each letter means, where each constant comes from and why each step is allowed.

Figures you can move

Drag points, move sliders and rotate 3D scenes. The figures run in the browser, on phones too.

Your progress stays here

Lessons you have read are marked in this browser, with no account and no sign-up.