Course Outline
Introduction
- An overview of what Rust is.
- A comparative analysis of Rust against other programming languages.
- A broad look at Rust's features and architectural framework.
Deep Dive into Rust
- Tracing the lifecycle of a Rust program.
- Understanding Rust's integration with other languages.
- Examining Rust's strategies for memory safety and concurrency.
Getting Started
- Preparing the development environment.
- Installing Rust as the primary programming toolchain.
- Configuring the Rust workspace.
- Navigating the Cargo package manager.
Core Syntax and Concepts
- Defining variables and data types.
- Managing control flow and loops.
- Structuring functions and modules.
- Mastering ownership and borrowing mechanisms.
Structs, Enums, and Pattern Matching
- Defining and applying structs effectively.
- Constructing and matching enums.
- Utilizing pattern matching in Rust.
Error Handling
- Managing errors via Result and Option types.
- Addressing panics using panic! and unwrap().
- Designing custom error types.
Modules and Packages
- Structuring code organization in Rust.
- Creating and utilizing modules.
- Compiling and distributing Rust packages via Cargo.
Testing and Documentation
- Authoring tests for Rust applications.
- Leveraging the integrated testing framework.
- Documenting Rust code using comments and docstrings.
Concurrency Fundamentals
- An introduction to concurrent programming in Rust.
- Creating and orchestrating threads.
- Implementing synchronization and message passing.
Integrating Rust into Existing Systems
- Bridging Rust with other programming languages.
- Invoking Rust functions from C or C++ code.
- Exposing Rust APIs to external languages.
Common Idioms and Best Practices
- Exploring prevalent Rust coding styles.
- Adhering to Rust community standards.
- Utilizing widely adopted libraries and frameworks.
Troubleshooting
- Pinpointing and resolving typical issues in Rust programs.
Summary and Future Pathways
Requirements
- A solid grasp of fundamental programming principles
- Prior experience with at least one programming language, with C or C++ being particularly advantageous
Target Audience
- Software Developers
Testimonials (2)
Very good topic structure, perfect presentation, very high level of trainer's knowlwdge. Flawless infrastructure.
Tibor Pozsgai
Course - Rust Advanced
Solid introduction to rust with advanced elements like macros. Practical code exercises, a lot of side comments, free discussion and consultations.