Course Outline
Introduction
- Defining Rust: A comprehensive overview
- Comparing Rust with other major programming languages
- Overview of key Rust features and structural design
Core Rust Concepts
- The lifecycle of a Rust program execution
- The role of Rust alongside other languages in a tech stack
- Rust’s unique strategies for memory safety and concurrent execution
Initial Setup
- Configuring the development environment
- Installing Rust as a complete toolchain
- Setting up Rust environment variables and paths
- Working with the Cargo package manager
Fundamental Syntax and Logic
- Variables and primitive data types
- Control flow mechanisms and loop structures
- Defining functions and organizing modules
- Mastering ownership and borrowing rules
Data Structures and Patterns
- Defining and utilizing structs for data organization
- Creating enums and implementing matching logic
- Advanced pattern matching techniques in Rust
Robust Error Management
- Managing errors via Result and Option types
- Handling runtime panics using panic! and unwrap()
- Designing custom error types for specific scenarios
Modularity and Packaging
- Structuring code effectively within Rust projects
- Creating and consuming modular components
- Compiling and distributing Rust packages via Cargo
Quality Assurance and Documentation
- Writing unit and integration tests in Rust
- Leveraging the built-in testing framework
- Documenting codebase using comments and docstrings
Concurrency Fundamentals
- Introduction to concurrent programming in Rust
- Thread creation and management strategies
- Synchronization mechanisms and message passing patterns
Integration with Legacy Systems
- Interfacing Rust with other programming languages
- Invoking Rust functions from C or C++ applications
- Exposing Rust interfaces for cross-language consumption
Idiomatic Practices and Standards
- Reviewing common Rust coding styles and patterns
- Adhering to established Rust community conventions
- Incorporating popular libraries and frameworks
Debugging and Resolution
- Identifying and fixing common pitfalls in Rust code
Conclusion and Future Paths
Requirements
- Familiarity with fundamental programming principles
- Practical experience with at least one programming language (C or C++ recommended)
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.