Hello everyone! The following is an overview of Virtual Coffee's asynchronous Rust Learning Cohort. It helps to already be familiar with programming and software development before you start (i.e. Rust may not be the best first programming language to learn).
Questions? Comment on the designated question thread in our VC Discussion Board. We will be posting weekly check-ins on the #learning-together Slack channel and schedule at least two group review sessions throughout the cohort.
- Usage
- Curriculum
- Introduction
- 1. Getting Started
- 2. Programming a Guessing Game
- 3. Common Programming Concepts
- 4. Understanding Ownership
- 5. Using Structs to Structure Related Data
- 6. Enums and Pattern Matching
- 7. Managing Growing Projects with Packages, Crates, and Modules
- 8. Common Collections
- 9. Error Handling
- 10. Generic Types, Traits, and Lifetimes
- 11. Writing Automated Tests
- 12. An I/O Project: Building A Command Line Program
- 13. Functional Language Features: Iterators and Closures
- 14. More about Cargo and Crates.io
- 15. Smart Pointers
- 16. Fearless Concurrency
- 17. Object Oriented Programming Features of Rust
- 18. Patterns and Matching
- 19. Advanced Features
- 20. Final Project: Building a Multithreaded Web Server
- 21. Appendix
- Type Conversions
- Conclusion
- Learning Resources
- Suggested Schedule
- Contributing
- Code of Conduct
Fork this repository to make the VC Rust Learning Cohort your own!
- Adjust the pace of the schedule to suit your needs
- Track your own progress through the curriculum by checking off reading, code, and video tasks as you finish them
- Keep a list of cohort learning materials at hand
- Plus, more resources as the repo is updated
Check out the curriculum directory for a chapter-by-chapter breakdown. Use the direct links in the Table of Contents above for easier navigation.
Look in the Primary directory for materials needed to complete this curriculum. The Supplementary directory contains learning materials that will help you complete the curriculum, but are optional. You can find additional resources in our Rust Resources Thread on the Virtual Coffee discussion board.
We have created two suggested schedules to follow, depending on the amount of time you have to commit to learning Rust every week. These schedules will likely be adjusted as we progress through the curriculum and discover how long certain tasks take to complete in real time. Our scheduled tracks are as follows:
- Tortoise Track ๐ข โ Plan to commit 1-2 hours per week
- Hare Track ๐ โ Plan to commit 2-4 hours per week