Welcome to Comprehensive Rust 🦀

This Rust course covers the full spectrum of Rust, from basic syntax to advanced topics like generics and error handling.

The goal of the course is to teach you Rust. We assume you don’t know anything about Rust and hope to:

  • Give you a comprehensive understanding of the Rust syntax and language.
  • Enable you to modify existing programs and write new programs in Rust.
  • Show you common Rust idioms.

We call the first three course days Rust Fundamentals.

Building on this, we will dive into a whole day on concurrency in Rust. We cover both classical concurrency (preemptively scheduling using threads and mutexes) and async/await concurrency (cooperative multitasking using futures).

On the last day, we will learn how to use Rust to run a web server.


Rust is a large language and we won’t be able to cover all of it in a few days.

You will not be a Rust expert at the end of the course, but you will be familiar with Rust’s basics.

Attending this course is not an alternative to reading the official Rust book. You should read the book if you seek a deeper understanding of Rust after this course.


The course assumes that you already know how to program. Rust is a statically-typed language and we will sometimes make comparisons with C and C++ to better explain or contrast the Rust approach.

If you know how to program in a dynamically-typed language such as Python or JavaScript, then you will be able to follow along just fine too.


This script is forked from the original Comprehensive Rust course which is developed by the Android team at Google. Many thanks to the original authors 🥰

More credits

This is an example of a speaker note. We will use these to add additional information to the slides. This could be key points which the instructor should cover as well as answers to typical questions which come up in class.