Erste Übungen hinzufügen


Sobald du die Übung hello-world implementiert hast, ist die nächste Aufgabe, 20+ weitere Übungen zu implementieren.

Arten von Übungen

Es gibt zwei Arten von Übungen, die du implementieren kannst:

  • Konzeptübungen: Sie sollen Lernenden ein oder mehrere Konzepte beibringen. Weitere Informationen findest du in der Dokumentation.
  • Praxisübungen: Sie sollen erlernte Konzepte üben. Weitere Informationen findest du in der Dokumentation.

Im Allgemeinen empfehlen wir neuen Tracks, mit der Implementierung von Praxisübungen zu beginnen, da sie einfacher zu implementieren sind und weniger Vorüberlegungen erfordern. Konzeptübungen kannst du später jederzeit hinzufügen, sobald dein Track richtig läuft.

Übungen auswählen

Um Tracks bei der Implementierung von Praxisübungen zu helfen, haben wir das exercism/problem-specifications-Repository erstellt. Dieses Repository enthält Metadaten für über 100+ Praxisübungen, aus denen verschiedene Tracks dann ihre trackspezifische Version dieser Übungen implementieren können. Aus diesem Grund wirst du dieselben Übungen in vielen verschiedenen Tracks implementiert sehen.

Wie wählst du also die 20+ aus dieser Liste von 100+ Übungen aus? Hier sind einige Richtlinien.

Wähle Übungen aus, bei denen Lernende eine große Vielfalt an Konzepten üben

In den 100+ Übungen steckt eine große Vielfalt an Konzepten. Du solltest Übungen implementieren, bei denen Lernende eine große Vielfalt an Konzepten üben. Statt also 20 Übungen zu implementieren, die sich auf Strings konzentrieren, versuche Übungen zu implementieren, die verschiedene Konzepte abdecken.

Hier sind einige Konzepte mit Beispielübungen:

Konzepte Übungen
Bitmanipulation allergies, secret-handshake
Boolesche Werte leap
Klassen circular-buffer, robot-name
Nebenläufigkeit bank-account
Bedingte Anweisungen raindrops
Datum und Uhrzeit gigasecond, meetup
Gleichheit clock
Gleitkommazahlen darts, space-age
Faule Auswertung alphametics, zebra-puzzle
Listen resistor-color, spiral-matrix
Schleifen collatz-conjecture, protein-translation
Maps nucleotide-count
Zahlen leap, grains
Zufall dnd-character, robot-name
Strings bob, isogram,
Bäume binary-search-tree, pov

Wähle Übungen mit unterschiedlichem Schwierigkeitsgrad

Einige Übungen sind schwieriger zu implementieren als andere. Du solltest Übungen mit unterschiedlichem Schwierigkeitsgrad implementieren: einige einfache, einige mittelschwere und einige schwere.

Wie schwierig eine Übung ist, hängt von mehreren Faktoren ab, etwa den beteiligten Konzepten und der Sprache des Tracks. Es kann helfen, dir anzusehen, wie die Übung in anderen Tracks aussieht, die sie bereits implementiert haben, um ein besseres Gefühl dafür zu bekommen, wie die Implementierung aussehen könnte.

Hier sind einige Schwierigkeitsgrade mit Übungen:

Wähle Übungen, die zu deinem Track passen

Nicht alle Übungen passen zu deinem Track. Du solltest nur die Übungen auswählen, die zu deinem Track passen; besser eine Übung nicht implementieren, als eine zu implementieren, die keinen Sinn ergibt. Ein Beispiel: Bei der Übung lens-person arbeitet der Lernende mit Linsen, die viele Sprachen nicht unterstützen.

Wenn du eine Übung findest, die nicht zu deinem Track passt, kannst du ihren Slug zum exercises.foregone-Array in der config.json-Datei des Tracks hinzufügen. So wird dafür gesorgt, dass die Tools diese Übung ignorieren.

Beispiel-Lehrplan

Um das Ganze etwas konkreter zu machen: So könnte eine Beispielauswahl der ersten Übungen aussehen:

Übung Schwierigkeit Konzepte
hello-world Einfach Keine (erste Übung)
leap Einfach Zahlen, Boolesche Werte
gigasecond Einfach Datum und Uhrzeit
isogram Einfach Strings
resistor-color Einfach Listen
nucleotide-count Einfach Maps
collatz-conjecture Einfach Schleifen
darts Einfach Gleitkommazahlen
two-fer Einfach String-Formatierung, Optionale Argumente
high-scores Einfach Verarbeitung von Sammlungen
raindrops Mittel Bedingte Anweisungen
bob Mittel Strings
allergies Mittel Bitmanipulation
series Mittel Ausnahmen
circular-buffer Mittel Klassen
meetup Mittel Datum und Uhrzeit
yacht Mittel Listen
dominoes Schwer Tupel, Faule Auswertung
diamond Schwer String-Formatierung
alphametics Schwer Faule Auswertung
forth Schwer Parsen

Übungen implementieren

Nachdem du die Übungen ausgewählt hast, die du in deinen Track aufnehmen möchtest, ist der nächste Schritt, sie zu implementieren. Die Dokumentation zum Hinzufügen einer Praxisübung enthält detaillierte Anweisungen, wie du eine Praxisübung hinzufügst.