Free to read ยท Three levels
Rust: ownership, reliable interfaces, and concurrent systems
A complete theory course connecting values and borrowing to errors, traits, lifetimes, concurrency, async concepts, and safe API design.
Start learningIn this course
Eighteen substantial lessons develop a consistent model of Rust ownership and data flow through original worked examples, diagnostics, and solved exercises. Each level builds on the previous one while keeping business correctness, resource behavior, and memory safety distinct.
The baseline is stable Rust 1.85 or newer, edition 2024, and the standard library. Complete safe examples are independent; runtime-dependent declarations and intentionally rejected examples are marked non-runnable. Async lessons demonstrate immediately ready futures without claiming to supply a general executor, and unsafe lessons explain obligations while executing safe alternatives.
What you will learn
- Track ownership, borrowing, and lifetime relationships across API boundaries.
- Model valid states and explicit failure with structs, enums, traits, and Result.
- Build tested standard-library programs and reason about synchronized shared state.
- Review async, unsafe, profiling, and compatibility obligations without overstating guarantees.
Your learning path
Three levels
Basic
Build and model safe Rust programs with explicit ownership and validated data.
- Cargo, editions, and program structure
- Types, expressions, and control flow
- Ownership, moves, and functions
- Borrowing, slices, and strings
- Structs, enums, and pattern matching
- Collections and validated input
Intermediate
Design reusable borrowed interfaces, errors, modules, iteration, and tests.
- Result, errors, and recovery
- Traits, generics, and bounds
- Lifetimes and borrowed APIs
- Modules, crates, and documentation
- Iterators, closures, and ownership
- Testing, debugging, and repeatable builds
Advanced
Review shared state, async boundaries, unsafe obligations, and measured API design.
- Smart pointers and interior mutability
- Threads, Send, Sync, and shared state
- Async futures and Pin
- Unsafe invariants and FFI boundaries
- Profiling, allocation, and data layout
- API design and a reporting capstone
Who this is for
- Self-study learners beginning Rust and programmers moving from other languages.
- Developers who want a rigorous ownership model before building concurrent or library systems.
Before you start
- Basic terminal and editor use; no previous Rust is required for the basic level.
- An installed stable Rust 1.85+ toolchain with Cargo; these examples need no external crates.