Teach-rs is a university course for computer science students, introducing the Rust Programming Language, and is available for anyone who wants to teach Rust.
Why? Have a look at our blog post introducing the course.
This repo will contain everything that's needed to organize the course: slides, exercises, tools, setup instructions and more.
While all the available material is user-ready, this repo is not yet as exhaustive as we'd like, so feedback and contributions are welcome! So is sponsorship; read more below or on our Sponsorship page.
The teacher's guide can be found here. Have a look at the ModMod Readme for instructions on how to render the content of a track.
The actual content can be found in the content
directory.
The content is structured in a tree of Tracks, Modules, Units, and Topics.
Tracks define a single course, which consists of one or more Modules, which again combines one or more Units, which again is a set of Topics.
Units roughly correspond to one lecture+tutorial (or at least that is the idea, but TODO), and consist of several Topics. Related Units are combined in a Module.
Topics are packages that cover a single topic, and include a small number of slides, some exercises, and an exercise descripion.
Topics can define their learning objectives, further reading material, and how they should be summarized in a Unit introduction.
Tracks, Modules, Units, and Topics and the files they refer to are described in the several TOML files in the content
directory.
ModMod combines the content into a structure that can be directly published to your students in a Git repo, for instance.
- Rust Language Introduction aims to introduce the basics to the Rust programming language, and to enable students to engineer their own applications and crates.
- Rust for the Web covers content that is needed to use Rust in web applications.
- Rust for Systems Programming contains more low-level topics, to teach systems programming using Rust.
- Scientific Rust is about using Rust in scientific programming.
- Full contains all available teach-rs content.
Note: although the outline of the tracks is mostly complete, the tracks may still contain TODOs. You're invited to contribute your own content to fix these!