C++ Pointers and Memory in One Hour
by Ana Petrova
Get past the borrow checker for good and ship a real command-line tool with Cargo.
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 · 83 lessons · 11h 2m of material
10 lessons running 1h 18m 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.
12 lessons running 1h 34m 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.
11 lessons running 1h 26m 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.
11 lessons running 1h 28m 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.
12 lessons running 1h 38m 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 · 83 lessons
11h 2m total length
Short list, and deliberately so. If you meet these you can start today.
Almost everyone who bounces off Rust bounces off the same wall, and it is not syntax. It is fighting the borrow checker without a model of what it is protecting. This course front-loads that model. Ownership, moves, borrows and lifetimes are introduced with diagrams and small programs deliberately written to fail, so the errors become predictable rather than arbitrary.
Once the model is in place the language opens up quickly. You cover structs and enums, pattern matching, traits and generics, collections, iterators and closures, and the two error-handling types that shape all Rust code, Option and Result, with the question-mark operator and custom error types using thiserror. Modules, crates and the Cargo workflow are covered properly, including workspaces, features and documentation tests.
The project thread is a real command-line tool: a file search and replace utility with recursive traversal, glob filters, coloured output, a dry-run mode and parallel execution with rayon. It uses clap for arguments, anyhow for error context, criterion for benchmarks, and ships as a release binary for three platforms through a continuous integration workflow.
Still unsure about something? Write to misteryjj100@gmail.com and a human answers, usually the same working day.
Reviews are written by people who bought this course. We publish the critical ones too.
4.0
Rated 4.0 out of 5Course rating · 1 review
Kenji Watanabe
Systems programmer
The moves and borrows chapter, with its diagram of what the compiler is actually tracking, is why I can now write Rust without a fight every ten minutes. Finishing the parallel search tool felt like a real accomplishment rather than a tutorial exercise. My one complaint is that trait objects turn up late and get much less room than generics, when they showed up in my own code almost immediately.
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