← 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