comprehensive-rust
This is the Rust course used by the Android team at Google. It provides you the material to quickly teach Rust.
A multi-day classroom training course for learning Rust, built by Google's Android team. Covers basics through advanced topics like concurrency and embedded programming.
Comprehensive Rust is a multi-day training course for the Rust programming language, originally developed by the Android team at Google to teach Rust to their own engineers. The course is now publicly available and is designed to take experienced software developers — particularly those with a background in C++ or Java — through Rust from basic syntax all the way to advanced topics like generics, error handling, concurrency, and writing code for embedded systems without an operating system (bare-metal programming).
The course is structured for classroom instruction, meaning it works best when a teacher leads a group of students through the material, facilitating discussion and intentionally triggering compiler errors to illustrate how Rust's type system and borrow checker work. The repository contains the full source for the course content, which is built into a browsable website using mdbook — a tool that compiles Markdown files into a clean HTML book. The live version of the course is accessible at google.github.io/comprehensive-rust.
Specialized sections cover Android development in Rust, working on the Chromium browser project in Rust, writing programs for hardware without an OS, and concurrent programming — all real-world contexts where Google uses Rust at scale.
You would use this resource if you are an instructor wanting battle-tested, well-organized training materials for teaching Rust to a software team, or if you are a developer with programming experience in another systems language looking for a structured, comprehensive path to Rust proficiency. Self-study is possible but the authors note it is less ideal since classroom dialogue is part of the intended experience.
The tech stack is Rust for code examples, mdbook for rendering the course as a website, and cargo for managing the build tooling.
Where it fits
- Run a structured Rust training workshop for a software team coming from C++ or Java backgrounds.
- Self-study Rust from basics to advanced topics like generics, error handling, and concurrency.
- Use the course materials as a foundation for teaching embedded (bare-metal) Rust programming.