Rust Programming Fundamentals
Ownership, borrowing, traits and fearless concurrency.
Taught by Anisha Rai · Senior Software Engineer
What you'll learn
- Create, build, test and lint Rust projects with Cargo, rustfmt and Clippy
- Apply ownership, borrowing and lifetime rules to write code the borrow checker accepts
- Model data with structs and enums and handle every case with exhaustive pattern matching
- Write reusable generic code with traits, trait bounds and iterator chains
- Handle errors with Result, the ? operator and custom error types instead of panics
- Build a tested command-line tool with clap and share work safely across threads
About this course
Learn Rust, the systems language that has topped developer surveys as the most admired language for years, and understand the ownership model that makes it both fast and memory safe. This intermediate course is for developers who already write Python, JavaScript, Go, Java or C++ and want to build reliable command-line tools, back-end services, WebAssembly modules or systems software. You will install Rust with rustup, manage projects with Cargo and master ownership, borrowing and lifetimes. You will then model data with structs, enums and pattern matching, write generic code with traits and iterators, handle failure with Result and the question-mark operator, and write fearless concurrent code with threads, channels and Arc with Mutex. The course finishes with a complete, tested CLI project built with clap. You should be comfortable with functions, loops and basic data structures in another language; no prior Rust experience is needed.
Course content
7 lessons- 1Why Rust and Getting Started with CargoWhy teams adopt Rust, installing the toolchain with rustup and building your first program with Cargo.Preview
- 2Ownership, Borrowing and LifetimesThe rules that let Rust manage memory without a garbage collector, and how to work with the borrow checker.
- 3Structs, Enums and Pattern MatchingModel data with structs and enums, then handle every case safely with match, Option and if let.
- 4Traits, Generics and IteratorsDefine shared behaviour with traits, write generic functions with bounds and process data with iterator chains.
- 5Error Handling with Result and the ? OperatorHandle recoverable errors with Result, propagate them with ? and design clear error types.
- 6Fearless ConcurrencyRun work on threads, share data safely with Arc and Mutex, and pass messages through channels.
- 7Project: Building a Command-Line ToolCombine everything into a tested CLI with clap, file processing, clear errors and a release build.