This is an appendix to the course. It contains additional material that may or may not be interesting to you.
You finished the course (or you're skipping ahead, which is fine too). A bit of background, in case you're curious.
There's no shortage of Rust resources. The official book is excellent, and you should read it. So is Rust by Example, and plenty of others.
What was missing, for me, was a path you could open in a browser and just do. Not a book to read on the couch, not a lecture to watch on 2x speed: a sequence of small, real problems with tests that turn green. Something where the code leaves your fingers and lands in the machine right away.
These exercises started as a folder on my laptop, the kind of thing I'd pull out whenever someone asked "where do I start with Rust?" Over the years it grew into a structured path through the language. This site is that path, with an editor attached.
The course covers the core mechanics. Real fluency comes from using those mechanics on problems that matter to you. A few suggestions:
This course is open source on github.com/corrode/course. Issues and pull requests welcome. If you'd like Rust training, code review, or consulting for your team, see corrode.dev.
Thanks for spending time here. Now go write some Rust.
A few deliberate choices set this course apart from reading the official book front to back. None of them are knocks on the book, which is excellent. They're different bets about how people actually pick up a language.
| The usual approach | What this course does |
|---|---|
| Read several chapters before writing any code | You write code from the first exercise |
| Ownership dumped as theory early on | Ownership introduced as a spiral, consolidated late |
| Little "why should I care?" motivation | Problem-first: show the bug Rust prevents, then the fix |
| No feedback when your code is wrong | Tests and focused todo!() stubs that point at what's missing |
The throughline is that you learn Rust by hitting its rules in practice, not by reading about them in advance. The borrow checker makes more sense after you've watched it reject something than it does as a list of rules up front, so the course leans on that order everywhere.
Some ideas didn't make this version but are worth writing down so they aren't lost:
Fn, FnMut, FnOnce, and capture semantics) as another turn of the ownership spiral.If you have opinions on any of these, the issue tracker is open.