Image 1 of 1
Rust Programming Language
Location: On-Site or Online
Pricing: $1,250 per seat (6-seat minimum)
Length: 4 Days
Course Summary
Rust is a practical, hands-on course designed to teach students how to build safe, fast, and reliable software using the Rust programming language.
Students learn Rust from a systems and production mindsetβfocusing on memory safety without garbage collection, ownership and borrowing, explicit error handling, and fearless concurrency. The course emphasizes how Rust enforces correctness at compile time and how those guarantees translate into robust real-world applications.
By the end of the course, students are comfortable reading, writing, and debugging Rust programs and understand how Rust is used in systems programming, backend services, CLI tools, networking software, and performance-critical applications.
Course Outline
Day 1 β Rust Fundamentals and Tooling
π¬ Lecture: Why Rust exists and what problems it solves
π¬ Lecture: Rust vs C/C++ vs Go (design tradeoffs)
π¬ Lecture: Rust toolchain (rustc, cargo, rustup)
π¬ Lecture: Project structure and Cargo.toml
βοΈ Lab: Installing Rust and validating the environment
βοΈ Lab: Creating a new Rust project with Cargo
βοΈ Lab: Building and running a Rust program
βοΈ Lab: Exploring compiler errors and warnings
π¬ Lecture: Variables, mutability, and shadowing
π¬ Lecture: Basic types and control flow
βοΈ Lab: Writing simple Rust programs
βοΈ Lab: Using if, loop, while, and match
Day 2 β Ownership, Borrowing, and Data Modeling
π¬ Lecture: Ownership model and move semantics
π¬ Lecture: Borrowing rules and references
βοΈ Lab: Identifying moves vs borrows
βοΈ Lab: Fixing borrow checker errors
π¬ Lecture: Lifetimes (conceptual model)
βοΈ Lab: Adding explicit lifetimes to functions
βοΈ Lab: Refactoring code to satisfy lifetime rules
π¬ Lecture: Structs, enums, and pattern matching
βοΈ Lab: Defining structs and enums
βοΈ Lab: Modeling real-world data with enums
βοΈ Lab: Using match exhaustively
π¬ Lecture: Option and Result types
βοΈ Lab: Handling optional values safely
βοΈ Lab: Propagating errors with ?
Day 3 β Traits, Generics, and Concurrency
π¬ Lecture: Traits and shared behavior
π¬ Lecture: Generics and type parameters
βοΈ Lab: Implementing traits for custom types
βοΈ Lab: Writing generic functions and structs
π¬ Lecture: Error handling patterns and custom errors
βοΈ Lab: Creating custom error types
βοΈ Lab: Converting and handling multiple error types
π¬ Lecture: Concurrency in Rust
π¬ Lecture: Threads, ownership, and safety
βοΈ Lab: Spawning threads safely
βοΈ Lab: Sharing data with Arc and Mutex
π¬ Lecture: Message passing and channels
βοΈ Lab: Communicating between threads with channels
βοΈ Lab: Avoiding data races at compile time
Day 4 β Real-World Rust Applications and Best Practices
π¬ Lecture: Building command-line tools in Rust
π¬ Lecture: Working with files, JSON, and external crates
βοΈ Lab: Parsing command-line arguments
βοΈ Lab: Reading and writing files
βοΈ Lab: Serializing and deserializing JSON
π¬ Lecture: Writing networked and service-oriented Rust code
π¬ Lecture: Async Rust fundamentals (async / await)
βοΈ Lab: Writing an asynchronous Rust program
βοΈ Lab: Making HTTP requests asynchronously
π¬ Lecture: Testing, documentation, and linting
π¬ Lecture: Rust best practices and common pitfalls
βοΈ Lab: Writing unit tests in Rust
βοΈ Lab: Using cargo fmt and cargo clippy
βοΈ Lab: Building and running a complete Rust application
βοΈ Lab: Debugging and performance profiling basics
Outcomes
Students who complete Rust will be able to:
Write safe, idiomatic Rust programs
Understand and apply ownership, borrowing, and lifetimes
Handle errors explicitly and correctly
Build concurrent programs without data races
Use Cargo and the Rust ecosystem effectively
Apply Rust best practices in real production environments
Location: On-Site or Online
Pricing: $1,250 per seat (6-seat minimum)
Length: 4 Days
Course Summary
Rust is a practical, hands-on course designed to teach students how to build safe, fast, and reliable software using the Rust programming language.
Students learn Rust from a systems and production mindsetβfocusing on memory safety without garbage collection, ownership and borrowing, explicit error handling, and fearless concurrency. The course emphasizes how Rust enforces correctness at compile time and how those guarantees translate into robust real-world applications.
By the end of the course, students are comfortable reading, writing, and debugging Rust programs and understand how Rust is used in systems programming, backend services, CLI tools, networking software, and performance-critical applications.
Course Outline
Day 1 β Rust Fundamentals and Tooling
π¬ Lecture: Why Rust exists and what problems it solves
π¬ Lecture: Rust vs C/C++ vs Go (design tradeoffs)
π¬ Lecture: Rust toolchain (rustc, cargo, rustup)
π¬ Lecture: Project structure and Cargo.toml
βοΈ Lab: Installing Rust and validating the environment
βοΈ Lab: Creating a new Rust project with Cargo
βοΈ Lab: Building and running a Rust program
βοΈ Lab: Exploring compiler errors and warnings
π¬ Lecture: Variables, mutability, and shadowing
π¬ Lecture: Basic types and control flow
βοΈ Lab: Writing simple Rust programs
βοΈ Lab: Using if, loop, while, and match
Day 2 β Ownership, Borrowing, and Data Modeling
π¬ Lecture: Ownership model and move semantics
π¬ Lecture: Borrowing rules and references
βοΈ Lab: Identifying moves vs borrows
βοΈ Lab: Fixing borrow checker errors
π¬ Lecture: Lifetimes (conceptual model)
βοΈ Lab: Adding explicit lifetimes to functions
βοΈ Lab: Refactoring code to satisfy lifetime rules
π¬ Lecture: Structs, enums, and pattern matching
βοΈ Lab: Defining structs and enums
βοΈ Lab: Modeling real-world data with enums
βοΈ Lab: Using match exhaustively
π¬ Lecture: Option and Result types
βοΈ Lab: Handling optional values safely
βοΈ Lab: Propagating errors with ?
Day 3 β Traits, Generics, and Concurrency
π¬ Lecture: Traits and shared behavior
π¬ Lecture: Generics and type parameters
βοΈ Lab: Implementing traits for custom types
βοΈ Lab: Writing generic functions and structs
π¬ Lecture: Error handling patterns and custom errors
βοΈ Lab: Creating custom error types
βοΈ Lab: Converting and handling multiple error types
π¬ Lecture: Concurrency in Rust
π¬ Lecture: Threads, ownership, and safety
βοΈ Lab: Spawning threads safely
βοΈ Lab: Sharing data with Arc and Mutex
π¬ Lecture: Message passing and channels
βοΈ Lab: Communicating between threads with channels
βοΈ Lab: Avoiding data races at compile time
Day 4 β Real-World Rust Applications and Best Practices
π¬ Lecture: Building command-line tools in Rust
π¬ Lecture: Working with files, JSON, and external crates
βοΈ Lab: Parsing command-line arguments
βοΈ Lab: Reading and writing files
βοΈ Lab: Serializing and deserializing JSON
π¬ Lecture: Writing networked and service-oriented Rust code
π¬ Lecture: Async Rust fundamentals (async / await)
βοΈ Lab: Writing an asynchronous Rust program
βοΈ Lab: Making HTTP requests asynchronously
π¬ Lecture: Testing, documentation, and linting
π¬ Lecture: Rust best practices and common pitfalls
βοΈ Lab: Writing unit tests in Rust
βοΈ Lab: Using cargo fmt and cargo clippy
βοΈ Lab: Building and running a complete Rust application
βοΈ Lab: Debugging and performance profiling basics
Outcomes
Students who complete Rust will be able to:
Write safe, idiomatic Rust programs
Understand and apply ownership, borrowing, and lifetimes
Handle errors explicitly and correctly
Build concurrent programs without data races
Use Cargo and the Rust ecosystem effectively
Apply Rust best practices in real production environments