Journey
Rust lernen
Ein kostenloser, interaktiver Online-Rust-Kurs. Du schreibst in jeder Lektion Rust — Syntax, ownership und borrowing, lifetimes, traits, Pattern Matching — mit KI-Hinweisen, wenn der Borrow Checker zurückschlägt, und einem kostenlosen Zertifikat zum Abschluss.
16,687+ codders eingeschrieben
- Anfängerfreundlich
KI-gestützte Coding-Hilfe
Praktische, interaktive Lektionen
Audio-Erzählung in jeder Lektion
Quizfragen zum Wissenstest
Kostenloses Abschlusszertifikat
Lehrplan
Abschnitt 1
Fundamentals
Abschnitt startenStartenAusklappenEinklappenBuild a strong foundation with essential concepts and basic skillsEinführung
4 Lektionen324- 01RustAufgabe
- 02Hello World!AufgabeQuiz
- 03KommentareQuiz
- 04Grundlegende ProgrammstrukturAufgabeQuiz
Variablen Teil 1
5 Lektionen539- 01ZahlenAufgabeQuiz
- 02CharAufgabeQuiz
- 03StringAufgabeQuiz
- 04BooleanAufgabeQuiz
- 05Veränderbare VariablenAufgabeQuiz
Variablen Teil 2
5 Lektionen433- 01TypdeklarationAufgabeQuiz
- 02NamenskonventionenQuiz
- 03TypinferenzAufgabeQuiz
- 04Rückblick - Variablen initialisierenAufgabe
- 05TypumwandlungAufgabeQuiz
Operatoren Teil 1
5 Lektionen438- 01Arithmetische OperatorenAufgabeQuiz
- 02Modulo-OperatorAufgabeQuiz
- 03Arithmetische AbkürzungenAufgabeQuiz
- 04VergleichsoperatorenAufgabeQuiz
- 05String-VergleichQuiz
Operatoren Teil 2
4 Lektionen424- 01Logische Operatoren Teil 1AufgabeQuiz
- 02Logische Operatoren Teil 2AufgabeQuiz
- 03Wiederholung - Einfache LogikAufgabe
- 04Logische Operatoren Teil 3AufgabeQuiz
Entscheidungsfindung
5 Lektionen532- 01If-AusdrückeAufgabeQuiz
- 02If-ElseAufgabeQuiz
- 03Match-AnweisungAufgabeQuiz
- 04Zusammenfassung - If-ElseAufgabe
- 05Verschachteltes If-ElseAufgabeQuiz
Grundlagen IO
4 Lektionen417- 01Ausgabe in die KonsoleAufgabeQuiz
- 02Benutzereingaben lesenAufgabeQuiz
- 03Wiederholung - Bis 120Aufgabe
- 04Wiederholung - Wahr oder FalschAufgabe
Taschenrechner-App
Projekt4 Lektionen1- 01WillkommensnachrichtAufgabe
- 02Zahlen einlesenProjekt
- 03GrundrechenartenProjekt
- 04Formatierte AusgabeProjekt
Schleifen
8 Lektionen851- 01For-Schleife über SerienAufgabeQuiz
- 02While-SchleifeAufgabeQuiz
- 03BreakAufgabeQuiz
- 04ContinueAufgabeQuiz
- 05Verschachtelte SchleifenAufgabeQuiz
- 06Schleifen-LabelsAufgabeQuiz
- 07EndlosschleifeAufgabeQuiz
- 08Rückblick – Dynamische EingabeAufgabe
Variablenbindungen
4 Lektionen230- 01GültigkeitsbereichQuiz
- 02Shadowing Teil 1AufgabeQuiz
- 03VariablenbindungQuiz
- 04Shadowing Teil 2AufgabeQuiz
Funktionen
6 Lektionen634- 01Funktionen deklarierenAufgabeQuiz
- 02Parameter und ArgumenteAufgabeQuiz
- 03RückgabewerteAufgabeQuiz
- 04Mehrere RückgabewerteAufgabeQuiz
- 05Wiederholung - Sigma-FunktionAufgabe
- 06Wiederholung - ValidierungsfunktionAufgabe
Array-Grundlagen
5 Lektionen430- 01Arrays deklarierenAufgabeQuiz
- 02Array als ParameterQuiz
- 03Zugriff auf ElementeAufgabeQuiz
- 04Arrays verändernAufgabeQuiz
- 05Zusammenfassung - Pretty Print ArrayAufgabe
Arrays Fortsetzung
5 Lektionen423- 01Veränderbare Referenz-ArraysAufgabeQuiz
- 02Array-MethodenAufgabeQuiz
- 03Wiederholung – Produkt-ArrayAufgabe
- 04Wiederholung – Umgekehrtes ArrayAufgabe
- 05Bessere AusgabeQuiz
Iterieren über Arrays
4 Lektionen333- 01Range-LeitfadenAufgabeQuiz
- 02Erweiterte For-SchleifeAufgabeQuiz
- 03Borrowing in SchleifenQuiz
- 04Gängige Array-OperationenAufgabeQuiz
String-Operationen
4 Lektionen424- 01String-MethodenAufgabeQuiz
- 02format!-MakroAufgabeQuiz
- 03String-KonvertierungAufgabeQuiz
- 04Zusammenfassung – FormatAufgabe
Abschlussprojekte
3 Lektionen37- 01ZahlenmusterAufgabeQuiz
- 02MustersucherAufgabe
- 03NotenrechnerAufgabe
Abschnitt 2
Logic & Flow
Abschnitt startenStartenAusklappenEinklappenDevelop problem-solving skills and create dynamic, interactive programsFortgeschrittener Kontrollfluss
6 Lektionen640- 01Der 'match'-AusdruckAufgabeQuiz
- 02Abgleichen mehrerer WerteAufgabeQuiz
- 03Bereiche abgleichenAufgabeQuiz
- 04Der 'if let'-AusdruckAufgabeQuiz
- 05Schleifen als AusdrückeAufgabeQuiz
- 06Rückblick – Einfacher Befehls-ParserAufgabe
Einführung in Vektoren
8 Lektionen756- 01Was ist ein Vektor?Quiz
- 02Einen Vektor erstellenAufgabeQuiz
- 03Elemente mit push hinzufügenAufgabeQuiz
- 04Zugriff auf Vektor-ElementeAufgabeQuiz
- 05Über einen Vektor iterierenAufgabeQuiz
- 06Veränderliche IterationAufgabeQuiz
- 07Elemente entfernenAufgabeQuiz
- 08Zusammenfassung – Einfacher Score-TrackerAufgabe
Kommandozeilen-To-Do-Liste
5 Lektionen5- 01Projekt-SetupAufgabe
- 02Eine Aufgabe hinzufügenAufgabe
- 03Alle Aufgaben anzeigenAufgabe
- 04Eine Aufgabe entfernenAufgabe
- 05Finaler CodeAufgabe
Daten gruppieren mit Structs
7 Lektionen650- 01Was ist ein Struct?Quiz
- 02Übersicht über StructsAufgabeQuiz
- 03Zugriff auf Struct-FelderAufgabeQuiz
- 04Veränderbare StructsAufgabeQuiz
- 05Structs als FunktionsparameterAufgabeQuiz
- 06Tupel-StructsAufgabeQuiz
- 07Zusammenfassung – Ein Buch-Struct erstellenAufgabe
Schlüssel-Wert-Paare mit Hash Maps
8 Lektionen653- 01Was ist eine Hash Map?Quiz
- 02Erstellen einer Hash MapQuiz
- 03Einfügen von Schlüssel-Wert-PaarenAufgabeQuiz
- 04Zugreifen auf WerteAufgabeQuiz
- 05Iterieren über eine Hash MapAufgabeQuiz
- 06Aktualisieren eines WertesAufgabeQuiz
- 07Entfernen eines PaaresAufgabeQuiz
- 08Zusammenfassung – WortzählerAufgabe
Umgang mit fehlenden Werten mit 'Option'
7 Lektionen645- 01Was ist ein 'Option'?Quiz
- 02'match' mit 'Option' verwendenAufgabeQuiz
- 03is_some() und is_none()AufgabeQuiz
- 04Ein 'Option' entpackenAufgabeQuiz
- 05Die 'expect'-MethodeAufgabeQuiz
- 06Standardwert bereitstellen: unwrap_orAufgabeQuiz
- 07Rückblick – Ein Element findenAufgabe
Fehlerbehandlung mit 'Result'
7 Lektionen648- 01Was ist ein 'Result'?Quiz
- 02'match' mit 'Result' verwendenAufgabeQuiz
- 03is_ok() und is_err()AufgabeQuiz
- 04Abkürzungen: unwrap und expectAufgabeQuiz
- 05Der Fragezeichen-Operator '?'AufgabeQuiz
- 06Strings in Zahlen parsenAufgabeQuiz
- 07Zusammenfassung – Sichere DivisionsfunktionAufgabe
Projekt: Einfaches Artikelinventar
5 Lektionen5- 01Projekt-SetupAufgabe
- 02Einen Artikel hinzufügenAufgabe
- 03Lagerbestand prüfenAufgabe
- 04Einen Artikel verkaufenAufgabe
- 05Alles zusammenfügenAufgabe
String-Slices und mehr
5 Lektionen432- 01String vs. &strQuiz
- 02String-Slices erstellenAufgabeQuiz
- 03Slices als FunktionsparameterAufgabeQuiz
- 04Weitere SlicesAufgabeQuiz
- 05Rückblick – Das erste Wort findenAufgabe
Closures & Anonyme Funktionen
5 Lektionen431- 01Was ist ein Closure?Quiz
- 02Ein einfaches Closure definierenAufgabeQuiz
- 03Closures mit ParameternAufgabeQuiz
- 04Die Umgebung erfassenAufgabeQuiz
- 05Rückblick – Einfaches Adder-ClosureAufgabe
Abschluss-Herausforderungen
3 Lektionen3- 01Wiederholung - Einzigartige ElementeAufgabe
- 02Wiederholung - Benutzerprofil-ValidatorAufgabe
- 03Wiederholung - Noten-ZusammenfassungAufgabe
Abschnitt 3
Object Oriented Programming
Abschnitt startenStartenAusklappenEinklappenDiscover how to organize code with classes, objects, and reusable structuresMethoden und Verhalten
7 Lektionen748- 01Einführung in ImplementierungsblöckeAufgabeQuiz
- 02Der Self-ParameterAufgabeQuiz
- 03Veränderliche MethodenAufgabeQuiz
- 04Assoziierte FunktionenAufgabeQuiz
- 05Mehrere ImplementierungsblöckeAufgabeQuiz
- 06Method ChainingAufgabeQuiz
- 07Rückblick – Rechteck-AktionenAufgabe
Kapselung und Module
6 Lektionen543- 01Grundlagen der ModuleQuiz
- 02Das Public-SchlüsselwortAufgabeQuiz
- 03Private FelderAufgabeQuiz
- 04GetterAufgabeQuiz
- 05SetterAufgabeQuiz
- 06Wiederholung – Sicherer TresorAufgabe
Fortgeschrittene Enums
5 Lektionen535- 01Enums mit DatenAufgabeQuiz
- 02Methoden für EnumsAufgabeQuiz
- 03Matching von DatenvariantenAufgabeQuiz
- 04Das Option-Enum erneut betrachtetAufgabeQuiz
- 05Zusammenfassung – Shape-EnumAufgabe
Projekt: Virtuelles Haustier
Projekt5 Lektionen1- 01Das Haustier definierenAufgabe
- 02Das Haustier fütternProjekt
- 03Mit dem Haustier spielenProjekt
- 04StatusberichtProjekt
- 05Abschließende InteraktionProjekt
Generics
5 Lektionen533- 01Generische StructsAufgabeQuiz
- 02Generische MethodenAufgabeQuiz
- 03Mehrere generische TypenAufgabeQuiz
- 04Generische FunktionenAufgabeQuiz
- 05Zusammenfassung - KoordinatenpunktAufgabe
Definition von Traits
6 Lektionen641- 01Was ist ein Trait?AufgabeQuiz
- 02Traits implementierenAufgabeQuiz
- 03StandardimplementierungenAufgabeQuiz
- 04Standardimplementierungen überschreibenAufgabeQuiz
- 05Traits mit ParameternAufgabeQuiz
- 06Zusammenfassung – Media PlayerAufgabe
Standard-Traits
5 Lektionen536- 01Das Debug-TraitAufgabeQuiz
- 02Das Display-TraitAufgabeQuiz
- 03Clone und CopyAufgabeQuiz
- 04Gleichheits-TraitsAufgabeQuiz
- 05Zusammenfassung – Druckbarer PunktAufgabe
Traits als Einschränkungen
5 Lektionen534- 01Syntax für Trait BoundsAufgabeQuiz
- 02Mehrfache BoundsAufgabeQuiz
- 03Die Where-KlauselAufgabeQuiz
- 04Typen mit Traits zurückgebenAufgabeQuiz
- 05Rückblick – Generischer DruckerAufgabe
Trait-Objekte
4 Lektionen425- 01Dynamischer DispatchAufgabeQuiz
- 02Vektoren von TraitsAufgabeQuiz
- 03Iterieren über Trait-ObjekteAufgabeQuiz
- 04Rückblick – Zoo-ManagerAufgabe
Projekt: Dokumentensystem
Projekt5 Lektionen1- 01Das Draw-TraitAufgabe
- 02Text-KomponenteProjekt
- 03Button-KomponenteProjekt
- 04Das Screen-StructProjekt
- 05Den Screen ausführenProjekt
Design Patterns in Rust
5 Lektionen531- 01Newtype-PatternAufgabeQuiz
- 02KompositionAufgabeQuiz
- 03Das Drop-TraitAufgabeQuiz
- 04From und IntoAufgabeQuiz
- 05Zusammenfassung – Smart Pointer MockAufgabe
Abschlussherausforderungen
3 Lektionen3- 01Generischer StackAufgabe
- 02BibliothekskatalogAufgabe
- 03Flächenrechner für FormenAufgabe
Warum Rust mit Coddy lernen
- Schreib und führe echten Rust-Code im Browser aus. Keine rustup-Installation, kein Cargo-Setup. Jede Lektion kompiliert dein Rust-Programm serverseitig und zeigt dir die Ausgabe (und etwaige Compiler-Fehler) sofort an.
- Was Rust einzigartig macht: ownership, borrowing, lifetimes, traits, enums und Pattern Matching, Fehlerbehandlung mit
Result. Die Rust-Grundlagen, die jede Systemprogrammiererin braucht. - KI-Hinweise führen dich durch Rusts berüchtigt strenge Compiler-Fehler, sodass der Borrow Checker am Anfang nicht zur Wand wird, sondern zum Lehrer.
- Kostenloses Rust-Zertifikat, wenn du den Kurs abschließt. Ein glaubwürdiges Signal für Rollen in Systems, Infrastruktur, Blockchain und Embedded – Bereiche, in denen Rust immer öfter die Sprache der Wahl ist.
Häufige Fragen zum Lernen von Rust
Ist Rust leicht zu lernen?
Rust gilt als schwer – vor allem wegen Ownership und dem Borrow Checker, also Konzepten, die die meisten anderen Sprachen gar nicht erst zeigen. Der Vorteil: Der Compiler fängt eine riesige Klasse von Bugs schon beim Bauen ab. Der Kurs führt Ownership und Borrowing Schritt für Schritt ein, mit kleinen Übungen, die den Borrow Checker vom Hindernis zum Lehrer machen.
Wofür wird Rust verwendet?
Systemprogrammierung, Infrastruktur (Teile des Linux-Kernels, Cloudflare, Discord, Dropbox), Kommandozeilen-Tools, Embedded-Entwicklung, WebAssembly und ein wachsender Teil des Blockchain- und Krypto-Codes. Rust zielt auf dieselben Nischen wie C und C++, bietet aber deutlich stärkere Sicherheitsgarantien.
Wie lange dauert es, Rust zu lernen?
Die Rust-Grundlagen – Syntax, Kontrollfluss, Funktionen, Structs, Enums – schaffst du mit täglicher Übung in zwei bis vier Wochen. Bis sich ownership, borrowing, lifetimes und traits wirklich vertraut anfühlen, vergehen meist weitere zwei bis sechs Monate. Richtige Meisterschaft (fortgeschrittene lifetimes, async, unsafe Rust) ist ein längerer Weg und entsteht am besten durch echte Projekte.
Soll ich Rust oder Go lernen?
Beide sind moderne, statisch typisierte Sprachen für Server und Infrastruktur, setzen aber unterschiedliche Schwerpunkte. Go setzt auf schnelle Kompilierzeiten, einfache Concurrency und eine kleine Spezifikation – leichter einzusteigen. Rust setzt auf Performance und Speichersicherheit ohne Garbage Collector – schwerer zu lernen, aber näher an der Hardware. Nimm Go für Backends und Cloud-Tooling; nimm Rust für Systemprogrammierung, performance-kritischen Code oder alles, was früher in C/C++ geschrieben wurde.
Kann ich Rust online kostenlos lernen?
Ja. Der interaktive Rust-Kurs ist kostenlos – komplette Lektionen, Programmieraufgaben, Quizze und ein Zertifikat. Rust wird serverseitig kompiliert, du musst also weder rustup noch Cargo lokal installieren, um echten Rust-Code zu schreiben.
Bekomme ich nach dem Rust-Kurs ein Zertifikat?
Ja. Wenn du den Rust-Kurs abschließt, bekommst du ein kostenloses Abschlusszertifikat. Ein nachprüfbarer Nachweis, den du in deinen Lebenslauf aufnehmen oder auf LinkedIn teilen kannst – zusammen mit Rust-Projekten, CLI-Tools oder Open-Source-Beiträgen, die du gebaut hast.