OpenGuild
Published on

Training your Rust skills with OpenRustlings

OpenRustlings: Rust Practices with Rustlings

OpenRustlings is a project that contains small exercises designed to help you become comfortable with reading and writing Rust code. These exercises cover various aspects of Rust, including handling compiler messages. It’s highly recommended to work on Rustlings alongside reading the official Rust book, which is the most comprehensive resource for learning Rust. πŸ“š

Curriculum

Chapter IndexChapter NameAssignments
Chapter 01Introduction and Variables6 exercises
Chapter 02Functions5 exercises
Chapter 03If3 exercises, 1 quizz
Chapter 04Primitive Types6 exercises
Chapter 05Vector2 exercises
Chapter 06Move semantics6 exercises
Chapter 07Struct3 exercises
Chapter 08Enum3 exercises
Chapter 09String4 exercises
Chapter 10Module3 exercises
Chapter 11HashMap3 exercises
Chapter 12Option3 exercises
Chapter 13Error Handling6 exercises
Chapter 14Generic Typing2 exercises
Chapter 15Trait5 exercises
Chapter 16Lifetime3 exercises
Chapter 17Test4 exercises
Chapter 18Iterator5 exercises
Chapter 19Smart Pointer4 exercises
Chapter 20Thread3 exercises
Chapter 21Macro4 exercises

Rust Resources list

Resources Covering Basic Concepts of the Language

  1. Rust Programming Language
    Online Link: https://doc.rust-lang.org/book/
    Description: Official rust programming language book. Recommended book for those who are new to rust.

  2. Rust by Example
    Online Link: https://doc.rust-lang.org/rust-by-example/print.html
    Description: A recommended book for those who want to quickly learn through examples with lesser focus on theory

  3. Rust Cookbook
    Online Link: https://rust-lang-nursery.github.io/rust-cookbook/print.html
    Description: Useful Examples for accomplishing common programming tasks.

  4. Easy Rust
    Online Link: https://dhghomon.github.io/easy_rust/
    Description: A text book for those who are not native speakers and want to learn with simple and easy to follow English.

  5. Rust Reference
    Online Link: https://doc.rust-lang.org/reference/introduction.html
    Description: A good reference book for the language

  6. Rust CheatSheet
    Online Link: https://zerotomastery.io/cheatsheets/rust-cheat-sheet/
    Description: Quick reference guide and handy reference for programming in rust.

Resources Covering Advance Concepts of the Language

  1. Comprehensive Rust
    Online Link: https://google.github.io/comprehensive-rust/
    Description: A recommended book for those who are coming from C++/JAVA background and want to develop for Android

  2. The Rust Performance Book
    Online Link: https://nnethercote.github.io/perf-book/introduction.html
    Description: The book contains techniques that can improve the performance, speed, and memory usage

  3. The Rustonomicon
    Online Link: https://doc.rust-lang.org/nomicon/intro.html
    Description: It contains many examples and codes that explain the details when writing unsafe Rust programs.

  4. Learn Rust with Entirely Too Many Linked Lists
    Online Link: https://rust-unofficial.github.io/too-many-lists/
    Description: Basics of linked lists and different types of smart pointers in Rust.

  5. Rust Programming Tips
    Online Link: https://github.com/ferrous-systems/elements-of-rust/blob/master/README.md
    Description: Useful programming examples and tips for effective rust programming.

Documentation of the Language

  1. Standard Library
    Online Link: https://doc.rust-lang.org/std/index.html
    Description: Comprehensive guide to the Rust standard library APIs.

  2. Edition Guide
    Online Link: https://doc.rust-lang.org/edition-guide/index.html
    Description: For understanding Rust's way of introducing changes into the language

  3. Cargo Book
    Online Link: https://doc.rust-lang.org/cargo/index.html
    Description: For understanding the package manager of Rust.

  4. Compiler Error Index
    Online Link: https://doc.rust-lang.org/error_codes/error-index.html
    Description: Listing of all the errors emitted by the compiler

  5. Rustdoc Book
    Online Link: https://doc.rust-lang.org/rustdoc/index.html
    Description: Understanding the generation of documentation for your code