Skip to content

eddy668/teach-rs

 
 

Repository files navigation

Teach-rs

Teach-rs

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.

Usage

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.

Structure

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.

Pre-defined tracks

  • 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!

High-level goals