Kursstruktur
Diese Seite ist für den Kursleiter.
Rust Grundlagen
An den ersten vier Tagen werden wir die Rust Grundlagen behandeln. Das Tempo wird während dieser Zeit hoch sein und wir werden auf sehr viel eingehen und vorstellen.
Kurs Zeitplan:
- Tag 1 Vormittag (zwei Stunden und 10 Minuten, inklusive Pausen)
Segment | Dauer |
---|---|
Willkommen | 5 Minuten |
Hallo Welt! | 15 Minuten |
Datentypen und Wertebereiche | 40 Minuten |
Kontrollfluss | 45 Minuten |
- Tag 1 Nachmittag (zwei Stunden 35 Minuten, inklusive Pausen)
Segment | Dauer |
---|---|
Tuples und Datenfelder | 35 Minuten |
Referenzen | 55 Minuten |
Benutzerdefinierte Datentypen | 50 Minuten |
- Tag 2 Vormittag (zwei Stunden, inklusive Pausen)
Segment | Dauer |
---|---|
Willkommen | 3 Minuten |
Mustervergleich | 50 Minuten |
Methoden und Merkmale | 50 Minuten |
- Tag 2 Nachmittag ( drei Stunden und 15 Minuten, inklusive Pausen)
Segment | Dauer |
---|---|
Generische Datentypen und Methoden | 45 Minuten |
Standardbibliothek Datentypen | eine Stunde |
Standardbibliothek von Merkmalen | eine Stunde und 10 Minuten |
- Tag 3 Vormittag (zwei Stunden und 20 Minuten, inklusive Pausen)
Segment | Dauer |
---|---|
Willkommen | 3 Minuten |
Speicherverwaltung | eine Stunde |
erweiterter Zeigertyp (Smart pointer) | 55 Minuten |
- Tag 3 Nachmittag (eine Stunde und 55 Minuten, inklusive Pausen)
Segment | Dauer |
---|---|
Ausborgen | 55 Minuten |
Lebensdauer | 50 Minuten |
- Tag 4 Vormittag (zwei Stunden und 50 Minuten, inklusive Pausen)
Segment | Dauer |
---|---|
Willkommen | 3 Minuten |
Iteratoren | 55 Minuten |
Module | 45 Minuten |
Tests | 45 Minuten |
- Tag 4 Nachmittag (zwei Stunden und 10 Minuten, inklusive Pausen)
Segment | Dauer |
---|---|
Fehlerbehandlung | 55 Minuten |
Unsicheres Rust | eine Stunde und 5 Minuten |
Vertiefungen
Zusätzlich zu den vier-tägigen Rust-Grundlagen Kurs behandeln wir noch einiges mehr Spezialthemen nach Tag 3:
Rust in Android
Der Android - Vertiefung ist ein halbtägiger Kurs zur Verwendung von Rust für die Entwicklung der Android-Plattform. Dazu gehört die Interoperabilität mit C, C++ und Java.
Du wirst eine lokale Arbeitskopie von AOSP benötigen. Mache dir 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 im Chromium
Der [Rust in Chromium] (../chromium.md) ist ein halbtägiger Kurs zur Verwendung von Rust als Teil des Chromium Browsers. Dazu gehört die Interoperabilität mit C++, die Rust Benutzung mit dem Chromiums gn
Kompiler System und das Einbinden von Drittanbieter Bibliotheken (“crates”).
Du solltest in der Lage sein, Chromium kompilieren zu können — eine Debug- oder Komponentenversion wird [Empfehlung] recommended wird aus Geschwindigkeitsaspekten empfohlen, ist jedoch nicht zwingend erforderlich. Wichtig ist nur, dass die erstellte Version von Chromium auch gestartet werden kann.
Hardwarenahes Rust
Der Hardwarenahes Programmieren - Vertiefung: ein ganztägiger Kurs über die Verwendung von Rust für die Hardwarenahe-Entwicklung (Embedded Lösungen). Sowohl Mikrocontroller als auch Anwendungen werden behandelt.
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.
Parallelität in Rust 🦀
Der Parallelität - Vertiefung ist ein ganztägiger Kurs mit dem klassischen Ansatz sowie der „async“/„await“-Parallelität.
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
Kurs Zeitplan:
- Vormittag (drei Stunden und 20 Minuten, inklusive Pausen)
Segment | Dauer |
---|---|
Abläufe | 30 Minuten |
Kanäle | 20 Minuten |
Send und Sync | 15 Minuten |
Geteilter Zustand | 30 Minuten |
Übungen | eine Stunde und 10 Minuten |
- Nachmittag (drei Stunden und 20 Minuten, inklusive Pausen)
Segment | Dauer |
---|---|
Grundlagen asynchroner Programmabläufe | 30 Minuten |
Kanäle und Kontrollfluss | 20 Minuten |
Tücken | 55 Minuten |
Übungen | eine Stunde und 10 Minuten |
Format
Der Kurs soll sehr interaktiv ablaufen und wir empfehlen, durch Fragen die Erkundung von Rust voranzutreiben!