The Rust Fundamentals training aims to build a solid understanding of the Rust programming language, from basic to advanced engineering requirements. The knowledge is built from the ground up, covering fundamental techniques such as ownership and borrowing up until more advanced topics such as traits, generics, concurrency and unsafe code. Throughout the training we will maintain a focus on memory-safe, idiomatic programming in Rust, covering language features up to the 2024 edition. Next to interactive lectures, a large part of the training will be hands-on exercises to apply knowledge in practice.

 

This training is also available for in-company sessions, online or on-site. For in-company sessions, the training can be adapted to your organization and specific learning needs.

Objective

- Build a solid understanding of Rust,
- Focus on idiomatic programming practices,
- Learn language features up to the 2024 edition,
- Directly apply knowledge during hands-on exercises,
- Learn about resources for further professional development.

Target Audience

Software engineers of medium experience level (2+ years) with a decent base of general software engineering knowledge.

Start date Expected Q2 2027 Next edition info
Duration 2 x 2 consecutive days
Frequency Once per year
Price per participant € 2,600 excl. VAT *
Download brochure

Program

Day 1

Introduction to Rust, language fundamentals, ownership and borrowing. At the end of the day, attendees will be able to explain what Rust is, what its main features and tooling ecosystem offer, and how it fulfills its memory-safety promises. They will be able to set up a basic Rust project, write functions and closures using variable bindings, control flow and operators, and apply Rust's unique ownership and borrowing rules that guarantee memory safety.

Day 2

Functional programming concepts, pattern matching and error handling, collections and iterators, generics, traits and lifetimes. At the end of the day, attendees will be able to explain how functional programming concepts like higher-order functions, immutability and algebraic data types apply to Rust. They will be able to read and write more advanced applications using proper error handling with Option and Result types, effectively use standard library collections and iterators, and apply the trait system to create reusable abstractions and share behavior among types.

Day 3

Memory management and dynamic polymorphism, project organization and tooling, I/O and serialization, advanced language features. At the end of the day, attendees will be able to choose the proper memory management strategy using smart pointers and interior mutability, and apply dynamic polymorphism with trait objects. They will be able to set up and structure Rust projects including tests, documentation and essential tooling like Cargo and Clippy, work with files, streams and data serialization, and use advanced language features like the newtype idiom, operator overloading and const generics.

Day 4

Concurrency, unsafe Rust and foreign function interfaces, macros and the tooling ecosystem, application domains. Optional topics (on request): cross-compilation, advanced async programming. At the end of the day, attendees will be able to write concurrent programs using threads and basic asynchronous programming, and understand how unsafe code can be applied prudently, for example for high-performance requirements or to interface with C and C++ code. They will understand the three forms of macros in Rust, be able to write basic declarative macros, and know how to leverage the tooling and crate ecosystem. When leaving the course, they are equipped with knowledge of how Rust applies to various domains and have handles to sources for further professional development in Rust.

Methods

Lectures, hands-on exercises, interactive discussions.

Deliverables: course materials will be slides, a resource overview and an online code repository for exercises and solutions.

During and after the training, the trainer is available through e-mail for questions and support.

Certification

Participants will receive a High Tech Institute course certificate for attending this training. In addition, this training is part of the Professional Education program of the Dutch Society for Precision Engineering (DSPE), which issues microcredentials for it.