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 (5)
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
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
The teacher addressed many relevant topics for clean coding with practical examples.
Ben van Oeveren - Movella
Course - Clean Code
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