Rust
Memory safety without a garbage collector.
Rust is taught here in 13 lessons, running from Syntax and ownership through to A command-line tool end to end. Each lesson takes one topic, shows the working code, and links onward to the next, so the course can be read straight through in order.
| Track | Back-end Development |
| Lessons | 13 |
| Level | Beginner to intermediate |
| Reading time | about 3 hours |
| Prerequisites | Helpful, but not required: Go |
Lessons
- Syntax and ownershipBindings, the primitive type set, and the ownership and borrowing rules that replace a garbage collector.
- Structs, enums and pattern matchingGrouping data with structs, modelling alternatives with enums, and letting match prove you handled every case.
- Error handling with Result and CargoReturning errors instead of throwing them, the ? operator, and the Cargo workflow that builds, tests and ships a crate.
- Setting up Rust: rustup, Cargo and edition 2024Installing with rustup, cargo new and cargo add, the Cargo.toml fields that matter, cargo check, run, test and fmt, clippy, and when a workspace helps.
- Traits, generics and lifetimesDefining and implementing traits, default methods, bounds and where clauses, static versus dynamic dispatch, lifetime elision, and practical borrow-checker rules.
- Collections, strings and iteratorsString versus str, Vec and the map types, iterator adapters and consumers, closures and capturing, and ownership inside loops.
- Modules, crates and project structuremod, pub and use, library versus binary targets, file and folder layout, workspaces, feature flags, dependency semver, and generated docs.
- Smart pointers and interior mutabilityBox, Rc, RefCell, Arc and Mutex, Cow, reference cycles and Weak, and how to choose the ownership pattern for a shared data model.
- Concurrency and async RustThreads and scoped threads, Send and Sync, channels, shared state, async/await, the Tokio runtime, tasks, timeouts and cancellation.
- Testing, documentation and CIUnit tests in-module, integration tests, test organisation and fixtures, doc-tests, benchmarks, and a CI pipeline that lints and audits.
- File I/O, serde and everyday cratesstd::fs and buffered readers and writers, path handling, serde and serde_json, clap, anyhow versus thiserror, reqwest, and tracing.
- Unsafe, FFI and performanceWhen unsafe is justified, raw pointers and the edition 2024 unsafe rules, calling C through extern blocks, avoiding unnecessary unsafe, and profiling release builds.
- A command-line tool end to endDesigning the CLI, parsing arguments, configuration and environment, error reporting, logging, tests, cross-compilation and publishing a release.
More in Back-end Development
Node.js PHP Java HTTP Go Spring Boot Laravel Ruby GraphQL
FAQ
How long does the Rust course take?
It has 13 lessons, about 3 hours of reading. Expect roughly twice that if you type out and run every example.
Do I need prior experience for Rust?
Not strictly. It helps to have read Go first, because some lessons build on it, but every lesson explains its own assumptions.
What should I read after Rust?
Continue with Spring Boot (3 lessons), the next course in Back-end Development.
Last refreshed 2026-09-18.