Kursstruktur

Diese Seite ist für den Kursleiter.

Rust Fundamentals

The first four days make up Rust Fundamentals. The days are fast paced and we cover a lot of ground!

Course schedule:

  • Day 1 Morning (3 hours, including breaks)
SegmentDuration
Willkommen5 minutes
Hallo Welt!20 minutes
Types and Values1 hour and 5 minutes
Kontrollfluss1 hour
  • Day 1 Afternoon (2 hours and 55 minutes, including breaks)
SegmentDuration
Tuples and Arrays1 hour
Referenzen50 minutes
User-Defined Types50 minutes
  • Day 2 Morning (3 hours and 5 minutes, including breaks)
SegmentDuration
Willkommen3 minutes
Musterabgleich50 minutes
Read und Write55 minutes
Generische Datentypen und Methoden45 minutes
  • Day 2 Afternoon (3 hours, including breaks)
SegmentDuration
Standardbibliothek1 hour and 10 minutes
Standardbibliothek1 hour and 40 minutes
  • Day 3 Morning (2 hours and 15 minutes, including breaks)
SegmentDuration
Willkommen3 minutes
Speicherverwaltung1 hour and 10 minutes
Smart Pointers45 minutes
  • Day 3 Afternoon (2 hours and 20 minutes, including breaks)
SegmentDuration
Ausleihen1 hour
Lebensdauern1 hour and 10 minutes
  • Day 4 Morning (3 hours and 5 minutes, including breaks)
SegmentDuration
Willkommen3 minutes
Iteratoren45 minutes
Module40 minutes
Testen1 hour and 5 minutes
  • Day 4 Afternoon (2 hours, including breaks)
SegmentDuration
Fehlerbehandlung45 minutes
Unsicheres Rust1 hour and 5 minutes

Vertiefungen

In addition to the 4-day class on Rust Fundamentals, we cover some more specialized topics:

Rust in Android

The Rust in Android deep dive is a half-day course on using Rust for Android platform development. This includes interoperability with C, C++, and Java.

Du wirst eine lokale Arbeitskopie von AOSP benötigen. Mache eine Arbeitskopie des Kurses auf deinem Laptop und verschiebe das Verzeichnis src/android/ in das Stammverzeichnis Deiner AOSP Arbeitskopie. Dadurch wird sichergestellt, dass das Android-Buildsystem die Android.bp-Dateien in src/android/ sehen kann.

Stelle sicher, dass adb sync auf deinem Emulator oder Rechner funktioniert. Erstelle bereits vor dem Kurs alle Android-Beispiele mit src/android/build_all.sh. Schaue auch in das Skript rein und probiere aus, ob alle Befehle, die es ausführt auch von Hand ausgeführt funktionieren.

Rust in Chromium

The Rust in Chromium deep dive is a half-day course on using Rust as part of the Chromium browser. It includes using Rust in Chromium's gn build system, bringing in third-party libraries ("crates") and C++ interoperability.

You will need to be able to build Chromium --- a debug, component build is recommended for speed but any build will work. Ensure that you can run the Chromium browser that you've built.

Bare-Metal Rust

The Bare-Metal Rust deep dive is a full day class on using Rust for bare-metal (embedded) development. Both microcontrollers and application processors are covered.

Für den Mikrocontroller-Teil solltest Du das BBC micro:bit v2-Entwicklungsboard im Voraus kaufen. Alle müssen eine Reihe von Paketen installieren, wie auf der Willkommens Seite beschrieben.

Concurrency in Rust

The Concurrency in Rust deep dive is a full day class on classical as well as async/await concurrency.

Du solltest eine neue Kiste (crate) einrichten und die Abhängigkeiten (dependencies) herunterladen und einsatzbereit machen. Anschließend kannst Du die Beispiele kopieren und in src/main.rs einfügen, um damit zu experimentieren:

cargo init concurrency
cd concurrency
cargo add tokio --features full
cargo run

Format

Der Kurs soll sehr interaktiv ablaufen und wir empfehlen, durch Fragen die Erkundung von Rust voranzutreiben!