Course Outline


About Rust

Pre-requisites

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

Duration

  • 2 – 5 days

Lab Setup

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

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

The classroom training will be provided in Bangalore (Bengaluru), Chennai, Hyderabad or Mumbai and will be conducted in the client's premises. All the necessary hardware/software infrastructure must be provided by the client.