Rust Training Programs
Learn Rust with us.
Ferrous Systems offers training programs for development teams in companies as well as scheduled trainings for individual programmers interested in furthering their Rust skills.
Whether you’re building up your team’s Rust skills from scratch or developing specializations for embedded systems, our trainers have the knowledge to make your dev team full-blown “Rustaceans”.
We guide teams through the ins and outs of Rust with active participation and coaching. We embrace “learning by doing” – because that’s how we got to where we are today.
At a glance:
- Our trainings are designed to deliver rock-solid foundational knowledge of Rust with room for your specific challenges.
- All sessions are live and feature practical tasks for hands-on learning.
- All material remains available to your team for review.
- Each of our trainers has in-depth knowledge and can answer all your Rust-related questions (even the ones that are hard to google for).
- The goal is always to get your team on a shared knowledge level that will enable them to hit the ground running in Rust.
Our qualifications:
We have a collective 100 years of experience in working with Rust. We’ve shared our knowledge and experience with developers from government organizations to Fortune 500 companies to the birthplace of Rust itself, Mozilla. Ferrous Systems is a collective of members of various Rust Governance teams and working groups, Rust Foundation founding members, as well as maintainers of key Rust projects like rust-analyzer and Knurling. We’re also the developers of Ferrocene, a qualified toolchain.
Our globally-situated trainers come from diverse backgrounds and can offer Q&A support in different languages. Read the bios.
Trainings for Teams
Our basic training packages are conducted online over six half days. If you’re not sure which package best suits your needs or if you need something more custom, get in touch via our contact page.
Introduction to Rust
- Expert Rust trainer
- Customized hands-on exercises
- 6 half days
- Thorough grounding in Rust
Embedded Rust Training
- Expert embedded trainer
- Hands on exercises on hardware
- 6 half days
- Intro to Rust + embedded skills
Why Rust?
- Industry expert
- Interactive lecture format
- Live programming demo
- 1 half-day session
Trainings for Individuals
We work with our partners at KDAB to offer regularly scheduled Rust trainings. This offer is better designed for individual skill development or smaller teams.
Introduction to Rust
- Expert Rust Trainer
- Hands-on exercises
- 5 half days in a 1-week block
- Thorough grounding in Rust
Introduction + Embedded Rust Combo
- Expert Rust trainer
- Hands-on exercises
- Combination of Intro to Rust + Embedded Rust trainings
- 8 half days over two weeks
Embedded Rust Training
- Expert embedded trainer
- Hands on exercises on hardware
- 3 half days
- Embedded skills
Introduction to Rust
In our customized Rust Training for Teams, your team will learn the fundamental skills to confidently read and write Rust code competently on their own. Over the course of six half days your team will gain a deep understanding of Rust and dive into the Rust mindset.
In the first three half days we'll cover the fundamentals of the Rust programming language. In a varied mix of lectures and hands-on exercises we'll cover the following topics:
- The Past, Present and Future of Rust
- Using
rustup
andcargo
- Basic and Compound Types
- Control Flow
- Ownership and Borrowing
- Error Handling
- Rust Collections (Vec, HashMap, etc)
- Using Iterators
- Imports, Modules and Good Design Practices
- Multiple programming exercises
The following two half days are spent on the application of Rust in bigger code bases written in teams. You'll learn everything you need to know write effective, well documented code.
- Methods and Traits
- Rust I/O Traits
- Generics and Lifetime Annotations
- Heap Allocation (with Box and Rc)
- Shared Mutability (with Cell and RefCell)and thread safety (with Send/Sync, Arc, Mutex)
- Closures, Spawning Threads and Scoped Threads
- Multiple programming exercises
The last half day is spent on a topic of your choice from our extensive material list or a comprehensive Q&A.
Is your team already writing production code in Rust for more then a year? We offer an advanced version of the training to give your team the boost they need!
Embedded Rust Training
In our Embedded Rust Training for Teams we'll first cover the fundamentals of the Rust programming language. In a varied mix of lectures and hands-on exercises we'll review Rust's syntax, type system, control flow, the ownership model as it applies to building Embedded Systems, as well as writing modules and reading Rust's documentation. This component of the course will take three half days.
Over the next three half days we will cover a selection of Embedded Rust topics, tailored to your specific use-case. Typically we will be using the Nordic nRF52840-DK as our example platform, but we can adapt the material to other Arm or RISC-V platforms on request.
Example Training Schedule
- Review of Rust key topics (3-days)
- Ownership and Borrowing
- The Rust Standard Library - libcore, liballoc and libstd
- FFI - Using Rust with a C Program
- FFI - Using C with a Rust Program
- Strings and String Slices
- Shared Mutable State in Rust (Cells, Send and Sync)
- Embedded Rust Fundamentals (1 day)
- Installing and Using Ferrocene
- Building and running an embedded Rust program
- Defining custom panic behavior
- Using a HAL implementation
- Understanding the Embedded Rust Stack (1 day)
- The Rust Runtime for Cortex-M or RISC-V
- PACs and
svd2rust
- Writing a HAL and using the embedded-HAL traits
- Rust for Real-Time Systems (1 day)
- Understanding the shape of a Rust program
- Handling interrupts in Rust
- The
critical-section
crate - Using Rust with an RTOS like Eclipse ThreadX
- Using the RTIC framework
Hardware
We will discuss with you the most appropriate hardware to use in this training
Why Rust?
In our half-day course on Why Rust? you will learn what Rust is about, where it is from and where it is going, to help you consider whether Rust is the right programming language for you. You will get get a taster of what our expert training could deliver for your company, and whether it is right for you to look at Rust for your next project.
The session includes two interactive lectures, an extended live programming demonstration, and a Q&A session. We also provide a list of resources and places you can go for support and advice on taking your next steps.
The price for this product is €500. The fee will be reimbursed if the client purchases any subsequent product, such as training, code reviews, or consultancy work.
Introduction to Rust
Our Rust Training in 1 week (5 days) format is designed for individuals who are interested in receiving formal training or business clients who only wish to train a small number of engineers. Our expert trainers will deliver the same basic Rust content as in the Introduction to Rust for Teams package but in a fixed format, with fewer discussions around individual projects.
- The Past, Present and Future of Rust
- Using
rustup
andcargo
- Basic and Compound Types
- Control Flow
- Ownership and Borrowing
- Error Handling
- Rust Collections (Vec, HashMap, etc)
- Using Iterators
- Imports, Modules and Good Design Practices
- Methods and Traits
- Rust I/O Traits
- Generics and Lifetime Annotations
- Heap Allocation (with Box and Rc)
- Shared Mutability (with Cell and RefCell)and thread safety (with Send/Sync, Arc, Mutex)
- Closures, Spawning Threads and Scoped Threads
Below are the following upcoming training sessions which are available via our sales partners - KDAB. You can also see the upcoming sessions for Rust training by us on KDAB's website.
The price for this product is €2250 per person.
We conduct all training sessions remotely using modern video-conferencing tools to ensure the best learning experience.
Book nowvia our sales partner, KDAB
Book nowvia our sales partner, KDAB
Book nowvia our sales partner, KDAB
Book nowvia our sales partner, KDAB
or contact us to purchase via invoiceIntroduction + Embedded Rust Combo
We conduct all training sessions remotely using modern video-conferencing tools to ensure the best learning experience.
Book nowvia our sales partner, KDAB
Book nowvia our sales partner, KDAB
Book nowvia our sales partner, KDAB
Book nowvia our sales partner, KDAB
or contact us to purchase via invoiceEmbedded Rust Training
In our Embedded Rust Training over three half days we'll use the Nordic nrf52840-DK as our example platform. In a varied mix of lectures and hands-on exercises we'll cover the following topics:
Embedded Rust Fundamentals
- Introduction to the knurling tooling (flip-link, probe-run, nrfdfu)
- Differences between
[std]
and[no_std]
programming - Building and running an embedded Rust program
- Defining custom panic behavior
- Using a HAL implementation
- Using the heapless crate
- Hands-on Exercise: Solving a puzzle with the nRF52840-DK Radio
Down-the-stack of Embedded Rust
- Introduction to the stack:
- Board Support Crates (BSC)
- HAL implementations
- Peripheral Access Crates (PAC)
- Embedded-HAL traits vs. specific HAL implementations
- Introduction to
svd2rust
- Implementation of
embedded-hal
traits - Hands-on Exercise: implementing parts of a BSC
Interrupt-driven Concurrency
- Interrupts in Rust
- Safe Shared Mutable State using
critical-section
- Introduction to the RTIC framework
- Hands-on Exercise: implement a working USB Device using RTIC
What you should know before taking this course
Our Embedded Rust training makes some assumptions around the Rust knowledge previously gained by the attendees, so we can concentrate on the Embedded-specific aspects. Before starting this course, we strongly suggest you self assess your Rust skills by having a look at this exercise.
If you've already completed Introduction to Rust, you'll have no issue getting started in the Embedded Rust Training.
Hardware
This workshop requires ordering hardware in advance!
- nRF52840-DK *
- nRF52840-Dongle *
- Two micro-USB cables
The price for this training is €1350 per person.
We conduct all training sessions remotely using modern video-conferencing tools to ensure the best learning experience.
Book nowvia our sales partner, KDAB
Book nowvia our sales partner, KDAB
Book nowvia our sales partner, KDAB
Book nowvia our sales partner, KDAB
or contact us to purchase via invoiceWhy Rust?
In our half-day course on Why Rust? you will learn what Rust is about, where it is from and where it is going, to help you consider whether Rust is the right programming language for you. You will get get a taster of what our expert training could deliver for your company, and whether it is right for you to look at Rust for your next project.
The session includes two interactive lectures, an extended live programming demonstration, and a Q&A session. We also provide a list of resources and places you can go for support and advice on taking your next steps.
The price for this product is €100 per person.
Next training date to be announced!
Subscribe to our Why Rust? newsletter to get the latest updates.
Why Ferrocene?
Why Ferrocene? is a free 90 minute introduction to Ferrocene, a toolchain for building safety-critical and functional-safety systems in Rust.
In this session our experienced trainer will show off a pre-release of the Ferrocene toolchain, talking about the similarities and differences with the upstream Rust toolchain, its use cases and how its long-term support model works. We will also build a small example application for ARM64, live.
Finally there will be time for Q&A, and we will provide details you need to obtain a copy of Ferrocene for yourself.
This training is free!
Next training date to be announced!
Subscribe to our Ferrocene newsletter to get the latest updates.
Languages spoken: English
Languages spoken: English, Hindi, Urdu, Punjabi
Languages spoken: English, Spanish
Languages spoken: English, Russian, Ukrainian
Languages spoken: English, German, French