Learn Rust
Structured lessons from the basics up — follow the path below in order, at your own pace.
-
1
Level 1 — Beginner Beginner 26 lessons
Start here if you have never written a line of Rust before. Work through these lessons in order — each one builds on the last, and ownership...
Lessons in this module
What Is Rust? Why Learn Rust? Installing Rust Setting Up Your Development Environment Your First Rust Program How Rust Code Runs: Cargo, rustc & Native Binaries Variables, Mutability & Constants Scalar Data Types Type Conversion Operators Printing & Formatting Reading User Input Conditionals Loops Functions Ownership References & Borrowing Slices Strings: String vs &str Tuples & Arrays Vectors Structs Methods & impl Blocks Enums & match Comments, rustfmt & Clippy Debugging Basics -
2
Beginner Projects Beginner 1 lesson
Build these with nothing but what Level 1 covered — println! , stdin input, match , Vec , structs, and enums. 1. Command Line Calculator Rea...
-
3
Level 2 — Intermediate Intermediate 20 lessons
These lessons cover modules and Cargo, error handling with Result, generics, traits, lifetimes, iterators, smart pointers, threads, and the...
Lessons in this module
Modules, Crates & Packages Cargo, Dependencies & Workspaces Option in Depth Error Handling with Result HashMap & HashSet Generics Traits Common Standard Traits Lifetimes Closures Iterators Pattern Matching in Depth Smart Pointers: Box, Rc & RefCell Threads & Message Passing Shared State: Arc & Mutex File I/O Working with JSON using serde Writing Tests Building Command-Line Apps Documentation with rustdoc -
4
Intermediate Projects Intermediate 1 lesson
Build these using modules, Result based error handling, traits, iterators, threads, and crates from Level 2. 1. Grep Clone Build a minigrep...
-
5
Level 3 — Advanced Advanced 16 lessons
These lessons cover advanced traits and lifetimes, async Rust with Tokio, macros, unsafe code and FFI, performance, and how a real Rust serv...
Lessons in this module
Advanced Traits Advanced Lifetimes Async Rust: Futures & async/await Tokio in Practice Send, Sync & Concurrency Patterns Declarative Macros Procedural Macros Unsafe Rust FFI & Interop with C Performance & Memory Layout Benchmarking & Profiling Building a Web API with Axum Working with Databases using SQLx Testing Strategies Security & Supply Chain Deploying Rust Applications -
6
Advanced Projects Advanced 1 lesson
Build these using async Rust, Axum, SQLx, and the testing and deployment practices from Level 3. 1. Task List REST API Build a JSON REST API...
-
7
What You Should Know Now — and What's Next 1 lesson
What You Should Know Now Core syntax: bindings and mutability, scalar and compound types, expressions, control flow, and functions Ownership...