• Stars
    star
    2,720
  • Rank 16,742 (Top 0.4 %)
  • Language
    Rust
  • License
    Creative Commons ...
  • Created about 2 years ago
  • Updated 6 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A modular, reusable university course for Rust

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

High-level goals

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.

  1. Provide a modular, resuable basis for live-taught Rust courses
  2. Provide students with practical, hands-on experience
  3. Provide students with background information of Rust features
  4. Provide students with ability to judge whether Rust fits a project
  5. Provide several specialized learning tracks that focus on different applications (e.g. systems, embedded, web)
  6. Enable teachers to contribute their material for others to use

About the project

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 support in developing the course material from:

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

Contributing

If you'd like to improve Rust 101, either by doing touchups, restructuring a module, or even adding a module, please refer to the contributing guidelines before you get started.

Our sponsors

Founding 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.

Silver sponsors

And a big thank you to our Silver sponsors:

Support Rust 101

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 create new modules and improve existing course material.

More Repositories

1

mailcrab

Email test server for development, written in Rust
Rust
636
star
2

storage-abstraction

Provides an abstraction layer for interacting with a storage; the storage can be local or in the cloud.
TypeScript
103
star
3

sequential-storage

A crate for storing data in flash memory with minimal need for erasing pages
Rust
99
star
4

stackdump

A set of rust crates for making stack dumps and getting stack traces out of them
Rust
71
star
5

nea

Fast webserver with predictable memory usage
Rust
55
star
6

statime

Implementation of the Precision Time Protocol (PTP) in Rust
Rust
36
star
7

sx126x-rs

A driver for the SX126X Family of LoRa modems
Rust
23
star
8

prometheus-bundle

A Symfony bundle for the TweedeGolf Prometheus client
PHP
23
star
9

cargo-minify

A tool to remove unused code from a Rust project.
Rust
19
star
10

minecraft-character-configurator

Simple Minecraft character configurator using React, Three.js and react-three or react-three-renderer.
JavaScript
17
star
11

lzjd-rs

Rust implementation of the LZJD algorithm (https://github.com/EdwardRaff/jLZJD)
Rust
15
star
12

parsed-model

Utility code that makes it easier to create React components from imported 3D-models. To be used in applications using react-three or react-three-renderer and Three.js.
JavaScript
14
star
13

collada2json

Converts Collada models to Threejs' own JSON format
JavaScript
13
star
14

rp1

Easily generate a REST-like CRUD API using Rocket and Diesel
Rust
13
star
15

async-heapless

Rust
11
star
16

async-rtos-showdown

Git repository of the code for the async vs rtos showdown blogpost
C
11
star
17

rust-training

Material for Tweede golf's Rust Training
Rust
11
star
18

swiftmailer-logger-bundle

Log emails sent with Swift Mailer in your Symfony2 project
PHP
10
star
19

prometheus-client

A PHP Client for Prometheus
PHP
10
star
20

media-bundle

Media manager bundle for Symfony2 and tinyMCE
PHP
9
star
21

embedded-async-timer

Async timers for embedded devices in Rust
Rust
9
star
22

kubikey

Google kubernetes engine access using a yubikey
Rust
8
star
23

tguard

A web-based sending and decrypting service for IRMAseal-encrypted messages
Rust
8
star
24

web-ar

Creating augmented reality applications using solely web technologies and JSAruco or JSARToolkit
JavaScript
7
star
25

lorawan

Rust
7
star
26

memory-serve

Fast static file serving for axum web applications
Rust
7
star
27

trustzone-m-tools

Rust
7
star
28

ansible-vault-rs

Decrypt ansible vault 1.1 files in Rust
Rust
6
star
29

nrf9160-rust-starter

Run rust on the nrf9160, with the SPM already included
Rust
6
star
30

pinterest-slider

Slideshow of all images in a Pinterest board. After logging in, you can select a public board and the app displays all images in that board one after each other by using a short cross-fade between 2 consecutive images.
JavaScript
5
star
31

parsed_model_examples

Examples showing how you can create React components from existing 3D models. To be used in applications that use Three.js i.c.w. react-three or react-three-renderer.
JavaScript
5
star
32

irma-jitsi

Immutable authenticated identities for Jitsi using IRMA
Go
4
star
33

symfony-okoa

Okoa Symfony base project
PHP
4
star
34

tglora

Rust
4
star
35

dis-bootloader

A rust bootloader for our internal project using the nRF9160 chip.
Rust
4
star
36

ads129xx

Rust driver for the TI ads129 AFE for ECG applications
Rust
4
star
37

nrf-modem-nal

An embedded-nal implementation for the nrf9160 modem
Rust
4
star
38

collada2json_headless

Headless version of the Collada to JSON converter
JavaScript
4
star
39

hashcode2019

HashCode submission 2019 - Photo Slideshows - Rust
Rust
3
star
40

tweetnacl-bindgen

Exercise using bindgen to create rust bindings for tweetnacl
C
3
star
41

rust-workshop-exercises

Rust
3
star
42

irmars

Rust library for interfacing with irma servers.
Rust
3
star
43

media-browser

Frond-end scripts for the tweedegolf media bundle
JavaScript
3
star
44

wall_configurator

Add Colladas of windows and doors to a wall. The wall is a Threejs Geometry.
JavaScript
2
star
45

gulp-include-file

Include the contents of a file in javascript as a string.
JavaScript
2
star
46

autoerror

Rust
2
star
47

collada-surface

Tool to create mixes of 3D models. Using Collada's and Three.js
JavaScript
2
star
48

openadr-rs

Rust
2
star
49

irma-chat

A chat application, with some substantiated guarantees of knowing who you are chatting with.
Rust
2
star
50

pcf85063a

rust driver for the pcf85063a real-time clock
Rust
2
star
51

stm32wlxx-hal

Hardware Abstraction Library for the ST stm32wlxx family of MCUs in Rust
Rust
2
star
52

laszip-rs

Read/write laz data from/to file and memory
Rust
2
star
53

generatorbundle

Okoa Generator bundle
PHP
2
star
54

nvm-log

Non-volatile memory log message storage
Rust
2
star
55

spaeter

TDOA location detection device
Rust
2
star
56

vr-test4

Testing WebVR API
JavaScript
1
star
57

docker-php-fpm

1
star
58

drive-rs

Rust
1
star
59

pdok-apis

Rust
1
star
60

workshop-embedded-twoparter

Rust
1
star
61

storage-abstraction-example

Example application of the storage abstraction library
TypeScript
1
star
62

threejs-rotations

Show how to rotate the root scene to create an intuitive first person setting
JavaScript
1
star
63

hashcode2021

Rust
1
star
64

id-contact

Documentation repository for ID-Contact
1
star
65

async-spi

Rust
1
star
66

max2034x

No-std Rust driver for the max2034x family of bock-boost converters
Rust
1
star
67

wkhtmltox-deb9

Binaries of wkhtmltopdf and wkhtmltoimage for Debian 9.
1
star
68

veilig-bellen

Place authenticated calls with Amazon Connect and IRMA
Go
1
star
69

okoabundle

Okoa Bundle
PHP
1
star
70

henk

A ~100 line reverse proxy daemon with OpenSSH as client.
Go
1
star
71

rust-sync-async-test-cases

Code used to make https://tweedegolf.nl/blog/62/measuring-power-consumption-sync-vs-async
Rust
1
star
72

slidev-theme-tweedegolf

Tweede golf Slidev theme
CSS
1
star
73

custom_geo

Create and edit rectangular holes in a Threejs 3D object
TypeScript
1
star
74

embedded-workshop

Embedded Rust Workshop
Rust
1
star
75

tof10120-rs

Driver crate for the TOF-10120 Time-of-flight sensor in Rust
Rust
1
star
76

mio-async-executor

An example async executor that uses mio to respond to OS events
Rust
1
star
77

tdoa-solver

Takes in time difference of arrival data and calculates the source of the signal
Rust
1
star
78

parcel-plugin-precaching-sw

Parcel plugin that creates a precaching serviceworker that is configurable via package.json
JavaScript
1
star
79

docker-dev

1
star
80

file-bundle

File and image manager for Symfony 3 projects
JavaScript
1
star