Rust is a new programming language for systems and general programming. It is quickly gaining popularity as a safer alternative for the niche currently occupied mainly by C and C++.

After this one or two day training the participants can:

  • understand what kind of language Rust is
  • make informed decisions about choosing Rust for a project
  • read program code written in Rust
  • write simple command line programs in Rust
  • understand memory management in Rust
  • implement concurrency in Rust using threads and async
  • study Rust on their own

To be clear: Rust is a large language, and this course will only get participants started. This course does not teach “advanced Rust”: that will require months or years of active study and use of the language.

The training requires active participation in discussion and hands-on programming exercises.

This course is aimed at people who already know how to program. This is not a course for learning to program for the first time. Experience in a compiled, low-level language such as C or C++ is helpful, but not required. Experience in any language will do. Being comfortable on the command line is needed.

Participants will need:

  • a computer, using a supported CPU (e.g., x86_64, aarch64)
    • Linux, macOS, and Windows are all suitable
    • other operating systems may also be
  • 15 gigabytes of free disk space
  • an Internet connection sufficient for downloading 10-15 gigabytes
  • permission to install software (the Rust toolchain)

Optional preparation:

  • follow instructions on installation page to install the Rust toolchain using the rustup tool, and a C toolchain (gcc for Linux, Visual Studio with C++ support for Windows)
  • to test your Rust installation, run the following commands:
    • cargo init hello
    • cd init
    • cargo run
    • if the output has “Hello, World”, the Rust toolchain is set up

See the training page for prices. To book training, contact me at