4.9 KiB
100 Days of Rust 🦀
Introduction
Welcome to the 100 Days of Rust Coding Challenge! This challenge is designed to help you learn and improve your Rust programming skills over the course of 100 days.
Each day, you will tackle a new Rust programming concept, project, or problem. You will learn about ownership and borrowing, concurrency and parallelism, the Rust standard library, web development with Rust, game development with Rust, machine learning in Rust, system programming in Rust, cryptography in Rust, and blockchain development in Rust.
This challenge is suitable for Rust beginners and intermediate learners who want to improve their skills and build practical projects. It is also a great opportunity to connect with other Rust learners and share knowledge and experiences.
We hope you find this challenge fun and rewarding, and we can't wait to see what you build with Rust!
How to Participate
Fork this repository and create a new branch to track your progress. Commit to coding and learning Rust for at least an hour every day for 100 days. Share your progress on social media with the hashtag #100DaysOfRustCodingChallenge and tag @DomSecRocks on Twitter. We encourage you to share your progress and ask questions in the Discussions section of this repository.
Rules
-
The main rule is: Code at least an hour every day (don't skip weekends/holidays)
-
Choose an area of Rust you wan't to learn or improve
-
Share your progress daily in your social medias
-
Try not to copy code from the internet
-
Try to come up with a clean and elegant solution
-
Once you can, write tests (and make them pass)
Resources
The Rust Programming Language Book
The Rust Standard Library Documentation
Project List
Day | Project Name | Completed |
---|---|---|
Day #1 | Convert Age To Days | ⬜ |
Day #2 | Finding Nemo | ⬜ |
Day #3 | Barbecue Skewers | ⬜ |
Day #4 | Is Johnny Making Progress | ⬜ |
Day #5 | Pair Of Socks | ⬜ |
Day #6 | Next Prime | ⬜ |
Day #7 | Merge Sorted Array | ⬜ |
Day #8 | Letter Combinations Of A Phone Number | ⬜ |
Day #9 | Trapping Rain Water | ⬜ |
Day #10 | Unique Binary Search Tree | ⬜ |
Day #11 | Restore IP Addresses | ⬜ |
Day #12 | Mountains or Valleys | ⬜ |
Day #13 | Need Help With Your Packing | ⬜ |
Day #14 | The Karacas Encryption Algorithm | ⬜ |
Day #15 | Valid Anagram | ⬜ |
Day #16 | Nim Game | ⬜ |
Day #17 | Prison Break | ⬜ |
Day #18 | Unique Paths | ⬜ |
Day #19 | URL Shortener | ⬜ |
Day #20 | API Challenge | ⬜ |
Day #21 | Random Maze Generator | ⬜ |
Day #22 | Marcio Mellos Challenge | ⬜ |
Day #23 | The Dining Philosophers | ⬜ |
Day #24 | The Josephus Problem | ⬜ |
Day #25 | Coin Trouble | ⬜ |
Day #26 | Briefcase Lock | ⬜ |
Day #27 | Task Scheduler | ⬜ |
Day #28 | Word Search | ⬜ |
Day #29 | Traffic Light Checker | ⬜ |
Day #30 | The Maximum Value | ⬜ |