Course Outline
Introduction
- Defining Rust and its purpose.
- Comparing Rust with alternative programming languages.
- An overview of key Rust features and architectural elements.
Deep Dive into Rust
- The lifecycle of a Rust application.
- The role of Rust within the broader language ecosystem.
- Rust’s unique strategies for ensuring memory safety and concurrency.
Getting Started
- Preparing the development workspace.
- Installing the Rust toolchain.
- Configuring the Rust environment settings.
- Leveraging the Cargo package manager.
Core Syntax and Principles
- Managing variables and data types.
- Implementing control structures and loops.
- Defining functions and organizing code into modules.
- Mastering ownership and borrowing mechanisms.
Structs, Enums, and Pattern Matching
- Creating and utilizing structs.
- Defining enums and performing pattern matching.
- Advanced pattern matching techniques in Rust.
Error Management
- Handling errors through Result and Option types.
- Managing panics using panic! and unwrap().
- Designing custom error types.
Modularization and Packaging
- Structuring Rust code effectively.
- Creating and utilizing modules.
- Compiling and distributing Rust packages via Cargo.
Testing and Documentation
- Writing tests for Rust projects.
- Utilizing the integrated testing framework.
- Documenting code through comments and docstrings.
Concurrency Essentials
- An introduction to concurrent programming in Rust.
- Spawning and managing threads.
- Techniques for synchronization and message passing.
Integration with Existing Systems
- Interfacing Rust with other languages.
- Invoking Rust functions from C or C++ code.
- Exposing Rust APIs to external environments.
Idiomatic Practices and Best Standards
- Reviewing common Rust coding styles.
- Adhering to community-driven conventions.
- Employing widely adopted libraries and frameworks.
Troubleshooting
- Pinpointing and resolving frequent issues in Rust programs.
Conclusion and Path Forward
Requirements
- A solid grasp of fundamental programming principles.
- Proficiency in at least one mainstream language, with a particular preference for C or C++.
Intended 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.