The Complete Rust Course: From Beginner to Advanced
What you'll learn
- Master Rust's ownership and borrowing rules
- Solid understanding of creating and organizing Rust projects using modules and crates
- Understand and implement Rust's enum types and structs
- Understand how to handle errors using the Result type
- Understand various data structures in Rust like arrays, vectors, hash maps and slices
Requirements
- No Rust experience is required
- An experience with any programming language is an advantage
Description
Welcome to the most complete Rust course on Udemy! in this course we will start with the basics of Rust and cover all Rust advanced topics including multi-threading and web development.
This course is also very practical and not a theoretical course, after each section you will apply what you have learnt by solving a quiz and also working on a real world project that covers the topics you learnt during the section.
By the end of this course, you'll be ready to start professionally working with Rust to build production-grade command-line and web apps.
Topics covered in the course:
Rust Basics
Ownership in Rust
Structs
Enums
Smart Pointers
Modules and Crates
Collections
Error Handling
Lifetimes
Concurrency and Multi-threading
Web Development in Rust using Rocket
Hands-on practice is the core of this course. You’ll build:
Grade Calculator (Fundamentals)
Contacts Book (Structs & Ownership)
Task Manager CLI (Enums, Traits, HashMaps, Modules, Error Handling)
Sensors Dashboard
Pastebin APIs
These projects are designed to solidify each Rust concept and give you usable tools for your portfolio.
Who This Course Is For
Absolute beginners to Rust or systems programming
Developers coming from C++, Python, Go, or JavaScript
Anyone interested in learning memory-safe, performant application design
Students or engineers preparing for low-level or backend engineering roles
Tools You’ll Use
Rust and Cargo
VSCode or any text editor
CLI-based development (great for real-world applications)
By the End of This Course you’ll be able to:
Understand and apply ownership, borrowing, and lifetimes
Use structs, enums, and traits effectively
Handle errors gracefully with Option and Result
Work with modules, crates, and collections
Publish crates
Understand concurrency and multi-threading in Rust
Build web apps using Rocket and Rust
Build, test, and structure full Rust applications
Course Content in more Details:
Introduction
Introduction to the Course
What is Rust?
Installing Rust
Installing VSCode
Creating our First Application
Course Source Code Repository
Rust Basics
Variables
Constants
Data Types
Arrays
Tuples
Operations in Rust
Introduction to Strings
Functions
Another Way to Return Values
Comments
If Statements
Loops
Handling User Input
Vectors
Macros
Shadowing
Type Aliases
Project: Grade Calculator
Quiz: Basics
Ownership in Rust
Understanding the Ownership Concept, the Stack and the Heap
Rust Ownership Concept
Introduction to Ownership
Copy Types
References and Borrowing
Copying and Dereferencing
Mutable Dereferencing
Shared Ownership using "Rc" and "Arc"
Quiz: Ownership
Structs
Introduction to Structs
Tuple Structs
Field Shorthand Syntax
Implementing Methods
Associated Functions (Constructors)
Traits
Project: Contacts Book
Quiz: Structs
Enums
Introduction to Enums
Enums with Data
Enums and Methods
Quiz: Enums
Smart Pointers
Introduction to Smart Pointers
The Box Type
Using Boxes with Recursive Data and the Cons Pattern
Shared Ownership using "Rc" and "Arc"
Modules and Crates
Introduction to Modules and Crates
Creating a Package
Creating Modules
Creating Crates
the "use" Keyword
"pub" Keyword and Visibility
"mod" vs "use"
Using External Crates
Using Modules without "mod"
Publishing Crates
Quiz: Modules and Crates
Collections
Strings
Introduction to Hash Maps
Hash Maps
Iterators
The Slice Type
Ownership and Borrowing with Collections
Quiz: Collections
Error Handling
Panic
The Option Enum
The Result Enum
Pattern Matching with "if let"
Error Propagation using '?'
Project: CLI Task Manager
Custom Error Types
Quiz: Error Handling
Lifetimes
Introduction to Lifetimes
Structs with Lifetimes
Lifetime Elision Rules
Practical Use Case Example
Quiz: Lifetimes
Concurrency and Multi-threading
Introduction to Concurrency
Threads
Channels
Mutexes and Arc
Project: Sensors Dashboard
Quiz: Concurrency
Files
Reading and Writing Files
Opening Files with Options
Buffering for Large Files
Directories
Project: Logs Analyzer
Asynchronous Rust
Futures and Asynchronous Programming
Using "tokio"
HTTP Requests with "tokio" and "reqwest"
Testing and Documentation
Test Functions
assert_eq! and assert_ne! Macros
assert! Macro
Testing Panics
Web Development with Rocket
Introduction to Rocket
Hello World!
Rocket's Routing System
Handling Post Requests and Errors
Database Integration
Enroll now and take your first step into systems programming with Rust!
Who this course is for:
- Anyone with or without programming experience who wants to learn Rust
Instructor
Software Engineer with experience in Embedded Systems Software Development and Full Stack Web Development.
Very passionate about learning, teaching, writing clean and optimized code, and technical topics like data structures, algorithms and cloud computing.
Currently I work as a full stack software engineer, before that I was working as an embedded software engineer in the automotive industry.