# mainmatter/100-exercises-to-learn-rust

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/mainmatter-100-exercises-to-learn-rust).**

9,134 stars · 1,973 forks · Rust

## Links

- GitHub: https://github.com/mainmatter/100-exercises-to-learn-rust
- Homepage: https://rust-exercises.com
- awesome-repositories: https://awesome-repositories.com/repository/mainmatter-100-exercises-to-learn-rust.md

## Topics

`exercises` `learning-by-doing` `rust`

## Description

This project is a structured Rust programming course and learning path consisting of a sequence of interactive coding exercises. It provides a curriculum designed to guide learners from basic language fundamentals, such as syntax and type systems, to the development of complex applications.

The learning experience is supported by a command-line solution validator that verifies the correctness of code solutions. The curriculum follows a progressive problem sequencing model, allowing users to master memory management and application logic through a series of practical coding challenges.

The scope of the material covers native extension development, application telemetry implementation, and comprehensive testing strategies. These exercises include the use of automated test suites to validate software behavior and handle edge cases.

Educational content is decoupled from the delivery method to allow access via web browsers, downloadable documents, or physical print.

## Tags

### Programming Languages & Runtimes

- [Rust Tutorials](https://awesome-repositories.com/f/programming-languages-runtimes/programming-language-varieties/programming-languages/language-specific-resources/language-tutorials/rust-tutorials.md) — Provides a comprehensive series of progressive coding exercises and problem-solving tasks to teach the Rust language.
- [Native Compilation Demonstrations](https://awesome-repositories.com/f/programming-languages-runtimes/native-compilation-demonstrations.md) — Uses native binary compilation to demonstrate high-performance memory management and systems-level programming capabilities.

### Education & Learning Resources

- [Solution Validators](https://awesome-repositories.com/f/education-learning-resources/answer-input-validation/solution-validators.md) — Includes a command-line utility to verify the correctness of programming exercise solutions by comparing output against expected results.
- [Exercise Sequencing Systems](https://awesome-repositories.com/f/education-learning-resources/curricula-instructional-design/educational-frameworks-architectures/progression-sequencing-systems/exercise-sequencing-systems.md) — Structures exercises in a linear dependency chain to guide learners from basic syntax to complex application logic.
- [Interactive Programming Tutorials](https://awesome-repositories.com/f/education-learning-resources/educational-resources/courses-training-certifications/interactive-learning-platforms/interactive-programming-tutorials.md) — Combines structured technical guides with a sequence of hands-on programming problems for interactive practice. ([source](https://cdn.jsdelivr.net/gh/mainmatter/100-exercises-to-learn-rust@main/README.md))
- [Language Fundamentals](https://awesome-repositories.com/f/education-learning-resources/educational-resources/languages-and-programming-concepts/software-engineering-languages/language-fundamentals.md) — Offers progressive exercises to master core Rust syntax, type systems, and memory management. ([source](https://rust-exercises.com))
- [Interactive Coding Tutorials](https://awesome-repositories.com/f/education-learning-resources/interactive-coding-tutorials.md) — Provides a sequence of problem-solving tasks integrated with a command-line tool to verify code correctness.
- [Interactive Language Practice](https://awesome-repositories.com/f/education-learning-resources/interactive-language-practice.md) — Offers an interactive environment to practice programming syntax and memory management with automated verification tools.
- [Language Learning Paths](https://awesome-repositories.com/f/education-learning-resources/language-learning-paths.md) — Implements a structured educational sequence guiding learners from basics to complex native extensions.
- [Solution Validators](https://awesome-repositories.com/f/education-learning-resources/solution-validators.md) — The Rust project includes a command line tool to verify the accuracy of programming exercise solutions. ([source](https://cdn.jsdelivr.net/gh/mainmatter/100-exercises-to-learn-rust@main/README.md))
- [Programming Exercises](https://awesome-repositories.com/f/education-learning-resources/programming-exercises.md) — Offers a set of practical coding challenges focused on implementing application telemetry and testing strategies.

### Testing & Quality Assurance

- [Automated Test Suites](https://awesome-repositories.com/f/testing-quality-assurance/automated-test-suites.md) — Provides predefined automated test suites for each programming task to ensure solutions handle all edge cases.
- [Software Testing](https://awesome-repositories.com/f/testing-quality-assurance/software-testing.md) — Teaches the use of automated test suites and comprehensive toolsets to verify software correctness and reliable behavior. ([source](https://rust-exercises.com))
- [Testing Strategy and Process](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/testing-strategy-process.md) — Provides educational content on methodologies for managing quality assurance cycles and implementing test patterns to handle edge cases. ([source](https://rust-exercises.com/))
- [Language-Specific Testing Patterns](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/testing-strategy-process/language-specific-testing-patterns.md) — Includes material on developing and executing comprehensive test suites to validate Rust software behavior and handle complex edge cases.

### Operating Systems & Systems Programming

- [Extension Development](https://awesome-repositories.com/f/operating-systems-systems-programming/platform-development-integration/native-system-extensions/extension-development.md) — Teaches how to build high-performance native extensions to integrate computationally expensive tasks into host environments.
- [Language Extensions](https://awesome-repositories.com/f/operating-systems-systems-programming/platform-development-integration/native-system-extensions/language-extensions.md) — Provides practical exercises for building high-performance native extensions to integrate computationally expensive tasks into host environments. ([source](https://rust-exercises.com))
