
Rust training
Master Rust from the ground up — from ownership and lifetimes to async concurrency and systems programming. This comprehensive training covers everything a working developer needs to write safe, fast, and production-ready Rust code. Whether you're building web APIs, CLI tools, or low-level systems software, this course gets you there.
What you will learn:
You will build a solid foundation in Rust's core syntax, ownership model, and type system before advancing to traits, generics, and error handling. You will learn to process data with iterators and closures, write concurrent programs using threads and async/await with Tokio, and interact with system resources through unsafe Rust and FFI. The course also covers web development with Axum and SQLx, performance profiling, macro authoring, and crate publishing. By the end, you will have the skills to design, test, and ship real Rust applications with confidence.
How you study in practice Rust training
How you practise Rust training
For companies looking to train their team
With Dedika for businesses, the course includes exercises and examples tailored to your own business and the specific needs of your company.
Course content
8 Chapters • 40 LessonsDuration between 4 and 360 hours (you decide)
Chapter 1HideHide detailsSee detailsRust Fundamentals and Toolchain Setup
Rust Fundamentals and Toolchain Setup
Lesson 1 • Control Flow Essentials
Teaches if/else, loops, and pattern-based matching. Enables students to direct program execution through branching and iteration.
Lesson 2 • Functions and Modules
Defines function signatures, return types, and module visibility. Establishes code organization patterns used throughout the course.
Lesson 3 • Core Syntax and Data Types
Introduces variables, scalar types, and compound types. Builds the vocabulary needed to express logic in every later chapter.
Lesson 4 • Cargo and Project Structure
Explores Cargo commands, Cargo.toml, and workspace layout. Students gain the project management skills required for all hands-on exercises.
Lesson 5 • Installing and Configuring Rust
Covers rustup, toolchain management, and IDE integration. Provides the foundation for all subsequent compilation and project work.
Chapter 2HideHide detailsSee detailsOwnership, Borrowing, and Lifetimes
Ownership, Borrowing, and Lifetimes
Lesson 1 • References and Borrowing
Introduces shared and mutable references with borrow rules. Students learn to pass data without transferring ownership.
Lesson 2 • Ownership Rules and Move Semantics
Explains single-owner invariant and value moves. Directly addresses the most common beginner compilation errors in Rust.
Lesson 3 • Lifetime Annotations
Teaches explicit lifetime syntax for functions and structs. Enables students to resolve lifetime errors the compiler cannot infer automatically.
Lesson 4 • Slice Types
Covers string slices and array slices as reference views. Connects borrowing concepts to practical data access patterns.
Lesson 5 • Common Ownership Patterns
Surveys Rc, RefCell, and interior mutability for shared ownership. Prepares students for real-world scenarios where single ownership is insufficient.
Chapter 3HideHide detailsSee detailsStructs, Enums, and Pattern Matching
Structs, Enums, and Pattern Matching
Lesson 1 • Methods and Associated Functions
Adds behaviour to structs via impl blocks and constructors. Bridges data modelling with object-oriented-style encapsulation in Rust.
Lesson 2 • Defining and Using Structs
Covers named, tuple, and unit structs with field access. Provides the primary tool for grouping related data throughout the course.
Lesson 3 • Advanced Pattern Matching
Extends match to destructuring, guards, and binding. Enables concise, exhaustive handling of complex data shapes.
Lesson 4 • Enums and Option Type
Introduces enums with data variants and the Option<T> type. Eliminates null-pointer errors by encoding absence explicitly in the type system.
Lesson 5 • if let and while let
Introduces concise single-pattern matching constructs. Reduces boilerplate when only one variant requires handling.
Chapter 4HideHide detailsSee detailsTraits, Generics, and Polymorphism
Traits, Generics, and Polymorphism
Lesson 1 • Standard Library Traits
Surveys Display, Debug, From, Into, Iterator, and Clone. Integrating these traits makes custom types interoperate with the entire ecosystem.
Lesson 2 • Trait Bounds and Where Clauses
Constrains generics with trait bounds and where syntax. Allows the compiler to verify that generic types support required operations.
Lesson 3 • Generic Functions and Structs
Introduces type parameters for functions, structs, and enums. Enables writing algorithms that operate over any compatible type.
Lesson 4 • Dynamic Dispatch with Trait Objects
Contrasts static dispatch with dyn Trait for runtime polymorphism. Students choose the right dispatch strategy for each design scenario.
Lesson 5 • Defining and Implementing Traits
Covers trait declaration, default methods, and implementation. Establishes the primary abstraction mechanism used in all Rust libraries.
Chapter 5HideHide detailsSee detailsError Handling and Result Types
Error Handling and Result Types
Lesson 1 • The ? Operator and Propagation
Teaches the ? operator for concise error propagation in functions. Dramatically reduces boilerplate in functions that call multiple fallible operations.
Lesson 2 • Custom Error Types
Covers defining error enums, implementing std::error::Error, and conversions. Enables libraries to expose meaningful, structured error information.
Lesson 3 • Error Handling in Applications
Introduces anyhow for application-level error aggregation and context. Bridges library-style typed errors with user-facing diagnostic messages.
Lesson 4 • Panic and Unrecoverable Errors
Explains panic!, assert!, and stack unwinding. Establishes when crashing is appropriate versus when errors must be propagated.
Lesson 5 • Result<T, E> and Recoverable Errors
Introduces Result variants, match-based handling, and method chaining. Provides the foundation for all fallible operations in Rust.
Chapter 6HideHide detailsSee detailsCollections, Iterators, and Closures
Collections, Iterators, and Closures
Lesson 1 • Custom Iterators
Guides students through implementing Iterator on custom structs. Deepens understanding of the trait system and enables domain-specific iteration.
Lesson 2 • Closures and Capturing
Explains closure syntax, capture modes, and Fn trait families. Enables passing behaviour as values to iterators and higher-order functions.
Lesson 3 • Vec, HashMap, and HashSet
Covers creation, insertion, lookup, and removal for core collections. Provides the data structures used in the majority of real Rust programmes.
Lesson 4 • Consuming Iterators and Collect
Covers fold, sum, count, collect, and partition consumers. Converts lazy pipelines into concrete results and collections.
Lesson 5 • Iterator Trait and Adapters
Introduces the Iterator trait, lazy evaluation, and adapter chaining. Students compose expressive data pipelines without intermediate allocations.
Chapter 7HideHide detailsSee detailsConcurrency and Async Programming
Concurrency and Async Programming
Lesson 1 • Message Passing with Channels
Teaches mpsc channels for inter-thread communication. Demonstrates the message-passing concurrency model as an alternative to shared state.
Lesson 2 • Tokio Runtime Essentials
Covers Tokio executor setup, async tasks, and async I/O primitives. Enables students to build real networked applications with the dominant async runtime.
Lesson 3 • Synchronisation Primitives
Surveys async Mutex, RwLock, Semaphore, and Notify from Tokio. Equips students to coordinate concurrent tasks without data races.
Lesson 4 • Async/Await Fundamentals
Introduces Future trait, async fn, and .await syntax. Provides the conceptual model for non-blocking I/O in Rust applications.
Lesson 5 • Threads and Shared State
Covers thread::spawn, join handles, and Mutex-protected shared data. Introduces the Send and Sync traits that enforce thread safety at compile time.
Chapter 8HideHide detailsSee detailsSystems Programming and Unsafe Rust
Systems Programming and Unsafe Rust
Lesson 1 • Unsafe Blocks and Functions
Explains the five unsafe superpowers and how to encapsulate them. Students learn to minimise unsafe surface area and document safety invariants.
Lesson 2 • Foreign Function Interface
Covers extern blocks, C ABI, and calling C libraries from Rust. Enables integration with existing native codebases and system libraries.
Lesson 3 • Raw Pointers and Memory Layout
Introduces *const T and *mut T, pointer arithmetic, and memory alignment. Provides the foundation for FFI and manual memory management.
Lesson 4 • Custom Allocators and Memory Management
Introduces the GlobalAlloc trait, jemalloc, and arena allocation. Enables fine-grained memory control for performance-critical applications.
Lesson 5 • Embedded and No-std Environments
Covers no_std attribute, core library, and bare-metal targets. Prepares students to deploy Rust on microcontrollers and resource-constrained systems.
Your valid completion certificate
This course is for you:
Backend developer: wants faster, safer alternatives to garbage-collected languages.
C or C++ programmer: seeks modern tooling and compile-time memory safety guarantees.
Embedded systems engineer: needs a low-level language with strong safety constraints.
Computer science student: building foundational skills in systems-level programming concepts.
Career changer: transitioning from scripting roles into compiled, performance-focused engineering.
DevOps or infrastructure engineer: automating and optimising tooling with a compiled language.
What our students say
Your classes are perfect. I purchased the one-year package and finally have the opportunity to follow various topics of my interest without needing to change platforms... I thank you for everything you do, I've already recommended you to other people...

I like how the lessons are straight to the point and how I can change chapters and skip content I don't need.

I like the content and the way videos are presented and transcribed, which speeds up the process!

The platform is fast, simple to use. The diversity of content and complementary videos help a lot with learning.

Top trainings
FAQ
Who is Dedika?
Is the certificate valid in Nigeria?
Are the courses free?
What is the course workload?
What are the courses like?
How do the courses work?
What is the duration of the courses?
What is the cost or price of the courses?
What is an EAD or online course and how does it work?
PDF Course




















