Skip to content

coastalwhite/101-rs

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rust 101

Rust 101

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! So is sponsorship; read more below or on our Sponsorship page.

High-level goals

  1. Deep dive, intermediate level Rust skill
  2. Know the problems Rust aims to solve
  3. Get practical, hands-on experience
  4. Know why Rust features are the way they are
  5. Ability to write custom CLI/server applications using popular crates or to contribute to existing projects
  6. Ability to judge whether Rust fits project requirements
  7. Ability to teach Rust to other people

Suggested course schedule

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.

About the project

Rust 101 aims to provide an open-source course, lectures, tutorials and exercises, that can be used by any higher education institution. In its entirety 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.

Other contributors

We're very happy with support in developing the course material from:

  • Bernard van Gastel, Radboud University
  • Florian Gilcher, Ferrous Systems
  • Jonathan Donszelmann, TU Delft

Our sponsors

Logo STU FIIT Logo RF

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.

In addition, lead developer Henk has received a grant from the Rust Foundation.

We are in search of further funding for this project. Contact us if you´re interested, or sponsor our work. At the moment, any one-time or montly donation would support the maintenance of the project. Larger donations would enable us to involve students in trial-runs and feedback sessions and adapt the course material for re-usability by other higher education institutes.

Releases

No releases published

Packages

No packages published

Languages

  • Rust 73.6%
  • Vue 24.5%
  • CSS 1.7%
  • TypeScript 0.2%