Course Outline
Introduction
* What is Rust?
* Rust vs other programming languages
* Overview of Rust features and architecture
Understanding Rust
* The lifecycle of a Rust program
* How Rust works at a systems level
* Memory safety and ownership in Rust
Getting Started
* Setting up the Development Environment
* Installing Rust as a programming toolchain
* Configuring the Rust environment
* Exploring Cargo package manager
Basic Syntax and Concepts
* Variables and data types in Rust
* Control flow and loops
* Functions and modules
* Ownership and borrowing in Rust
Error Handling and Panic
* Handling errors with Result and Option types
* Unwinding vs aborting with panic!
* Custom error types and error handling strategies
Memory Management in Rust
* Stack vs heap memory allocation
* Pointers and references in Rust
* Managing memory with Box and unsafe blocks
Structs and Enums in Systems Programming
* Defining and working with structs
* Creating and using enums
* Pattern matching in Rust
Asynchronous Programming with Async/Await
* Introduction to asynchronous programming in Rust
* Working with async/await syntax
* Composing futures and working with async libraries
* Exploring the async ecosystem and libraries
Traits and Generics
* Advanced trait usage and associated types
* Implementing generic functions, structs, and enums
* Bounds and trait objects
* Exploring trait coherence and orphan rules
Advanced Error Handling
* Creating custom error types
* Advanced error handling techniques: try!, ? operator, custom error chains
* Error handling strategies and patterns
Macros
* Procedural macros: attribute and function-like macros
* Declarative macros: macro_rules! and the match-like syntax
* Advanced macro usage and metaprogramming
Performance Optimization
* Profiling and benchmarking Rust code
* Identifying performance bottlenecks
* Optimization techniques: data structures, algorithms, and compiler flags
* Writing high-performance Rust code
Unsafe Rust
* Understanding unsafe blocks and unsafe functions
* Working with raw pointers and mutable aliasing
* Safe abstractions around unsafe code
Web Development with Rust
* Overview of web development in Rust
* Exploring Rust web frameworks: Rocket, Actix, Warp, etc.
* Interacting with databases
* Deployment options and considerations
Testimonials (4)
The trainer's knowledge is very extensive, his commitment to conversation and transfer of knowledge is enormous. Good contact with participants. Very well prepared materials, many slides, descriptions of exercises, great preparation for the training was visible. Despite my comments, I still rate the training very well. My comments are only an addition to the training, which was of a very good standard. In my opinion, with participants from area C# and the corrections introduced, the training may be at an ideal level ;-)
Sławek - Sonova Warsaw Service Center Sp z o o
Course - Rust Programming
Machine Translated
I liked the interactive examples we worked on, the trainer was extremely knowledgeable in almost every subject we had questions about, and gave excellent advise for our real-world use-cases relating to some of the material in the training.
Tracy - GenesysGo
Course - Rust Advanced
A large amount of practical knowledge shown in real-life examples.
Kamil - Streamsoft Kraków
Course - Java Advanced
Machine Translated
Pushing changes on an ongoing basis, when on the 3rd day I started to get more lost than before and it was harder to spot the error quickly, I was quickly able to check out the latest changes and stay up to date with the material
Paulina
Course - Advanced Java Security
Machine Translated