Course outline for Rust

TechnologyRustDuration * 2 – 5 days LevelPrerequisites listed

Pre-requisites

  • The participants must be comfortable with programming constructs in any one language

Lab Setup

  • Hardware Configuration
    • 2GB of free RAM, 20GB of free disk space and full network connectivity
  • Software Configuration
    • Ubuntu 20.04/22.04 Desktop Edition (sudo/root access required)

How we train

Online training for Rust

  • Instructor-led live cohorts
  • Self-paced learning with expert coaches
  • 24x7 cloud labs with end-to-end examples

All sessions are 100% hands-on. Labs and activities are derived from real-world work our engineers deliver.

Classroom training

Available for corporate teams in:

  • Bengaluru
  • Chennai
  • Hyderabad
  • Mumbai
  • Delhi/Gurgaon/NCR
  • Pune

Note: Classroom training is for corporate clients only.

Self-paced hands-on sessions are delivered via VirtualCoach.

Detailed Course Outline

Hands-on

Introduction to Rust

  • Installation
  • Rust - HelloWorld

Rust Fundamentals

  • Variables and Data Types
  • Conditionals and Loops
  • Functions in Rust

Ownership in Rust

  • Introduction to Ownership in Rust
  • Reference and Borrowing in Rust
  • Slices in Rust

Structs, Enums and Pattern Matching

  • Defining struct
  • Defining enum
  • Understanding match operation

Rust Collections

  • Vectors
  • Strings
  • Hash Maps

Exception Handling

  • Unrecoverable error
  • Recoverable error
  • Setting conditional panic

Generics in Rust

  • Generic struct and enum
  • Generic function

Traits and Lifetime

  • Defining trait
  • Implementing trait
  • Trait bounds
  • Validating reference
  • Generic lifetime
  • Lifetime annotation

Functional Programming with Rust

  • Closure
  • Iterator

Crates, Cargo and Modules

  • Creating modules
  • Visibility control using pub
  • Importing names with use
  • Multiple file crates
  • Importing external crates
  • Publishing crates
  • Cargo workspace

Pointers

  • Understading Box, Deref, Drop, Rc and RefCell
  • Raw pointers

Concurrency in Rust

  • Threads
  • Message Passing
  • Shared State
  • Extensible Concurrency