← All Courses
Learn Rust logo

Learn Rust

Coming Soon

Memory-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:

  1. Read The Book — Start with “The Rust Programming Language” (the official book), chapters 1-10 cover ownership, structs, enums, and pattern matching
  2. Do Rustlings — Work through Rustlings exercises to reinforce syntax and concepts with hands-on practice in your terminal
  3. Build Small CLI Tools — Create command-line utilities to practice error handling, file I/O, and argument parsing with clap
  4. Understand Ownership Deeply — Re-read The Book chapters on ownership, borrowing, and lifetimes until they click naturally
  5. Learn Traits & Generics — Master Rust’s trait system, generic programming, and trait bounds for writing flexible code
  6. Explore the Ecosystem — Use popular crates: serde for serialization, tokio for async, reqwest for HTTP, and sqlx for databases
  7. Build a Web Service — Create a REST API with Axum or Actix-web, connect to a database, handle errors ergonomically
  8. Learn Async Rust — Understand futures, async/await, the tokio runtime, and concurrent programming patterns
  9. Try WebAssembly — Compile Rust to WASM with wasm-pack and build high-performance browser applications
  10. 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

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

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

Individual Creators & Channels

Books & Long-Form Reading

Free Online Books

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