C++ Pointers and Memory in One Hour
by Ana Petrova
Cross the safety boundary deliberately, bind to C, and prove your abstractions are free.
DO Created by Dimitri Orlov
Every bullet below is something you will have built, shipped or be able to explain by the time you finish the last lesson.
7 modules · 100 lessons · 13h 22m of material
13 lessons running 1h 44m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.
Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.
14 lessons running 1h 52m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.
Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.
14 lessons running 1h 50m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.
Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.
15 lessons running 2h 00m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.
Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.
13 lessons running 1h 44m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.
Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.
16 lessons running 2h 08m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.
Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.
15 lessons running 1h 58m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.
Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.
7 modules · 100 lessons
13h 22m total length
Short list, and deliberately so. If you meet these you can start today.
Safe Rust covers the overwhelming majority of what you write, and then there is the remainder: allocators, data structures the borrow checker cannot express, bindings to existing C libraries, and code where a memory layout is dictated by hardware or a protocol. This course is about that remainder, written responsibly.
It begins with what unsafe actually means, which is a shorter list than most people assume: dereferencing raw pointers, calling unsafe functions, implementing unsafe traits, accessing mutable statics and touching union fields. You then learn to construct safe abstractions over unsafe internals, encode invariants that the type system enforces, and document safety contracts the way the standard library does. Miri runs throughout to catch undefined behaviour that tests will not.
The foreign function interface modules cover calling C from Rust and Rust from C, representation attributes, string conversion across the boundary, callbacks, error mapping, and generating bindings with bindgen and headers with cbindgen. The final modules build a lock-free queue with atomics and the memory ordering rules explained honestly, then verify zero-cost claims by reading the generated assembly and benchmarking against a C implementation.
Still unsure about something? Write to misteryjj100@gmail.com and a human answers, usually the same working day.
Nobody has reviewed this course yet, so there is no score to show. Buy it, work through it, and your review could be the one that helps the next developer decide.
Rust engineer and performance specialist
Dimitri writes Rust for networking gear and battery-powered devices, and came to it after a long stretch of production C he does not miss. He teaches ownership and borrowing by showing the exact C bug each rule prevents, which makes the borrow checker feel like a colleague rather than an obstacle. His courses build a real binary — a parser, a server, a no-std firmware image — and then take a profiler to it. He reviews for a Rust working group and speaks at systems meetups.
One-time payment · lifetime access