About the course:
Our instructor-led hands-on Rust training course will give you the skills to develop high-performance software systems.
Similar to C++, Rust was developed by Mozilla as a general-purpose, low-level language with an emphasis on writing safe code - and it excels in solving concurrency challenges.
On this course you'll find out how to develop, test and deploy Rust applications and integrate with other systems.
Our Rust programming classes are available as part of a wider training programme or as a standalone workshop, we are happy to customise the syllabus to suit you and your team's learning goals, project requirements, and accommodate your preference for on-site / remote delivery.
By the end of this course, you will have learnt about:
- Rust language and syntax
- Ownership
- Structuring Data
- Pattern Matching
- Managing Rust projects
- OOP
- Functional Programming
- Testing
- Concurrency
Who should attend
This course is aimed at developers who are looking to build robust, efficient applications using Rust.
Prerequisites
You should have some previous programming experience in
another language such as Java, C++, JavaScript, C#.
Live, instructor-led online and on-site training
We appreciate that you need flexibility to fit in with new working situations - whether you're an individual, part of a distributed team, or simply have projects and deadlines to meet.
Our remote training can take place online in a virtual classroom, with content split into modules to accommodate your scheduling challenges and meet your learning goals. Get in touch today to find out how we can help design a cost-effective, flexible training solution.
As soon as it's safe, we'll return to also offering the on-site custom training courses and programmes upon which we've built our reputation.
Introduction to Rust
- Language fundamentals
- Obtaining Rust
- Setting up your development environment
- Useful Online Resources
Getting started with Rust
- Variables
- Data Types
- Functions
- Comments
- Flow of Control
- Expressions
Rust Ownership
- What is Ownership?
- Memory safety
- Stack & Heap
- Borrowing
- Slices
Structuring Data
- Structs
- Related Data
- Instantiating Structs
- Tuple Structs
- Ownership of Struct Data
Pattern Matching
- Enums
- Defining Types
- Expressions
- Match control flow operator
Keeping track of your project
- Packages
- Crates
- Modules
- Paths
- Controlling Scope and Privacy
Rust Collections
- Lists
- Values
- Vectors
- Keys & Hash Maps
Error Handling
- Don't panic! (using the panic! macro)
- Backtracing
- Using the Result type
Generics
Testing
- Writing tests
- Cargo test
- Unit tests
OO Programming
- Objects
- Encapsulation
- Inheritance
- Trait Objects
- Loops or Iterators?
Functional programming
- Iterators
- Closures
- Loops or Iterators?
Smart Pointers
Concurrency
- Threading
- Join Handles
- Message Passing
- Sync and Send