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 fits in with other languages
- Rust's approach to memory safety and concurrency
Getting Started
- Setting up the Development Environment
- Installing Rust as a programming toolchain
- Configuring the Rust environment
- Using the Cargo package manager
Basic Syntax and Concepts
- Variables and data types
- Control flow and loops
- Functions and modules
- Ownership and borrowing in Rust
Structs, Enums, and Pattern Matching
- Defining and using structs
- Creating and matching enums
- Pattern matching in Rust
Error Handling
- Dealing with errors using Result and Option types
- Handling panics with panic! and unwrap()
- Writing custom error types
Modules and Packages
- Organizing code in Rust
- Creating and using modules
- Building and publishing Rust packages with Cargo
Testing and Documentation
- Writing tests in Rust
- Using the built-in testing framework
- Documenting Rust code with comments and docstrings
Concurrency Basics
- Introduction to concurrency in Rust
- Creating and managing threads
- Synchronization and message passing
Integrating Rust with existing codebases
- Interfacing Rust with other programming languages
- Calling Rust functions from C or C++ code
- Exposing Rust APIs to other languages
Common Idioms and Best Practices
- Exploring common Rust coding styles
- Following Rust community conventions
- Utilizing popular libraries and frameworks
Troubleshooting
- Identifying and resolving common issues in Rust programs
Summary and Next Steps
Requirements
- An understanding of basic programming concepts
- Experience with at least one programming language (preferrably 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