December 22, 2022

Rust 101: an open-source university course

Rust 101: an open-source university course
In 2009 Rust was a new language. In 2022 that isn't true anymore. Nor does Rust have anything to prove. It's made it to the Linux Kernel, and Microsoft have dubbed it "the Industry’s Best Chance at Safe Systems Programming".

Still, outside the big tech companies Rust is not a mainstream language. From the developers point of view: it is hard to find a Rust job.


let mut reasoning = "Rust is great and all, but...".to_owned();
loop {
  reasoning.push_str("There aren't a lot of job openings, because...");
  reasoning.push_str("Companies are hesitant to adopt it, because...");
  reasoning.push_str("There aren't many experienced developers, because...");

Rust 101 is here to break that vicious cycle!


By sparking students' imaginations - and that of professors, of course!


It's education to the rescue: if higher education can help more students to learn Rust, employers will be confident they can grow teams, and developers will be able to land Rust jobs.


Rust 101 is:

  • a uni course;
  • practical, hands-on experience;
  • introducing Rust from scratch;
  • focused on where and why to use Rust;
  • open-source and ready to use.

The mix of theory and hands-on experience becomes obvious when you take a look at the repository or the outline of the course, which consists of 9 lectures, 9 tutorials and 1 final project.

When used in full 12-week format, the schedule is:

1Course intro; Language basics
2Ecosystem and tools; Advanced Syntax, Ownership, References
3Traits and generics
4Application programming
6Idiomatic Rust patterns
7Rust for web
8Safe Unsafe Rust
9FFI and Dynamic modules
10Final project
11Final project
12Final project presentation

In short, each module starts with a lecture on the theory and is then followed by a tutorial where students do exercises (i.e. writing code).

Rust 101 offers universities a Rust course they can pick and choose from.

Run it as a whole for a complete introduction to the language, or take the base modules and customize the course to your needs.


The Rust 101 project is run by Henk Oordt and others at Tweede golf. It is a not-for-profit project, where the only requirement is that the cost of our work is covered. Tweede golf has received funding from Slovak University of Technology in Bratislava (STU) that has enabled us to lay the groundwork for the course. In addition, Henk has received a grant from the Rust Foundation.

We are very happy to have received support from folks at the Radboud University and the Delft University of Technology, as well as from Ferrous Systems, Europe's leading Rust agency. They have helped us with feedback and contributions to the course material.

(our services)

Want to sponsor Rust 101?

You'd contribute to:

  • maintenance of the material
  • updates as Rust evolves
  • reusability of the course

Contribute to Rust 101


At the time of writing (December 2022) the course is under development, in preparation for its first run at STU Bratislava, Feb - May 2023.

UPDATE (March 2023): Henk and colleagues are teaching the course! They travelled to Bratislava to meet the students for the first course and have since been giving online lectures and tutorials.

Keep an eye on the GitHub repo or follow us for more updates.

How can you help?

We are looking for contributions, feedback and input (for instance: "What are your requirements for a Rust course?") from higher education institutions. Contact Henk if you would like to help out.

Also, we are looking for additional sponsors to make the course material suitable for re-use by other universities. Please consider donating on our GitHub sponsor page and/or sharing this blogpost to anyone who might appreciate the cause.

If your institution opts to sponsors us as a "Rust 101 Course Gold sponsor" we're happy to on-board your lecturers to get you started with the course. Contact Liset if you´d like to talk about this option.

Stay up-to-date

Stay up-to-date with our work and blog posts?

Related articles

NLR, Royal Netherlands Aerospace Centre, invited embedded lead Dion to explain the benefits of programming in Rust to the company.

While working on the Roc compiler, we regularly dive deep on computer science topics. A recurring theme is speed, both the runtime performance of the code that we generate, as well as the performance of our compiler itself.

One extremely useful technique that we have been playing with is data-oriented design: the idea that the actual data you have should guide how code is structured.

TrustZone-m is a technology by ARM that allows you to create a Trusted Execution Environment (TEE) in your software. You can use it for example to keep your encryption keys secret or to separate a big vulnerable networking stack from your own code.

Over the last three months I've been working on a set of crates (Rust libraries) with the aim of making the usage of TrustZone-m a lot easier.