{"id":15025383,"url":"https://github.com/cleancut/ultimate_rust_crash_course","last_synced_at":"2025-05-14T02:05:39.187Z","repository":{"id":38224813,"uuid":"241277775","full_name":"CleanCut/ultimate_rust_crash_course","owner":"CleanCut","description":"Rust Programming Fundamentals - one course to rule them all, one course to find them...","archived":false,"fork":false,"pushed_at":"2025-02-25T16:42:08.000Z","size":6268,"stargazers_count":2011,"open_issues_count":2,"forks_count":1063,"subscribers_count":38,"default_branch":"main","last_synced_at":"2025-04-18T14:32:48.653Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CleanCut.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["cleancut"],"patreon":"nathanstocks"}},"created_at":"2020-02-18T05:09:35.000Z","updated_at":"2025-04-17T22:37:21.000Z","dependencies_parsed_at":"2024-11-09T00:31:21.352Z","dependency_job_id":"6692386d-2bf1-4257-8202-8d413d93ac41","html_url":"https://github.com/CleanCut/ultimate_rust_crash_course","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CleanCut%2Fultimate_rust_crash_course","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CleanCut%2Fultimate_rust_crash_course/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CleanCut%2Fultimate_rust_crash_course/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CleanCut%2Fultimate_rust_crash_course/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CleanCut","download_url":"https://codeload.github.com/CleanCut/ultimate_rust_crash_course/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254052692,"owners_count":22006716,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-09-24T20:02:15.072Z","updated_at":"2025-05-14T02:05:34.163Z","avatar_url":"https://github.com/CleanCut.png","language":"Rust","funding_links":["https://github.com/sponsors/cleancut","https://patreon.com/nathanstocks"],"categories":[],"sub_categories":[],"readme":"# Ultimate Rust Crash Course\n\nThis is the companion repository for the [Ultimate Rust Crash Course] published online, presented\nlive at O'Reilly virtual events, or in person.  You will get the most out of this training \nexperience by trying to accomplish the [exercises] in this repository and watching (or attending)\nthe instructor-led training.\n\nIn other words, this repository is for you hands-on-learners!\n\nI use macOS, and that is what I developed this course on.  Everything _ought_ to work similarly on\nmajor Linux distributions and Windows. Please [contact me](mailto:nathan@agileperception.com) ASAP\nif you have trouble with anything on this page.\n\n_Did you like this course? Check out the next one: [Ultimate Rust 2: Intermediate Concepts]_\n\n## Install Rust\n\nRust is required for this course!  The latest stable version is always recommended.\n\n- Go to [rust-lang.org](https://rust-lang.org) and click on the `Get Started`\n   button and follow the instructions to install Rust for your operating system.\n   - Please DO NOT install rust via some other package manager.  It will probably be a version that is _really old_.\n\nYou should get somewhat similar output if you run commands like the ones below (newer versions are okay).  If you \nalready have an old version of Rust installed, then run `rustup update` to install a newer version.\n\n```shell\n$ rustc --version\nrustc 1.54.0 (a178d0322 2021-07-26)\n$ cargo --version\ncargo 1.54.0 (5ae8d74b3 2021-06-22)\n```\n\n- Clone or download this repository to your computer.\n\n## Prepare Your Development Environment\n\nPlease do the following (see the [How To Learn Rust](https://github.com/CleanCut/ultimate_rust_crash_course/blob/master/HowToLearnRust.md)\npage for details on all of these)\n- [ ] Choose an IDE (or Editor) and configure it with Rust support and customize it to your liking\n  - **VS Code users**: Please use the [`rust-analyzer`] extension. **_If you have the `rust` extension installed, please uninstall it!_**\n  - **IntelliJ users**: Please use the [`intellij-rust`] extension.\n- [ ] Choose one place to \"find answers\" and either introduce yourself (if it's a forum, IRC, etc.) or find the answer\n      to one question you have.\n- [ ] Try doing something in Rust!  If you don't have a better idea, then just do this:\n  - `cargo new message`\n  - `cd message`\n  - `cargo run`\n  - Edit `src/main.rs` and change the message.\n  - `cargo run` again to see your new message.\n- [ ] Check out the descriptions of the tools and books.\n\n# Training!\n\nNow you are ready for the training!  Go watch the [Ultimate Rust Crash Course] (or attend the live\nsession) and come back here for the [exercises].\n\n# Resources\n\n- Training by the instructor (Nathan Stocks) in the form of the [Ultimate Rust Crash Course] or a\n  live session.\n- This Repository :tada:\n- [How To Learn Rust](https://github.com/CleanCut/ultimate_rust_crash_course/blob/master/HowToLearnRust.md)\n- [The Rust Standard Library](https://doc.rust-lang.org/std/)\n\n# Exercises\n\nPlease clone this repository! These exercises are designed as Rust projects for you to edit on your\nown computer, with the exception of Exercise A (which is just a `README.md` file).\n\nThe exercises are separate Rust projects inside the `exercises/` subdirectory.  For each exercise,\nyou should:\n- Open the corresponding`exercise/EXERCISE_NAME` directory in your IDE/Editor\n  - Seriously, just open the _individual exercise directory_ in your IDE. If you open the entire repository, your IDE will probably complain that it sees multiple Rust projects.\n- Navigate to the same directory with your Terminal application (so you can run `cargo run`, etc.)\n- Open up the `src/main.rs` file.\n- Follow the numbered exercise instructions in the code comments.\n\nIf you encounter any problems with the exercises, please feel free to use the online course\ncommunication tools to contact me, or [open an discussion]. Either way. 😄\n\nFor your convenience, here is a list of all the exercises, with links to view the code on GitHub.\n\n- [Exercise A - Variables \u0026 Scope](https://github.com/CleanCut/ultimate_rust_crash_course/tree/master/exercise/a_variables)\n- [Exercise B - Functions](https://github.com/CleanCut/ultimate_rust_crash_course/tree/master/exercise/b_functions)\n- [Exercise C - Simple Types](https://github.com/CleanCut/ultimate_rust_crash_course/tree/master/exercise/c_simple_types)\n- [Exercise D - Control Flow \u0026 Strings](https://github.com/CleanCut/ultimate_rust_crash_course/tree/master/exercise/d_control_flow_strings)\n- [Exercise E - Ownership \u0026 References](https://github.com/CleanCut/ultimate_rust_crash_course/tree/master/exercise/e_ownership_references)\n- [Exercise F - Structs \u0026 Traits](https://github.com/CleanCut/ultimate_rust_crash_course/tree/master/exercise/f_structs_traits)\n- [Exercise G - Collections \u0026 Enums](https://github.com/CleanCut/ultimate_rust_crash_course/tree/master/exercise/g_collections_enums)\n- [Exercise H - Closures \u0026 Threads](https://github.com/CleanCut/ultimate_rust_crash_course/tree/master/exercise/h_closures_threads)\n- [Exercise Z - Final Project](https://github.com/CleanCut/ultimate_rust_crash_course/tree/master/exercise/z_final_project)\n\n# Projects\n\n- [Invaders](https://github.com/CleanCut/invaders) - A terminal-based Space Invaders arcade game clone.\n\n\n[exercises]: https://github.com/CleanCut/ultimate_rust_crash_course#exercises\n[open an discussion]: https://github.com/CleanCut/ultimate_rust_crash_course/discussions/new\n[Ultimate Rust Crash Course]: https://agileperception.com/ultimate_rust_crash_course\n[Ultimate Rust 2: Intermediate Concepts]: https://github.com/CleanCut/ultimate_rust2\n[`rust-analyzer`]: https://marketplace.visualstudio.com/items?itemName=matklad.rust-analyzer\n[`intellij-rust`]: https://intellij-rust.github.io/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcleancut%2Fultimate_rust_crash_course","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcleancut%2Fultimate_rust_crash_course","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcleancut%2Fultimate_rust_crash_course/lists"}