WBK Rust for Embedded Developers
AnmeldenAuf einen Blick
Abschluss:
Kursbestätigung (2 ECTS)
Start:
21.09.2026
Dauer:
3 Monate, mehr Details zur Durchführung
Kosten:
CHF 2'600.00
Durchführungsort:
ZHAW, Gebäude MT, Technopark, Winterthur, Trakt A, Technoparkstrasse 2, 8401 Winterthur (Auf Google Maps anzeigen)
Unterrichtssprache:
- Deutsch, Englisch
- Unterrichtssprache: Deutsch / Unterlagen: Englisch
Ziele und Inhalt
Zielpublikum
Dieser Kurs richtet sich an Softwareentwickler, die
- in den Bereichen Embedded Systems, Systemprogrammierung oder C/C++ arbeiten.
- mit Sicherheits‐ und/oder Performance‐kritischen Systemen arbeiten.
- potenzielle Anwendungsfälle für Rust identifiziert haben und die Sprache evaluieren möchten.
Ziele
Die Teilnehmenden erwerben sowohl theoretische Grundlagen als auch praktische Fähigkeiten in folgenden Bereichen:
Zentrale Aspekte der Sprache
Grundlagen (Typen, Kontrollfluss, Funktionen)
Speicherverwaltung (Ownership)
Objektorientierte Programmierung (Polymorphismus, dynamic Dispatch)
Funktionelle Programmierung (algebraische Datenstrukturen, Closures, Iterators
Fortgeschrittene Techniken (Concurrency, asynchrone Programmierung)
Embedded-spezifische Vertiefung
Hardware-nahes Rust
Integration mit existierenden C Programmen
Das Ökosystem embedded-spezifischer Bibliotheken
Relevante Programmiermodelle (blocking, interrupt-driven, async)
Für Produktivität unerlässliche Nebenaspekte einer Programmiersprache
Projektstruktur & Tooling
Verwendung von Bibliotheken
Continuous Integration
Inhalt
Der WBK Rust for Embedded Developers besteht aus 7 Unterrichtseinheiten zu je 6 Lektionen. An den ersten zwei Unterrichtstagen lernen die Teilnehmenden die Grundlagen der Sprache Rust kennen (Language Basics). An den folgenden zwei Unterrichtstagen werden die fortgeschrittenen Möglichkeiten vermittelt, welche Rust als moderne Programmiersprache auszeichnen (Advanced Features). Über die letzten drei Tage werden Embedded-spezifische Themen behandelt und die Abschlussprojekte implementiert. Am letzten Tag wird eine schriftliche Prüfung abgelegt.
Block 1 (6 Lektionen)
Inhalt
- Typen
- Kontrollfluss
- Funktionen
- Speicherverwaltung
Lernziele
- Die Teilnehmenden können einfache Rust-Programme mit universellen Programmierkonstrukten schreiben.
- Die Teilnehmenden verstehen das Speicherverwaltungssystem von Rust.
Block 2 (6 Lektionen)
Inhalt
- Algebraische Datentypen
- Methoden
- Projektstruktur
- Fehlerverarbeitung
Lernziele
- Die Teilnehmenden können idiomatische Datenmodelle entwickeln.
- Die Teilnehmenden können idiomatische Fehlerverarbeitung anwenden.
Block 3 (6 Lektionen)
Inhalt
- Lifetimes
- Closures
- Iterators
Lernziele
- Die Teilnehmenden können Polymorphismus anwenden.
- Die Teilnehmenden können APIs mit anonymen Funktionen verwenden.
- Die Teilnehmenden verstehen das Konzept einer Lifetime-Annotation.
Block 4 (6 Lektionen)
Inhalt
- Smart pointers
- Concurrency
- Static & dynamic Dispatch
- asynchrone Programmierung
Lernziele
- Die Teilnehmenden verstehen sichere Concurrency und kennen die wichtigsten Smart-Pointer.
- Die Teilnehmenden können dynamic Dispatch anwenden.
- Die Teilnehmenden verstehen asynchrone Programmierung (async/await).
Block 5 (6 Lektionen)
Inhalt
- Bibliotheken
- Dokumentation
- CI/CD
- Einstieg in Embedded Rust
- Projektanfang
Lernziele
- Die Teilnehmenden können Rust-Bibliotheken finden, evaluieren, verwenden und deren Dokumentation nutzen.
Die Teilnehmenden können eine CI/CD-Pipeline für ein Rust-Projekt aufsetzen.
Die Teilnehmenden können einen Mikrokontroller mit Rust programmieren.
Block 6 (6 Lektionen)
Inhalt
Hardware-nahes Rust
C FFI
Weiterarbeit Projekte
Lernziele
Die Teilnehmenden verstehen die Funktion des „unsafe“ Keyword und wie die Risiken dessen Verwendung minimiert werden können.
Die Teilnehmenden können neuen Rust Code mit existierendem C Code integrieren.
Block 7 (6 Lektionen)
Inhalt
Schriftliche Prüfung
Projektabschluss
Lernziele
Die Teilnehmenden können ein Embedded Projekt in Rust umsetzen.
Zusammen mit etwa drei Stunden Selbststudium für Vor- und Nachbearbeitung pro Kurstag ergibt sich ein Gesamtaufwand von rund 60 Stunden (2 ECTS).
Methodik
Der Kurs besteht aus Unterrichtseinheiten, praxisorientierten Übungen, Elementen von E-Learning und Selbststudium (Vor- und Nachbereitung). Das abschliessende Software‐Projekt, bei welchem ein spezifisches Fallbeispiel erarbeitet wird, kann sowohl individuell als auch in Gruppen implementiert werden.
Leistungsnachweis
Modulprüfung
Die Kursteilnahme sowie das erfolgreiche Bestehen des Leistungsnachweises werden mit einem Microcredential über 2 ECTS-Punkte bescheinigt. Bei Teilnahme am Kurs ohne Ablegen des Leistungsnachweises wird eine Kursbestätigung ohne ECTS-Punkte ausgestellt.
Mehr Details zur Durchführung
Der Unterricht findet berufsbegleitend jede zweite Woche jeweils am Montagnachmittag von 13-19 Uhr (6 Lektionen) statt. Der Kurs erstreckt sich über 3 Monate.
Den individuellen Stundenplan erhalten die Teilnehmenden spätestens einen Monat vor Start. Die schulfreie Zeit richtet sich nach den Schulferien der Stadt Winterthur.
Kursdaten 2026:
21.09.2026
28.09.2026
19.10.2026
26.10.2026
02.11.2026
16.11.2026
30.11.2026
Beratung und Kontakt
-
Remo Senekowitsch
Institute of Embedded Systems (InES)+41 (0)77 404 85 86
senk@zhaw.ch -
ZHAW School of Engineering
Administration Weiterbildung
Technikumstrasse 9
8401 Winterthur+41 (0)58 934 74 28
weiterbildung.engineering@zhaw.ch
Veranstalter
Infoveranstaltungen
Anmeldung
Zulassungskriterien
Die Zulassung zu diesem Weiterbildungskurs setzt grundsätzlich einen Hochschulabschluss (Fachhochschule, HTL, HWV, Uni, ETH) voraus. Es können aber auch Praktiker:innen mit vergleichbarer beruflicher Kompetenz zugelassen werden, wenn sich die Befähigung zur Teilnahme aus einem anderen Nachweis ergibt.
Grundkenntnisse der Programmierung und insbesondere ein Verständnis von Stack, Heap und manueller Speicherverwaltung werden vorausgesetzt.
Anmeldeinformationen
Wir führen keine Wartelisten und bieten keine Platzreservationen an.
Sollte bei der vorangehenden Durchführung ein Platz frei werden, berücksichtigen wir die Reihenfolge gemäss Anmeldeeingang.
Startdaten und Anmeldung
| Start | Anmeldeschluss | Anmeldelink |
|---|---|---|
| 21.09.2026 | 21.08.2026 | Anmeldung |