This Rust Programming course updated for Rust Edition 2024 and Rust 1.85 is an immersive course, designed to introduce you to Rust, one of the most innovative and safe systems programming languages.
This course covers everything from Rust’s history and design philosophy, to its modern application in software engineering. Through a blend of theory and hands-on labs, you'll explore Rust's unique approach to memory management, error handling, and concurrency, preparing you to build fast, reliable, and efficient software systems.
Let's be honest with you, Rust is a language that indeed has a more steep learning curve. But using our skill-tree approach you can find at any time what knowledge you know, what knowledge you master and what knowledge you need to proceed in one of the directions that you would like to explore in Rust. We have accumulated our 3 year experience with over 120 students in this enhanced course.
And the future is bright for Rust programmers. It's one of the most sought after skills in the industry and experienced Rust programmers unfortunately do not grow on trees.
If you have read several books on Rust and still are heaving a difficulty grasping the spirit of Rust, I challenge you to take our course and lay a vast foundation of your Rust knowledge.
What You Will Learn
Foundations of Rust:
- History, philosophy, and the rise in Rust’s popularity.
- The unique features that make Rust ideal for safe systems programming.
Setting Up Your Environment:
- Installing and configuring Rust using Rustup and Cargo.
- Setting up your first Rust project with recommended editors and IDEs.
Core Rust Programming Concepts:
- Writing your first Rust program.
- Understanding Rust's building blocks: variables, functions, constants, and macros.
- Mastering both primitive (statically sized) and dynamically sized data types.
- See yourself how Rust manages the storage of these types
- See and verify how ownership and borrowing in Rust works 'under the hood'
Memory Management and Error Handling:
- Deep dive into Rust's ownership model, borrowing rules, and lifetimes.
- Implementing robust error handling using the Option and Result types.
Advanced Programming Constructs:
- Leveraging closures, iterators, and generics.
- Exploring smart pointers, and the introduction of concurrency concepts in Rust with threads and async programming.
Organizing and Testing Your Code:
- Structuring projects using modules, crates, and workspaces.
- Implementing unit, integration, and documentation tests.
Object-Oriented Programming in Rust:
- Understanding how traditional OOP concepts are reinterpreted in Rust.
- Emphasizing composition, trait-based polymorphism, and best practices.