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)
SegmentDauer
Willkommen5 Minuten
Hallo Welt!15 Minuten
Datentypen und Wertebereiche40 Minuten
Kontrollfluss45 Minuten
  • Tag 1 Nachmittag (zwei Stunden 35 Minuten, inklusive Pausen)
SegmentDauer
Tuples und Datenfelder35 Minuten
Referenzen55 Minuten
Benutzerdefinierte Datentypen50 Minuten
  • Tag 2 Vormittag (zwei Stunden, inklusive Pausen)
SegmentDauer
Willkommen3 Minuten
Mustervergleich50 Minuten
Methoden und Merkmale50 Minuten
  • Tag 2 Nachmittag ( drei Stunden und 15 Minuten, inklusive Pausen)
SegmentDauer
Generische Datentypen und Methoden45 Minuten
Standardbibliothek Datentypeneine Stunde
Standardbibliothek von Merkmaleneine Stunde und 10 Minuten
  • Tag 3 Vormittag (zwei Stunden und 20 Minuten, inklusive Pausen)
SegmentDauer
Willkommen3 Minuten
Speicherverwaltungeine Stunde
erweiterter Zeigertyp (Smart pointer)55 Minuten
  • Tag 3 Nachmittag (eine Stunde und 55 Minuten, inklusive Pausen)
SegmentDauer
Ausborgen55 Minuten
Lebensdauer50 Minuten
  • Tag 4 Vormittag (zwei Stunden und 50 Minuten, inklusive Pausen)
SegmentDauer
Willkommen3 Minuten
Iteratoren55 Minuten
Module45 Minuten
Tests45 Minuten
  • Tag 4 Nachmittag (zwei Stunden und 10 Minuten, inklusive Pausen)
SegmentDauer
Fehlerbehandlung55 Minuten
Unsicheres Rusteine 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)
SegmentDauer
Abläufe30 Minuten
Kanäle20 Minuten
Send und Sync15 Minuten
Geteilter Zustand30 Minuten
Übungeneine Stunde und 10 Minuten
  • Nachmittag (drei Stunden und 20 Minuten, inklusive Pausen)
SegmentDauer
Grundlagen asynchroner Programmabläufe30 Minuten
Kanäle und Kontrollfluss20 Minuten
Tücken55 Minuten
Übungeneine Stunde und 10 Minuten

Format

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