Table of Contents
Motivation
Motivation
Das Erlernen einer Programmiersprache kann herausfordernd sein. Es gibt zwar unzählige Artikel und Tutorials, doch echtes Verständnis entsteht vor allem durch regelmäßige Wiederholung und praktische Anwendung.
Wer Konzepte immer wieder in kleinen Übungen, Katas und realen Problemen einsetzt, entwickelt mit der Zeit eine Art Muscle Memory fürs Programmieren. Genau diese Routine hilft dabei, Syntax, Denkweisen und Lösungsstrategien nachhaltig zu verinnerlichen.
Die Herausforderungen
Die Programmieraufgaben sind sprachunabhängig, sodass du jede moderne Sprache verwenden kannst, die das Schreiben von Konsolenanwendungen unterstützt.
🟢 Level 1 – Grundlagen (Syntax & einfache Logik)
- Schreibe das berühmte / berüchtigte „Hello World“
- Schreibe ein Skript, das alle Zahlen von 1 bis 365 in die Konsole ausgibt
- Schreibe ein Skript, das 10 Zufallszahlen zwischen 1 und 10 ausgibt
- Schreibe ein Skript, das alle Buchstaben des Alphabets (großgeschrieben) mit ihrer jeweiligen Position ausgibt, z. B. 1: A, 2: B
- Schreibe deinen ersten Unit-Test für eine Funktion
is_even(num), dietruezurückgibt, wenn die Zahl gerade ist
🟡 Level 2 – Einfache Funktionen & Kontrolle
- Schreibe eine Funktion
to_upper, die einen String von lower_case nach upper_case umwandelt - Die Funktion
compare(num1, num2)soll- -1 zurückgeben, wenn
num1kleiner alsnum2ist - ansonsten 1 zurückgeben
- wenn beide Werte gleich sind, 0 zurückgeben
- -1 zurückgeben, wenn
- Die Funktion
simple_sum(num)soll alle Zahlen von 1 bisnumaufsummieren- Beispiel: Bei Eingabe 4 soll das Ergebnis 10 sein
- Für Testfälle liegt
numzwischen 1 und 1000
- Die Funktion
time_convert(minutes)soll Minuten in Stunden und Minuten umwandeln (z. B. 63 → 1:03) - Die Funktion
first_reverse(input)soll den String umdrehen
🟠 Level 3 – Strings & Arrays
- Die Funktion
alphabet_soup(input)soll den String alphabetisch sortieren - Die Funktion
longest_word(sentence)soll das längste Wort zurückgeben - Die Funktion
letter_changes(input)soll Buchstaben ersetzen und Vokale kapitalisieren
🔵 Level 4 – Mathematische Grundlagen
- Die Funktion
factorial(num)soll die Fakultät berechnen - Schreibe eine Funktion, die Fibonacci-Zahlen erzeugt (inkl. Memoization)
- Schreibe eine Funktion, die die Collatz-Sequenz als Liste zurückgibt
- Schreibe eine Funktion, die den Mittelwert (Mean) eines Integer-Arrays berechnet
- Schreibe eine Funktion, die den Median eines Integer-Arrays berechnet
🟣 Level 5 – Klassische Algorithmen
- Schreibe eine Funktion, die ein Integer-Array mit Bubble Sort sortiert
- Schreibe eine Funktion, die eine Liste von Primzahlen mithilfe des Siebs des Eratosthenes zurückgibt
- Schreibe eine Funktion, die den größten gemeinsamen Teiler mithilfe des euklidischen Algorithmus berechnet
🔴 Level 6 – Anspruchsvoll / Interview-Level
- Schreibe eine Funktion, die römische Zahlen in Dezimalzahlen konvertiert
- Schreibe eine Funktion, die Dezimalzahlen in römische Zahlen konvertiert
- Die Funktion
kaprekars_constant(num)berechnet die Anzahl der Schritte bis 6174 erreicht wird
🧪 Hinweis
Ab der Funktion simple_sum sollte nach dem TDD-Prinzip gearbeitet werden (Test → Implementierung → Refactoring).






