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
Interfacing with C and Low-Level Code
- Interfacing Rust with C and C++ code
- Using FFI (Foreign Function Interface)
- Working with raw pointers and unsafe code
Concurrency and Synchronization
- Concurrency models in systems programming
- Mutex, RwLock, and Condvar for synchronization
- Channels and message passing for communication
Debugging and Troubleshooting Rust Programs
- Tools and techniques for debugging Rust programs
- Profiling and performance analysis
- Troubleshooting common issues in systems programming
Summary and Next Steps
Requirements
- Basic understanding of programming concepts
- Familiarity with at least one programming language (such as C or C++)
Audience
- Developers
Testimonials (2)
Very good topic structure, perfect presentation, very high level of trainer's knowlwdge. Flawless infrastructure.
Tibor Pozsgai
Course - Rust Advanced
The trainer's knowledge is very extensive, and their engagement in the conversation and transmission of knowledge is enormous. Good contact with participants. The materials are very well prepared, with a lot of slides, exercise descriptions, and it was clear that there were significant preparations for the training. Despite my comments, I still rate the training very highly. My comments are merely suggestions on how to improve the training, which was already at a very good level. In my opinion, with participants from the C# area and the introduced corrections, the training can be at an ideal level ;-)
Slawek - Sonova Warsaw Service Center Sp z o o
Course - Rust Programming
Machine Translated