Rust Programming
Learn Rust from Hello, world to unsafe, macros, and async internals.
Start with Introduction: How This Course Works →Getting Started
Install Rust, use Cargo, and print output.
Language Basics
Variables, types, functions, and control flow.
Ownership & Borrowing
Moves, borrowing, and references.
Structs, Enums & Pattern Matching
Structs, enums, Option, and Result.
Lifetimes
Lifetime annotations and borrow checker errors.
Traits & Generics
Traits, generics, and dispatch.
Closures & Iterators
Closures and iterators.
Collections
Vec, HashMap, HashSet, and other collections.
Modules, Crates & Testing
Modules, workspaces, and tests.
Error Handling
Error types, thiserror, and anyhow.
Files, I/O & the Command Line
Files, standard input and output, and command-line tools.
Smart Pointers
Box, Rc, RefCell, and other smart pointers.
OOP & Design Patterns
OOP concepts and design patterns in Rust.
Concurrency
Threads, channels, and shared state.
Async Rust
Futures, Tokio, and async Rust.
Memory Management
Ownership-based memory management, allocation, and the memory model.
Advanced Rust
Macros, unsafe code, and performance.
Under the Hood
The compiler and the runtime: how Rust code is compiled and run.
Production Rust
Panics, async pitfalls, testing, builds, and the supply chain.
