Teach-rs: Rust 101 evolved

Embedded software engineer
Teach-rs: Rust 101 evolved
At the end of 2022, we announced the creation of Rust 101, a university course that introduces students of computer science to Rust. Initially, the course was created for the Faculty of Informatics and Information Technologies at STU Bratislava (FIIT), but from the start we've wanted to create an open-source, modular and reusable set of teaching resources. Having now achieved that milestone, it is time for a new announcement: Rust 101 has evolved to teach-rs.

Here's the full story.

What do you mean, 'reusable'?

Rust 101 started out as a tailor-made course for FIIT, incorporating a plethora of concepts that enable students to get started writing their own Rust projects and contributing to others.

First lecture First Rust 101 lecture at STU Bratislava

Setting up a university course is one thing, but allowing various institutions to use it in different contexts, is another. For Rust 101, we envisioned a set of materials on Rust from which teachers can pick and mix their own modules to compose courses fit for their audience and learning objectives. Furthermore, we wanted it to become a platform with which parties can share their own material, and as such it should be easy to contribute material to Rust 101. This platform, as is Rust 101, should revolve around materials for in-person teaching. We think there's plenty of high-quality material out there that supports other learning methods.

What has changed since Rust 101?

After having taught the course at FIIT, we restructured our already modular material to be even more modular and enabled easily composing modules from available or new topics, as well as composing different tracks from modules. We've made the repository more open-source friendly, by adding a teaching guide, and structuring the repository more like a code base. We've been working together with Rust Edu, who have generously funded our efforts and with whom we work together on creating more material.


Having now adapted our material to be composable and reusable, it's time to up our branding game as well: Rust 101 is now teach-rs (pronounced 'teachers')!

Teach-rs logo

With this name, we want to emphasize that teach-rs is aimed at and made by educators to be taught in person. We'd like to show the world that when teaching Rust, we can stand on the shoulders of giants: our awesome contributors from all over the world. Want to get included in that list? Have a look at our contributing guidelines. And of course, have a look at the README if you want to get started teaching Rust!

Get involved or get started!

Just like Rust 101, teach-rs is still open source and will stay that way. This means you can view all materials anytime; any educator may use it, or parts of it, in the courses they teach; and anyone who knows about Rust and education can contribute to the contents of teach-rs.

If you'd like to take a look, whether out of personal or professional interest, simply check out the repository of teach-rs. Fork the project to adapt the materials to your own or your institution's needs. Or open a PR/issue to contribute to the main project.

If you are an educator and are just getting started with Rust in your courses, feel free to contact Teach-rs creator (and first teacher of Rust 101) Henk for pointers or additional support.

(our services)

Want to sponsor Teach-rs?

You'd contribute to:

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

Contribute to Teach-rs

Stay up-to-date

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

Related articles

Asynchronous programming is pretty weird. While it is straightforward enough to understand in principle (write code that looks synchronous, but may be run concurrently yada yada yada), it is not so obvious how and when async functions actually perform work. This blog aims to shed light on how that works in Rust.
In Dutch we have a saying 'meten is weten', which translates to 'to measure is to know'. That sentiment is frequently overlooked in setting up computers and networks.
At the GOSIM Conference in Shanghai, last September, I had the opportunity to talk about ntpd-rs, our project implementing the Network Time Protocol.