Course outline for Rust

Pre-requisites for learning Rust

  • 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)

Duration

  • 2 – 5 days

Training Mode

Online training for Rust

We provide:

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

All jnaapti sessions are 100% hands-on. All our instructors are engineers by heart. Activities are derived from real-life problems faced by our expert faculty. Self-paced hands-on sessions are delivered via Virtual Coach.

Classroom training for Rust

Classroom sessions are conducted in client locations in:

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

Note: Classroom training is for corporate clients only

Detailed Course Outline for Rust

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