Course Outline
Introduction
- Definition and purpose of the Rust programming language
- Comparative analysis of Rust against other programming paradigms
- Summary of core Rust capabilities and structural architecture
Foundational Understanding of Rust
- Examination of the Rust program execution lifecycle
- Positioning Rust within the broader language ecosystem
- Rust’s methodology for ensuring memory safety and concurrency control
Initialization Procedures
- Establishing the development environment configuration
- Deployment of Rust as the primary programming toolchain
- Configuration of Rust-specific system settings
- Utilization of the Cargo package management system
Core Syntax and Fundamental Concepts
- Variable declaration and data type definitions
- Implementation of control flow structures and iterative loops
- Function definition and modular organization
- Mechanics of ownership and reference borrowing
Structures, Enumerations, and Pattern Matching
- Construction and utilization of struct definitions
- Design and matching logic for enum types
- Application of pattern matching techniques in Rust
Exception and Error Management
- Handling non-fatal errors via Result and Option types
- Managing unrecoverable panics using panic! and unwrap()
- Development of bespoke error handling types
Modular Architecture and Packaging
- Structural organization of Rust codebases
- Creation and integration of code modules
- Compilation and distribution of Rust packages via Cargo
Quality Assurance and Documentation
- Authoring unit and integration tests in Rust
- Leverage of the native testing framework
- Creation of technical documentation through comments and docstrings
Principles of Concurrency
- Introduction to concurrent processing in Rust
- Generation and administration of execution threads
- Techniques for synchronization and inter-process communication
System Integration Strategies
- Interoperability between Rust and external programming languages
- Invocation of Rust functions from C or C++ environments
- Exposition of Rust application programming interfaces to external systems
Standard Practices and Conventions
- Review of prevalent Rust coding patterns
- Adherence to established community standards
- Incorporation of recognized third-party libraries and frameworks
Diagnostic and Resolution Procedures
- Identification and remediation of frequent Rust development issues
Conclusion and Future Development Pathways
Requirements
- Proficiency in fundamental programming logic and concepts
- Practical experience with at least one systems language (C or C++ preferred)
Target Audience
- Software Engineers and 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.