JetBrains Academy logo
Free courseJetBrains s.r.o.

100 Exercises to Learn Rust

Unlock Rust mastery and IDE confidence with Luca Palmieri’s 100 expert-designed challenges—powered by RustRover.

Skill levelBeginner
Time to complete 30 hours
Skill levelBeginner
Time to complete 30 hours

About this course

Based on 100 Exercises to Learn Rust by Luca Palmieri, this course gives you a hands-on, test-driven path through Rust, starting with your first println! and progressing to advanced concepts like ownership, lifetimes, pattern matching, and generics.

Each challenge begins as a failing unit test. Your job? Write just enough code to make it pass and then refine it with instant feedback inside RustRover, the industry-trusted IDE for Rust. With guided setup, inline tests, intelligent autocomplete, and zero configuration hassle, you can focus entirely on learning by coding.

By the end, you'll have solved 100 curated problems, written clean and idiomatic Rust, and gained both language mastery and the confidence to work in a professional Rust development environment.

Code editor icon

This course runs directly in your JetBrains IDE

Learn more

Content

  1. Introduction
  2. Integers
  3. Variables
  4. Branching if-else
  5. Panics
  6. Factorial
  7. Loops while
  8. Loops for
  9. Overflow and underflow
  10. Saturating arithmetic
  11. Conversions - as casting
  1. Introduction
  2. Structs
  3. Validation
  4. Modules
  5. Visibility
  6. Encapsulation
  7. Ownership
  8. Setters
  9. Stack
  10. Heap
  11. References in memory
  12. Destructors
  13. Outro
  1. Introduction
  2. Trait
  3. Orphan rule
  4. Operator overloading
  5. Derive macros
  6. Trait bounds
  7. String slices
  8. Deref trait
  9. Sized trait
  10. From trait
  11. Associated vs generic types
  12. Clone trait
  13. Copy trait
  14. Drop trait
  15. Outro
  1. Introduction
  2. Enums
  3. Branching - match
  4. Variants with data
  5. Branching - if let and let-else
  6. Nullability
  7. Fallibility
  8. Unwrap
  9. Error enums
  10. Error trait
  11. Packages
  12. Dependencies
  13. thiserror
  14. TryFrom trait
  15. Error - source
  16. Outro
  1. Introduction
  2. Arrays
  3. Vectors
  4. Resizing
  5. Iterators
  6. Iter
  7. Lifetimes
  8. Combinators
  9. impl Trait
  10. impl Trait, pt.2
  11. Slices
  12. Mutable slices
  13. Two states
  14. Index trait
  15. IndexMut trait
  16. HashMap
  17. BTreeMap
  1. Introduction
  2. Threads
  3. 'static lifetime
  4. Leaking memory
  5. Scoped threads
  6. Channels
  7. Interior mutability
  8. Ack pattern
  9. Client
  10. Bounded channels
  11. Patching
  12. Mutex, Send and Arc
  13. RwLock
  14. Without channels
  15. Sync trait
  1. Introduction
  2. Asynchronous functions
  3. Spawning tasks
  4. Runtime
  5. Future trait
  6. Blocking the runtime
  7. Async-aware primitives
  8. Cancellation
  9. Outro

Learn with the tools developers use every day

Real-world development environmentZoom
Real-world development environmentZoom
Real-world development environmentZoom
Real-world development environmentZoom
  • Real-world development environment

    Gain practical experience with the tools and workflows you'll use in your career, minimizing the learning curve when transitioning to real-world projects.

  • Project-based learning journey

    Our plugin is built to help you finish real-world coding projects, which you can display in your code portfolio after completion.

  • Collaboration via Git

    Effortlessly track changes and collaborate on projects using Git, an essential tool for programmers in every field.

  • Focused learning

    Enjoy fewer distractions with assignments, code, debugging, and version control all in one window.

What do you need to start?

1

Install the Free JetBrains Toolbox App

The JetBrains Toolbox App 2.6+ makes setting up your course effortless. Already have a compatible IDE? It will launch it. If not, the app will install the right free IDE for your course.

Learn more about our licences here.

Download
2

Confirm the course launch

Click Launch course and then Allow to open the Toolbox App.

Select Always Allow to skip this confirmation in the future.

To return to the course later, find it in your IDE's recent projects.

Need more help? Check out our guide.

The JetBrains Toolbox App 2.6+ makes setting up your course effortless. Already have a compatible IDE? It will launch it. If not, the app will install the right free IDE for your course.

Learn more about our licences here.

Download

Click Launch course and then Allow to open the Toolbox App.

Select Always Allow to skip this confirmation in the future.

To return to the course later, find it in your IDE's recent projects.

Need more help? Check out our guide.

FAQ and troubleshooting

Yes, you will need the JetBrains Toolbox App and a JetBrains IDE.

But don’t worry! Just click the Open course button and then select Allow in the resultant popup to install the JetBrains Toolbox App. We've taken care of all the necessary settings, and the app will handle the rest of the setup for you.

The JetBrains Toolbox App checks which IDE is compatible with your course and whether it is installed on your computer. If you have the necessary IDE installed, the app will open it. If not, JetBrains Toolbox will initiate the installation, prioritizing free community editions.

Yes, the JetBrains Toolbox App is essential even if you already have a JetBrains IDE. It automatically prepares your IDE for studying by installing the essential plugins and updating the IDE if necessary.

Please make sure your version of the JetBrains Toolbox App is 2.6 or newer. To update, open the app and click Update Toolbox App to 2.6.x., or download the latest version here.

Yes, the course is free, and it does not require a licensed version of the IDE. For further details, see our Subscription Options and Pricing page.
The configuration process may vary depending on the IDE you are using for the course. For detailed instructions, please refer to the Troubleshooting guide.
Report IssueLicense

Learn to code like a pro with JetBrains Academy

Explore catalog
Privacy & SecurityTerms of UseTrademarksLegalGenuine Tools
© 2000—2025 JetBrains s.r.o. All rights reserved. Developed with drive and IntelliJ IDEA

You'll take this course in your JetBrains IDE.
Just install JetBrains Toolbox 2.6+, and we'll handle the rest!