Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Duration 21 hours
Course Outline
Introduction
- Definition and Overview of Rust
- Comparative Analysis: Rust Versus Alternative Languages
- Summary of Key Features and Architectural Design
Foundational Concepts of Rust
- Program Execution Lifecycle in Rust
- System-Level Operational Mechanics
- Memory Safety Guarantees and Ownership Principles
Initialization and Setup
- Configuring the Development Environment
- Installation of the Rust Programming Toolchain
- Environment Configuration and Setup
- Overview of the Cargo Package Manager
Core Syntax and Fundamental Concepts
- Variable Definitions and Data Typing
- Control Structures and Iterative Logic
- Function Definitions and Module Organization
- Implementation of Ownership and Borrowing Rules
Error Management and Exception Handling
- Utilizing Result and Option Types for Error Handling
- Distinction Between Unwinding and Aborting via Panic
- Designing Custom Error Types and Strategic Handling
Memory Management Strategies in Rust
- Stack and Heap Memory Allocation Distinctions
- Pointer and Reference Semantics in Rust
- Memory Control via Box and Unsafe Blocks
Data Structures in Systems Programming
- Structure Definition and Manipulation
- Enumeration Creation and Usage
- Pattern Matching Techniques in Rust
Interoperability with Low-Level Code
- Integrating Rust with C and C++ Ecosystems
- Application of Foreign Function Interface (FFI)
- Handling Raw Pointers and Unsafe Code Constructs
Concurrent Programming and Synchronization
- Concurrency Models Applicable to Systems Programming
- Synchronization Primitives: Mutex, RwLock, and Condvar
- Inter-Thread Communication via Channels and Message Passing
Diagnostic and Troubleshooting Procedures
- Debugging Tools and Methodologies for Rust
- Performance Profiling and Analytical Techniques
- Resolution of Common Systems Programming Challenges
Conclusion and Subsequent Steps
Requirements
- Foundational knowledge of programming paradigms and logic.
- Practical familiarity with at least one imperative language, such as C or C++.
Target Audience
- Software developers and engineers responsible for systems-level software development and maintenance.
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.