Rust 101: an open-source university course

Henk
Embedded software engineer
Liset
Marketing & Partnerships
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.

Why?

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!

How?

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

Imagination!

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.

What?

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:

WeekTopic
1Course intro; Language basics
2Ecosystem and tools; Advanced Syntax, Ownership, References
3Traits and generics
4Application programming
5Multitasking
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.

Who?

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

When?

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 (summer 2023): Henk and colleagues have finished teaching the course! They travelled to Bratislava in February to meet the students for the first course, then gave online lectures and tutorials, and students eventually produced their own Rust project. Read more in this blog.

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.

Henk
Embedded software engineer
Liset
Marketing & Partnerships

Stay up-to-date

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

Related articles

Our zlib-rs project implements a drop-in replacement for libz.so, a dynamic library that is widely used to perform gzip (de)compression.
Will Rust still exist, and have proper support, 10, 20 or even 30 years from now? We’ve been asked this question multiple times in the last year. It is a fair question, as adopting any new technology requires an investment and comes with uncertainties, one of them being the durability of the technology. This article explains why we expect Rust to stand the test of time.
Let's be frank: Rust is a cool language, but there's not a chance I'm introducing it in my company if I can't get any engineers for it. We'll stick with technologies with a much healthier job market.