Rust Training Course (1-3 days) 


Note: this outline is our proposal, but the training can be tailored to your specific requirements upon prior request ahead of the proposed course date.

Why Learn Rust?

Rust is a system programming language that is developed by Mozilla and a community of contributors. It provides developers with control over memory use. Rust keeps a close relationship between the language’s primitive operations and those of the machines it runs on, that helps developers to anticipate the cost of code. Rust eliminates entire classes of bugs and security vulnerabilities and has zero-cost abstractions like C and C++.

Course details

This outline below covers both fundamental and advanced topics.

The final training outline will be designed depending on your particular requirements.

The practical exercises constitute a big part of the course time, besides demonstrations and theoretical presentations. Discussions and questions can be asked throughout the course.


Anyone interested in learning and exploring Rust programming language can attend this course. This course is well-suited for:

  • Systems Programmers

  • Developers interested in Rust

  • C/C++ Programmers


  • There are no formal prerequisites for attending this course.

Course Outline

Getting Started with Rust Programming Language

  • Installation

  • First Rust Program

  • Programming Concepts


Introduction to Ownership

  • References and Borrowing

  • Slice Type


Using Structs to Structure Related Data

  • Defining and Instantiating Structs

  • Method Syntax


Enums and Pattern Matching

Manage Projects with Packages, Crates, and Modules


Exploring Collections

  • Storing Lists of Values with Vectors

  • Storing UTF-8 Encoded Text with Strings

  • Storing Keys with Associated Values in Hash Maps


Error Handling

  • Unrecoverable Errors with panic!

  • Recoverable Errors with Result

  • To panic! Or Not to panic!


Generic Types, Traits, and Lifetimes

Writing Automated Tests

  • How to Write Tests?

  • Controlling How Tests Are Run

  • Test Organisation


An I/O Project – Building a Command Line Program

Functional Language Features – Iterators and Closures

Cargo and

  • Customise Builds with Release Profiles

  • Publish a Crate to

  • Cargo Workspaces

  • Install Binaries from with Cargo Install

  • Extend Cargo with Custom Command


Exploring Smart Pointers and Fearless Concurrency

Object-Oriented Programming Features of Rust

  • Object-Oriented Languages Characteristics

  • Using Trait Objects

  • Implementing an Object


Patterns and Matching

Build a Multithreaded Web Server