Rust Programming Fundamentals - one course to rule them all, one course to find them...
MIT License
This is the companion repository for the Ultimate Rust Crash Course published online, presented live at O'Reilly virtual events, or in person. You will get the most out of this training experience by trying to accomplish the exercises in this repository and watching (or attending) the instructor-led training.
In other words, this repository is for you hands-on-learners!
I use macOS, and that is what I developed this course on. Everything ought to work similarly on major Linux distributions and Windows. Please contact me ASAP if you have trouble with anything on this page.
Did you like this course? Check out the next one: Ultimate Rust 2: Intermediate Concepts
Rust is required for this course! The latest stable version is always recommended.
Get Started
You should get somewhat similar output if you run commands like the ones below (newer versions are okay). If you
already have an old version of Rust installed, then run rustup update
to install a newer version.
$ rustc --version
rustc 1.54.0 (a178d0322 2021-07-26)
$ cargo --version
cargo 1.54.0 (5ae8d74b3 2021-06-22)
Please do the following (see the How To Learn Rust page for details on all of these)
rust-analyzer
extension. If you have the rust
extension installed, please uninstall it!
intellij-rust
extension.cargo new message
cd message
cargo run
src/main.rs
and change the message.cargo run
again to see your new message.Now you are ready for the training! Go watch the Ultimate Rust Crash Course (or attend the live session) and come back here for the exercises.
Please clone this repository! These exercises are designed as Rust projects for you to edit on your
own computer, with the exception of Exercise A (which is just a README.md
file).
The exercises are separate Rust projects inside the exercises/
subdirectory. For each exercise,
you should:
exercise/EXERCISE_NAME
directory in your IDE/Editor
cargo run
, etc.)src/main.rs
file.If you encounter any problems with the exercises, please feel free to use the online course communication tools to contact me, or open an discussion. Either way. 😄
For your convenience, here is a list of all the exercises, with links to view the code on GitHub.