← All Courses
Learn Rust
Coming SoonMemory-safe systems programming and WebAssembly
Rust Systems WebAssembly CLI Concurrency
Coming Soon
Memory safety without garbage collection. Rust gives you C-level performance with modern language ergonomics. Systems programming, CLIs, web services (Axum/Actix), and WebAssembly — all with the compiler catching bugs before they happen.
This course builds from ownership and borrowing through async Rust to production systems and WASM applications.
Start Here — Learning Roadmap
A suggested path from zero to mastery. Follow these steps in order:
- Read The Book — Start with “The Rust Programming Language” (the official book), chapters 1-10 cover ownership, structs, enums, and pattern matching
- Do Rustlings — Work through Rustlings exercises to reinforce syntax and concepts with hands-on practice in your terminal
- Build Small CLI Tools — Create command-line utilities to practice error handling, file I/O, and argument parsing with clap
- Understand Ownership Deeply — Re-read The Book chapters on ownership, borrowing, and lifetimes until they click naturally
- Learn Traits & Generics — Master Rust’s trait system, generic programming, and trait bounds for writing flexible code
- Explore the Ecosystem — Use popular crates: serde for serialization, tokio for async, reqwest for HTTP, and sqlx for databases
- Build a Web Service — Create a REST API with Axum or Actix-web, connect to a database, handle errors ergonomically
- Learn Async Rust — Understand futures, async/await, the tokio runtime, and concurrent programming patterns
- Try WebAssembly — Compile Rust to WASM with wasm-pack and build high-performance browser applications
- Go Systems-Level — Explore unsafe Rust, FFI, embedded programming, or contribute to Rust open-source projects
Official & Core Documentation
- The Rust Programming Language — “The Book” — the definitive, community-maintained guide to learning Rust from scratch (Beginner)
- Rust by Example — Learn Rust through annotated, runnable code examples (Beginner)
- Rust Standard Library Documentation — Complete API reference for the standard library (All levels)
- The Cargo Book — Official guide to Rust’s package manager and build system (Beginner)
- The Rustonomicon — Advanced guide to unsafe Rust and low-level details (Advanced)
- Rust Reference — Formal specification of Rust syntax and semantics (Advanced)
- Rust API Guidelines — Conventions and best practices for Rust API design (Intermediate)
- Async Book — Official guide to asynchronous programming in Rust (Intermediate)
- Rust Roadmap — Community-created visual roadmap for Rust developers (Beginner)
GitHub Awesome Lists & Curated Collections
- awesome-rust — Comprehensive curated list of Rust code, tools, libraries, and resources
- awesome-rust-and-webassembly — Curated list of Rust + WebAssembly projects, libraries, and tools
- awesome-embedded-rust — Resources for embedded and low-level development in Rust
- rust-learning — Collection of useful Rust learning resources including blog posts, articles, and tutorials
- awesome-alternatives-in-rust — Curated list of CLI and system tools rewritten in Rust
- not-yet-awesome-rust — Gaps in the Rust ecosystem where contributions are welcome
Interactive Courses & Hands-On Platforms
Free Courses
- Rustlings — Official small exercises to learn Rust syntax and concepts, run from your terminal (Beginner)
- 100 Exercises to Learn Rust — Luca Palmieri’s progressive, hands-on Rust challenges (Beginner)
- Comprehensive Rust (Google) — Free 4-day course developed by Google’s Android team, used internally at Google (Beginner)
- Tour of Rust — Step-by-step interactive Rust tour in the browser (Beginner)
University & MOOC Courses
- CodeCrafters — Rust Track — Build your own Redis, Git, SQLite from scratch in Rust (Intermediate, Paid)
- Educative — Learn Rust from Scratch — Interactive Rust course with in-browser coding (Beginner, Paid)
- Udemy — Ultimate Rust Crash Course — Nathan Stocks’ popular hands-on Rust course (Beginner, Paid)
Practice & Challenges
- Exercism Rust Track — Mentored coding exercises with community feedback (Beginner)
- Rust Playground — Write and run Rust code directly in the browser (All levels)
- Advent of Code — Annual coding puzzles, popular in the Rust community for practice (Intermediate)
- Codewars Rust — Progressive coding challenges in Rust (All levels)
- LeetCode Rust — Algorithm challenges with Rust support (Intermediate)
- Rust Quiz — Tricky Rust quiz questions to test deep language understanding (Advanced)
- Project Euler — Mathematical programming challenges for practicing Rust algorithms (Intermediate)
Video Courses & YouTube Channels
Structured Course Playlists
- Let’s Get Rusty — Follows “The Book” chapter by chapter with clear explanations (Beginner)
- freeCodeCamp — Rust Course — Comprehensive free Rust course by Arfan Zubi (Beginner)
- Ryan Levick — Introduction to Rust — Introduction to Rust series from a Microsoft engineer (Beginner)
Individual Creators & Channels
- Jon Gjengset — Deep-dive intermediate and advanced Rust live coding and streams (Advanced)
- No Boilerplate — Compelling explanations of why Rust and how Rust concepts work (Beginner)
- Tim McNamara (timClicks) — Practical Rust tutorials and systems programming content (Intermediate)
- Code to the Moon — Rust concepts, comparisons, and real-world applications (Intermediate)
- Traversy Media — Rust Crash Course — Quick introduction to Rust fundamentals (Beginner)
- fasterthanlime — Deep technical Rust content, systems programming, and detailed explorations (Advanced)
- Logan Smith — Rust concepts explained through comparisons with C++ (Intermediate)
- RustConf Talks — Recorded sessions from the annual Rust conference (Intermediate)
- Rust in 100 Seconds (Fireship) — Quick engaging overview of Rust’s key features (Beginner)
Books & Long-Form Reading
Free Online Books
- The Rust Programming Language — The official free book, the definitive starting point (Beginner)
- Rust by Example — Free collection of runnable examples covering the language (Beginner)
- The Rustonomicon — Free advanced guide to unsafe Rust (Advanced)
- Rust Design Patterns — Free collection of idiomatic Rust patterns and anti-patterns (Intermediate)
- Comprehensive Rust (Google) — Google’s free 4-day Rust course covering fundamentals through Android development (Beginner)
- The Embedded Rust Book — Free guide to using Rust for embedded systems and microcontrollers (Advanced)
Essential Paid Books
- Programming Rust — Comprehensive Rust from O’Reilly, covering the language in depth (Intermediate, Paid)
- Zero To Production In Rust — Build a real backend service from scratch, the best project-based Rust book (Intermediate, Paid)
- Rust for Rustaceans — Jon Gjengset’s intermediate-level guide for those past the basics (Advanced, Paid)
- Rust in Action — Systems programming projects covering networking and OS concepts (Intermediate, Paid)
- Command-Line Rust — Learn Rust by building CLI tools that replace common Unix utilities (Beginner, Paid)
- Hands-on Rust — Learn Rust by building games with bracket-lib (Beginner, Paid)
Community, Practice & News
Forums & Discussion
- Rust Users Forum — Official forum for questions, project ideas, and community discussion
- Rust Discord — Unofficial but highly active Discord with channels for help and projects
- r/rust — Active Reddit community for Rust news, projects, and discussion
- r/learnrust — Beginner-friendly subreddit for Rust learners
- Rust Zulip — Official chat for Rust contributors and working groups
Newsletters & Blogs
- This Week in Rust — Weekly newsletter with Rust news, articles, and community updates
- Rust Blog — Official blog with release announcements and feature deep dives
- Read Rust — Curated collection of interesting Rust blog posts and articles
- fasterthanlime blog — In-depth technical articles about Rust, systems programming, and networking
Package Registries & Ecosystems
- crates.io — Rust’s official package registry for discovering and sharing libraries
- docs.rs — Automatic documentation for every crate published to crates.io
- lib.rs — Alternative crate discovery site with categorized recommendations
Tools & Environments
- rustup — Official Rust toolchain installer and version manager
- Rust Playground — Browser-based Rust compiler with instant feedback and sharing
- rust-analyzer — Fast, feature-rich LSP server for Rust in VS Code and other editors
- clippy — Official Rust linter with hundreds of lint rules for idiomatic code
- cargo-watch — Watches for file changes and runs cargo commands automatically
- miri — Interpreter for detecting undefined behavior in unsafe Rust code
- criterion.rs — Statistics-driven benchmarking library for Rust
- bacon — Background Rust code checker with live-reload and error highlighting
- cargo-expand — Shows the result of macro expansion and procedural macros
- wasm-pack — Build, test, and publish Rust-generated WebAssembly packages
- Shuttle — Build, deploy, and manage Rust web services with zero infrastructure config