← Languages

Rust

Full course · 21 lessons

Rust is a systems programming language focused on safety, speed, and concurrency without a garbage collector. It powers everything from embedded devices to cloud infrastructure.

Knowledge Course
01

Getting Started with Rust

Install Rust, understand Cargo, create projects, write Hello World, and explore the toolchain.

45 min→
02

Variables, Mutability, and Data Types

Variables, mutability, constants, shadowing, scalar types, compound types, and type inference.

60 min→
03

Ownership and Borrowing

Ownership rules, move semantics, borrowing with references, mutable references, and the borrow checker.

75 min→
04

Slices and References

String slices, array slices, string vs &str, slice patterns, and danging reference prevention.

45 min→
05

Structs, Enums, and Pattern Matching

Struct definitions, tuple structs, unit structs, enums, Option and Result, match expressions, and if let.

75 min→
06

Methods and Associated Functions

Method syntax, self parameters, associated functions, method chaining, and traits for shared behavior.

60 min→
07

Vectors, Strings, and HashMaps

Vec<T> operations, String vs &str, HashMap and HashSet, iterating collections, and collection performance.

60 min→
08

Error Handling: Result and Option

Result<T, E>, Option<T>, the ? operator, combinators (map, and_then, unwrap_or), custom error types, and error conversion.

75 min→
09

Generics and Traits

Generic functions and structs, trait definitions, trait bounds, impl Trait, and blanket implementations.

75 min→
10

Lifetimes

Lifetime annotations, lifetime elision rules, struct lifetimes, static lifetime, and lifetime subtyping.

75 min→
11

Closures and Iterators

Closure types (Fn, FnMut, FnOnce), iterator adapters, iterator combinators, consuming producers, and lazy evaluation.

60 min→
12

Modules, Crates, and Cargo

Modules and paths, module file system, external crates, Cargo.toml, features, and workspaces.

60 min→
13

Smart Pointers: Box, Rc, Arc

Box<T> for heap allocation, Rc<T> for shared ownership, RefCell<T> for interior mutability, Arc<T> for thread safety.

75 min→
14

Concurrency: Threads and Message Passing

Thread spawning, join handles, message passing with channels (mpsc), shared state with Arc, Send and Sync traits.

60 min→
15

Async/Await and Tokio

Async functions, await syntax, futures, Tokio runtime, async I/O, tasks, and async patterns.

75 min→
16

Unsafe Rust and FFI

Unsafe keyword, raw pointers, calling C functions, writing C-compatible APIs, and safety invariants.

75 min→
17

Testing and Documentation

Unit tests, integration tests, doc tests, test organization, benchmarks, and documentation with rustdoc.

60 min→
18

Macros

Declarative macros (macro_rules!), procedural macros, derive macros, attribute macros, and function-like macros.

75 min→
19

Performance and Optimization

Profiling with perf/flamegraph, release optimizations, SIMD, inlining, and benchmark-driven optimization.

60 min→
20

Building a CLI Application

Argument parsing with clap, error handling, configuration, logging, testing, and building a complete CLI tool.

75 min→
21

WebAssembly with Rust

Compiling to WebAssembly, wasm-pack, wasm-bindgen, web-sys, DOM access, and performance considerations.

60 min→
Curated Resources