Day 1
Introduction to Rust, ownership and borrowing, basic types and control structures. At the end of the day, the attendees will be able to explain what Rust is, how its compilation model works, and what it can be used for. They will also be able to read and write basic applications using custom data structures and control flow, while understanding Rust's unique ownership system that guarantees memory safety.
Day 2
Pattern matching and error handling, collections and iterators, traits and generics. At the end of the day, attendees will be able to read and write more advanced applications using proper error handling with Option and Result types. They will be able to effectively use standard library collections and iterators, and apply the trait system to create reusable abstractions and share behavior among types.
Day 3
Advanced language features, concurrency and memory management, and functional programming. At the end of the day, attendees will understand advanced Rust concepts including closures, const generics, and dynamic polymorphism. They will be able to write concurrent programs using threads and basic asynchronous programming, and understand how unsafe code can be applied prudently for high-performance requirements.
Day 4
Project organization and tooling, macros and the ecosystem, application domains. Optional topics (on request): cross-compilation, foreign function interfaces, advanced async programming. At the end of the day, attendees will have a good sense of the Rust toolbox: project structure, essential tooling like Cargo and Clippy, and the crate ecosystem. They will understand the three forms of macros in Rust and be able to write basic declarative macros. When leaving the course, they are equipped with knowledge of how Rust applies to various domains and have handles to sources for further professional development in Rust.
Lectures, hands-on exercises, interactive discussions.
Deliverables: course materials will be slides, a resource overview and an online code repository for exercises and solutions.
During and after the training, the trainer is available through e-mail for questions and support.
Participants will receive a High Tech Institute course certificate for attending this training.