Rust lernen
Ein kostenloser, interaktiver Online-Rust-Kurs. Du schreibst in jeder Lektion Rust, mit KI-Hinweisen, wenn der Borrow Checker zurückschlägt, und einem kostenlosen Zertifikat zum Abschluss.
17,735+ 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
Rust-Kurse
Praktische Rust-Kurse, kostenlos im Browser zu starten.
Herausforderungen für Anfänger – Grundlagen üben
BeliebtStelle dein Programmierwissen für Anfänger auf die Probe und versuche, diese Programmier-Herausforderungen zu lösen. Nutze dabei eine beliebige Sprache deiner Wahl. Viel Spaß beim Programmieren!
Zertifikat am Ende
- 20
- 20
Programmieraufgaben
BeliebtStelle deine Fähigkeiten zur Problemlösung beim Programmieren mit Übungen in verschiedenen Schwierigkeitsgraden auf die Probe. Dieser Kurs richtet sich an Programmierer mit Vorkenntnissen der Basissyntax einer beliebigen Programmiersprache.
Zertifikat am Ende
- 32
- 31
Coding Problems: Teil 2
Stelle deine Fähigkeiten zur Problemlösung beim Programmieren mit den Übungen in verschiedenen Schwierigkeitsgraden in diesem Kurs auf die Probe. Dieser Kurs wurde für Programmierer mit Vorkenntnissen der Basissyntax in einer beliebigen Programmiersprache entwickelt und ist eine Erweiterung des ersten Teils von Coding Problems.
Zertifikat am Ende
- 25
- 24
Stack - Datenstrukturen-Serie #1
In diesem Kurs lernst du die Datenstruktur Stack kennen, erstellst einen Stack von Grund auf in deiner bevorzugten Sprache und löst praktische Coding-Challenges damit!
- 13
- 6
- 1
Heaps & Priority Queues - Datenstrukturen-Serie #7
NeuIn diesem Kurs lernst du die Heap-Datenstruktur kennen (das Rückgrat von Priority Queues), entwickelst einen MinHeap von Grund auf in deiner bevorzugten Programmiersprache und meisterst praktische Coding-Challenges damit!
Zertifikat am Ende
- 14
- 6
- 1
Sternmuster-Bootcamp
Nutze deine Fähigkeiten zur Problemlösung beim Programmieren, um zu lernen, wie man Sternmuster von einfach bis komplex ausgibt. Dabei kommen verschiedene Ebenen von verschachtelten Schleifen, bedingten Anweisungen und mathematischen Berechnungen zum Einsatz.
- 30
- 28
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.