Skip to content

rust-lang-ua/rustcamp

 
 

Repository files navigation

Rust Rustcamp

"It wasn't always so clear, but the Rust programming language is fundamentally about empowerment: no matter what kind of code you are writing now, Rust empowers you to reach farther, to program with confidence in a wider variety of domains than you did before."

Rust Book's Foreword

In this rustcamp, you will participate in the Rustcamp, a rigorous, step-by-step Rust certification program 🏆. The aim of this program is to shape you into a proficient Strong Junior Rust Developer. Indeed, with this rigorous training, you will find yourself better prepared than developers switching from other languages without a similar level of instruction. If you are a mid- or senior-level developer transitioning to Rust, you can confidently target Middle-level positions after achieving this certification.

Description Number
Total applications to Rustcamp 812
Total number of Participants 323
Mentors 47
Certified Professionals 73

Prerequisites

Before you begin the certification program, you should have a solid understanding of Rust and Git/GitHub. We strongly recommend completing the 📚 Rust Book⏱0.25h. It's also beneficial if you have completed 📰 Rustlings⏱0.25h and 📰 Exercism⏱0.25h, and have some hands-on practice. If you're transitioning from another programming language, you'll also find this certification program particularly useful.

Process

Participants in the boot camp will be divided into closely-knit small groups. Meetings within these groups will occur four times a week, excluding weekends. These meetings are an opportunity for dynamic discussion, mutual learning, and answering any questions you might have. Additionally, participants can expect to answer insightful questions posed by their mentors, fostering a proactive learning environment.

Our learning process is designed around daily skill enhancement, leveraging the highest quality learning materials available. We provide an interactive platform for tracking progress, ensuring a clear path of advancement and accomplishment.

Participants will also be challenged with designing, developing, and presenting a capstone project. This project provides a fantastic opportunity to apply the skills learned throughout the boot camp in a practical, impactful way.

Finally, a comprehensive assessment will be conducted at the end of the certification program. Upon successful completion, participants will earn a certificate. This certificate is more than just a document; it's a testament to your ability to utilize best practices and write idiomatic code that employers will value highly. Imagine the doors that could open with this certificate in hand!

Getting Started

Please, read instructions.

Submitting Solutions

Please, read instructions.

Toolchain

  • 📰 rustup⏱0.25h for installing 📚 Rust⏱0.25h toolchain and keeping it up-to-date.
  • 📰 RustRover⏱0.25h as development environment (or any other on your choice).

Bookshelf

  • 📚 Rust Book⏱0.25h teaches and explains 📚 Rust⏱0.25h basics.
  • 📚 Rust By Example⏱0.25h teaches you 📚 Rust⏱0.25h basics using editable examples.
  • 📚 Rust Reference⏱0.25h is not a formal spec, but is more detailed and comprehensive than the 📚 Rust Book⏱0.25h.
  • 📰 Cheats.rs⏱4.25h and 📰 Rust SVG Cheatsheet for quick reference.
  • 📚 Rust Edition Guide⏱0.25h for considering improvements of 📚 Rust 2018⏱0.25h and 📚 Rust 2021⏱0.25h.
  • 📚 Rust std lib⏱0.25h documentation.
  • 📚 Cargo Book⏱0.25h is a guide to 📰 Cargo⏱0.25h, 📚 Rust⏱0.25h's build tool and dependency manager.
  • 📚 Rustdoc Book⏱0.25h is a guide to rustdoc documentation tool.
  • 📰 Rust Cookbook⏱0.5h is a collection of simple examples that demonstrate good practices to accomplish common programming tasks, using the crates of the 📚 Rust⏱0.25h ecosystem.
  • 📰 Rust Design Patterns⏱0.25h is an open source repository of 📚 Rust⏱0.25h design patterns and idioms.
  • 📰 Effective Rust⏱0.25h is a collection of guidelines that had been learned from real world experience of creating software in 📚 Rust⏱0.25h.
  • 📚 Rust API Guidelines⏱0.25h is a set of recommendations on how to design and present APIs for 📚 Rust⏱0.25h.
  • 📰 Rust FAQ answers common question about 📚 Rust⏱0.25h.
  • 📰 Rust Playground⏱0.25h allows to share and check runnable 📚 Rust⏱0.25h code snippets online.
  • 📋 Awesome Rust⏱2.25h is a curated list of 📚 Rust⏱0.25h code and resources.
  • 📰 This Week in Rust⏱0.25h represents handpicked and subscribable 📚 Rust⏱0.25h weekly updates.
  • 📰 Baby Steps⏱0.25h blog of Nicholas Matsakis shares useful 📚 Rust⏱0.25h patterns, ideas and design decisions.

Schedule

Each task must be performed as a separate 📰 PR (pull request)⏱0.75h with an appropriate name and checkmarked here in README's schedule after completion. Each task is a 📚 Cargo workspace member⏱0.25h, so you can run/test it from the project root (i.e. cargo run -p task_1_8). Consider to use 📰 rustfmt⏱0.5h and 📰 Clippy⏱0.5h when you're writing 📚 Rust⏱0.25h code.

Each task has the estimated time for completion. If any deeper investigation on task's theme is needed by you, then it's on your own.

Do not hesitate to ask your mentor/lead with questions, however you won't receive any concrete answer, but rather a direction for your own investigation. Mentor/Lead is the one who asks questions here, demanding concrete and complete answers.

Curriculum

Useful links

Too hard?

  • 👣 Step-by-Step Introduction⏱0.25h - A gradual introduction to Rust programming.
  • 🐣 Rustlings⏱0.25h - Small exercises designed to familiarize you with reading and writing Rust code.
  • 📘 Rust Book⏱0.25h - An indispensable guide to Rust. While it's a must-have starting point, we strongly encourage revisiting it throughout your learning journey.

Credits

Rustcamp materials were based on the Rust Incubator program created by the Legendary Kai 💜 and Member of the Jedi High Council Luca Palmieri 🧙‍♂️

About

Getting ready for prod

Resources

Stars

549 stars

Watchers

19 watching

Forks

Contributors

Languages

  • Rust 100.0%