PLEASE NOTE: This is a LIVE INSTRUCTOR-LED training event delivered ONLINE.
It covers the same scope and content as a scheduled in-person class and delivers comparable learning outcomes.
Rust Fundamentals teaches the Rust programming language for embedded engineers. This course gives delegates a full grounding in the Rust programming language. It is sufficient to get you started in your Rust programming journey. The syllabus, examples and exercises are tuned to the practical requirements for embedded software developers.
Workshops comprise approximately 50% of class time and are based around carefully designed hands-on exercises to reinforce learning. This training class is designed around interactivity and student engagement. Throughout the lectures the students are asked to run code snippets to demonstrate complex concepts, debug and refine provided examples. These various exercises will be achieved using a mix of web-based tools integral to the training material as well as a provided virtual-machine environment that the student will be able to keep post-training to further their experiments with a Rust based embedded software tool-kit.
Please contact Doulos for further information about this training.
Rust Fundamentals is aimed at embedded software engineers who need to gain a working knowledge of the Rust language to build an embedded system.
The course is also suitable as a general introduction to Rust programming.
Rust Fundamentals does not assume a prior knowledge of C/C++ or assembly, however this would be an advantage.
Equally, embedded programming experience and microcontroller knowledge is not essential to participate to the training, but useful.
Doulos course materials are renowned for being the most comprehensive and user friendly available. Their unique style, content and coverage has made them sought after resources in their own right. The materials include:
Attendees will also be provided with virtual-machine environment to keep post-training to further their experiments with a Rust-based embedded software tool-kit.
Rust Fundamentals will cover the topics below.
Integral to the course are hands-on sessions for almost all topics covered, complemented by a project developed through the course, which integrates the acquired knowledge with a working example that can be used as a basis for real projects.
Rust application overview
Rust's 101 • How does Rust compare to other languages? • Safety features in the Rust language • Rust tools for embedded development • Memory control • Rust's embedded credentials
Rust language overview
Syntax rules and conventions • Declarations and statements • Rust expressions • Rust loops • Fields and scopes • Rust abstract data types
Data types in Rust
Scalar types • Type casting • Compound types
Arithmetic operators • Logical operators • Relational operators • Type operators
Variables, Constants, Mutable
Scope of declaration • Mutability • Memory allocation
Conditional execution • Pattern matching • Rust Loops and early terminations
Ownership and Borrowing
The ownership paradigm • Shared references • Mutable references • Move versus copy types
Arguments list • Return values • Local declarations • Formal VS actual arguments' kind • Function pointers • Closures and functional programming
Advanced function definitions
Overloading • Lifetimes • Generic functions
More on Types
String types • Struct Types • Enumerated Types • Options and Results • The Box Type
Crates and modules
What are crates? • Commonly used crates in Rust • Creating and using crates • Crates in embedded Rust #![no_main] #![no_std] • What are modules? • Basic module implementation • Hierarchical modules • Managing abstraction with pub • pub use case with struct, enum, trait, mod • Accessing the module's content
Abstraction and Implementation
Instances • Singletons • Generic and Traits
Complete an enquiry form and a Doulos representative will get back to you.
Enquiry FormPrice on request