Course Outline
Introduction
- What is Rust?
- Rust compared to other programming languages.
- Overview of Rust's features and architecture.
Understanding Rust
- The lifecycle of a Rust program.
- How Rust integrates 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
- Managing 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
- A foundational understanding of programming concepts.
- Experience with at least one programming language (preferably 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
Solid introduction to rust with advanced elements like macros. Practical code exercises, a lot of side comments, free discussion and consultations.