Rust Programming Language

$1,250.00

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