ProgramGuru

Rust

Learn Rust. Build programs you can reason about.

Follow student records from your first program through ownership, collections, reliable errors and concurrent work.

Choose your starting point

New to Rust? Start with Foundations. You can switch anytime.

Foundations

Examples use Rust 2024 and the standard library. Local files and Cargo exercises identify their environment; the async lesson demonstrates an unpolled future without an external runtime.

Mallikarjuna Mallisetty, author
About the author

Mallikarjuna Mallisetty

General programming

Mallikarjuna shares practical programming tutorials and foundational concepts designed to help developers learn by building and experimenting.

View LinkedIn profile ↗

Your learning path

All lessons

41 lessons44 code examples46 quiz questions

Your progress is saved on this device.

Estimated time includes reading, exploring code and answering quizzes. Learn at your own pace.

Getting Started

3 lessons · 12 min
  1. What is Rust?1code examples1quiz questions4minutes estimated learning time
  2. Install Rust and use Cargo1code examples1quiz questions4minutes estimated learning time
  3. Rust Hello World program1code examples1quiz questions4minutes estimated learning time

Values and Expressions

6 lessons · 24 min
  1. Variables, mutability and shadowing1code examples1quiz questions4minutes estimated learning time
  2. Numbers, division and conversions1code examples1quiz questions4minutes estimated learning time
  3. Operators and Boolean conditions1code examples1quiz questions4minutes estimated learning time
  4. Formatted output and comments1code examples1quiz questions4minutes estimated learning time
  5. Tuples and fixed-size arrays1code examples1quiz questions4minutes estimated learning time
  6. Functions, parameters and returned values1code examples1quiz questions4minutes estimated learning time

Control Flow

4 lessons · 16 min
  1. If expressions and boundary decisions1code examples1quiz questions4minutes estimated learning time
  2. Match expressions and patterns1code examples1quiz questions4minutes estimated learning time
  3. For loops and ranges1code examples1quiz questions4minutes estimated learning time
  4. While, loop, break and continue1code examples1quiz questions4minutes estimated learning time

Ownership and Borrowing

5 lessons · 26 min
  1. Ownership, moves and cleanup1code examples2quiz questions6minutes estimated learning time
  2. Copy values and deliberate cloning1code examples1quiz questions4minutes estimated learning time
  3. References and read-only borrowing1code examples1quiz questions4minutes estimated learning time
  4. Mutable references and exclusive access1code examples1quiz questions5minutes estimated learning time
  5. Slices and reference lifetimes2code examples2quiz questions7minutes estimated learning time

Collections and Text

4 lessons · 17 min
  1. String, str and Unicode text1code examples1quiz questions4minutes estimated learning time
  2. Vectors and changing collections1code examples1quiz questions4minutes estimated learning time
  3. Maps, sets and keyed records1code examples1quiz questions4minutes estimated learning time
  4. Iterators, closures and transformations1code examples1quiz questions5minutes estimated learning time

Modelling Student Data

5 lessons · 21 min
  1. Structs and named fields1code examples1quiz questions4minutes estimated learning time
  2. Methods and associated functions1code examples1quiz questions4minutes estimated learning time
  3. Enums and optional values1code examples1quiz questions4minutes estimated learning time
  4. Result and recoverable errors1code examples2quiz questions5minutes estimated learning time
  5. Validation, panic and checked access1code examples1quiz questions4minutes estimated learning time

Reusable Rust

4 lessons · 18 min
  1. Traits and derived behavior2code examples1quiz questions6minutes estimated learning time
  2. Generics and trait bounds1code examples1quiz questions4minutes estimated learning time
  3. Modules, crates and visibility1code examples1quiz questions4minutes estimated learning time
  4. Box, Rc and owned resource cleanup1code examples1quiz questions4minutes estimated learning time

Practical Rust

6 lessons · 24 min
  1. Read and validate console input1code examples1quiz questions4minutes estimated learning time
  2. Files and I/O errors1code examples1quiz questions4minutes estimated learning time
  3. Cargo packages and dependencies1code examples1quiz questions4minutes estimated learning time
  4. Tests, boundaries and debugging1code examples1quiz questions4minutes estimated learning time
  5. Macros and repeated syntax1code examples1quiz questions4minutes estimated learning time
  6. Unsafe code and external boundaries1code examples1quiz questions4minutes estimated learning time

Concurrency

3 lessons · 16 min
  1. Threads, ownership and joining1code examples1quiz questions4minutes estimated learning time
  2. Channels, Arc and Mutex1code examples2quiz questions5minutes estimated learning time
  3. Async functions and lazy futures2code examples1quiz questions7minutes estimated learning time

Build a Project

1 lessons · 6 min
  1. Build a validated student report1code examples2quiz questions6minutes estimated learning time