Rust 101 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.
The rendered exercises, including installation instructions, can be found at https://101-rs.tweede.golf
Currently highly in flux, and incomplete, but feedback is welcome!
- Deep dive, intermediate level Rust skill
- Know the problems Rust aims to solve
- Get practical, hands-on experience
- Know why Rust features are the way they are
- Ability to write custom CLI/server applications using popular crates or to contribute to existing projects
- Ability to judge whether Rust fits project requirements
- Ability to teach Rust to other people
The course is setup so that, after modules A1-A4, cherry-picking the modules that suit your purpose is possible.
When used in full 12-week format, the schedule is:
Week | Module | Topic |
---|---|---|
1 | 0, A1 |
Course intro Language basics |
2 | A2, A3 |
Ecosystem and tools Advanced Syntax, Ownership, references |
3 | A4 | Traits and generics |
4 | B | Application programming |
5 | C | Multitasking |
6 | D | Idiomatic Rust patterns |
7 | E | Rust for web |
8 | F | Safe Unsafe Rust |
9 | G | FFI and Dynamic modules |
10 | P | Final project |
11 | P | Final project |
12 | P | Final project presentation |
The course assumes intermediate C/C++ knowledge.
The course outline, along with more elaborate learning objectives, can be found here. You can find instructions on the installation of used tools here.
Rust 101 aims to provide an open-source course, lectures, tutorials and exercises, that can be used by any higher education institution. In its entirity or by using bits and pieces to create your custom course.
The project is executed 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.
We're very happy with the support in developing the course material, by:
- Bernard van Gastel, Radboud University
- Florian Gilcher, Ferrous Systems
- Jonathan Donszelmann, TU Delft
The initial sponsor of the project is the Faculty of Informatics and Information Technologies (FIIT) of the Slovak University of Technology (STU) in Bratislava, Slovakia. FIIT's contribution has enabled us to layout the groundwork for the course.
We are in search of further funding for our project. Contact us if your interested, or sponsor our work.