Providing Technology Training and Mentoring For Modern Technology Adoption
Web Age Aniversary Logo
US Inquiries / 1.877.517.6540
Canadian Inquiries / 1.877.812.8887
Course #:WA2951

Introduction to Rust Programming Training

Rust was voted most loved programming language four years in a row. It is being used by large players such as Discord, DropBox, Microsoft, Mozilla, npm and many other industry leaders. It’s mission is to ‘empower everyone
to build reliable and efficient software.’

Rust was voted most loved programming language four years in a row. It is being used by large players such as Discord, DropBox, Microsoft, Mozilla, npm and many other industry leaders. It’s mission is to ‘empower everyoneto build reliable and efficient software.’

Objectives

This five day course is designed to equip a programmer with the necessary tools, knowledge and skills to develop client, server or embedded software solutions using the Rust programming language. This course covers the Rust language, explores std (standard) library as well as best practices.
Perhaps, more importantly, this course prepares the participant to not just learn the mechanics behind Rust programming, but help develop the mentality and understand the design principles behind this mighty language.

This five day course is designed to equip a programmer with the necessary tools, knowledge and skills to develop client, server or embedded software solutions using the Rust programming language. This course covers the Rust language, explores std (standard) library as well as best practices.Perhaps, more importantly, this course prepares the participant to not just learn the mechanics behind Rust programming, but help develop the mentality and understand the design principles behind this mighty language.

Duration

Five days

Outline of Introduction to Rust Programming Training

Chapter 1 - Hello, world!

  • Characteristics of Rust
  • Getting rustup
  • Cargo
  • “Hello, World” (finally)
  • Unit Tests

Chapter 2 - What you already know

  • Basic Syntax
  • A bit of convention
  • Comments
  • Variables and Constants
  • Operators
  • Control Statements
  • Functions

Chapter 3 - Basic Types

  • Numeric Types
  • Boolean Type
  • String Types
  • Unit Type

Chapter 4 - What you might not know

  • Ownership and Borrowing
  • Option
  • Result
  • Macros!

Chapter 5 - Compound Types

  • Defining enum
  • Arrays and Vec<T>
  • HashMap
  • Defining struct

Chapter 6 - Modules and CratesReviewing Cargo.toml

  • Creating Libraries
  • Using Library
  • Modules

Chapter 7 - Memory Management

  • Rust memory model
  • Allocating memory
  • Box<T> and Cow<T>
  • Rc<T> and Arc<T>
  • Cell<T> and RefCell<T>
  • unsafe code

Chapter 8 - Object Oriented Programming

  • Is Rust OO?
  • Implementing structs
  • Implementing traits
  • Creating traits
  • impl and dyn

Chapter 9 - Functional Programming

  • Closures
  • Iterators
  • Reviewing for in
  • My Functional Friends

Chapter 10 - Generics

  • Fancy a cup of <T>?
  • Generic functions
  • Generics in struct
  • Generics with traits
  • Using Self

Chapter 11 - Fearless Concurrency

  • Threads in Rust
  • move data between threads
  • Exchanging messages
  • Syncing threads
  • Promises
  • async and await

Chapter 12 - Rust and the Outside World

  • Foreign Function Interface (FFI)
  • nostd for embedded development
  • Using extern crate
  • Exploring Serde for serialization
We regularly offer classes in these and other cities. Atlanta, Austin, Baltimore, Calgary, Chicago, Cleveland, Dallas, Denver, Detroit, Houston, Jacksonville, Miami, Montreal, New York City, Orlando, Ottawa, Philadelphia, Phoenix, Pittsburgh, Seattle, Toronto, Vancouver, Washington DC.
US Inquiries / 1.877.517.6540
Canadian Inquiries / 1.877.812.8887