Die besten Programmierherausforderungen für Anfänger: Von einfachen bis hin zu anspruchsvollen Programmierübungen

Die besten Programmierherausforderungen für Anfänger: Von einfachen bis hin zu anspruchsvollen Programmierübungen

Hier ist etwas, vor dem dich niemand warnt: Du kannst einen Monat lang Tutorials am Stück schauen, zu jedem Video mit dem Kopf nicken und dann eine leere Datei öffnen und keine Ahnung haben, was du tippen sollst. Mir ging es genauso. Den meisten, die programmieren lernen, geht es so.

Die Lösung ist zwar langweilig, aber effektiv: Kleine Probleme selbst lösen, anfangs vielleicht etwas holprig. Dieser Leitfaden besteht daher aus zwei Teilen. Der erste Teil enthält eine handverlesene Auswahl der besten Programmieraufgaben für Anfänger (zehn Stück, grob von leicht bis schwer). Im zweiten Teil finden Sie Links zu Webseiten, auf denen Sie Tausende weitere Aufgaben entdecken können, sobald Sie meine durchgearbeitet haben.

Jede Programmiersprache ist geeignet. Meine Beispiele verwenden Python und gelegentlich JavaScript, da die meisten damit anfangen. Gehen Sie die Aufgaben möglichst der Reihe nach durch. Jede Aufgabe führt eine neue Idee ein.

Warum Programmierherausforderungen echte Programmierkenntnisse vermitteln

Was zählt als Herausforderung? Etwas Winziges mit einer offensichtlichen richtigen Lösung. „Nimm ein Wort und sprich es rückwärts aus.“ „Hier ist eine Liste von Zahlen, welche ist die größte?“ Man installiert nichts und wählt kein Framework. Man schreibt vielleicht zehn Zeilen Code.

Ein Tutorial anzusehen bedeutet, dem Denkprozess einer anderen Person zu folgen. Programmieraufgaben kehren das um, und das ist auf eine nützliche Art ungewohnt. Man rät, es geht schief, man sucht nach einer Fehlermeldung und versucht es erneut. Macht man das ein paar Wochen lang, werden manche Dinge ganz nebenbei einfacher.

  • Syntaxkenntnisse beherrschen. Nie wieder zum fünften Mal googeln, wie man eine for-Schleife schreibt.
  • Problemlösungskompetenz. Man beginnt, eine unklare Aufgabe in Teilschritte zu zerlegen, noch bevor man die Tastatur berührt.
  • Logisches Denken. Eine leere Liste, eine negative ganze Zahl, ein einbuchstabiges Wort. Man beginnt, solche Dinge zu erwarten.
  • Debugging. Rote Fehlermeldungen fühlen sich nicht mehr wie eine Beleidigung an.
  • Selbstvertrauen. Jedes gelöste Problem ist der Beweis, dass du selbst ein Programm schreiben kannst.

Mir hat mal jemand gesagt, dass es beim Programmieren eine Art 80/20-Regel gibt, und für Anfängerprobleme stimmt das ziemlich genau. Die meisten basieren auf denselben fünf Schritten: Schleifen, if/else-Anweisungen, das Bearbeiten von Zeichenketten, das Zählen von Elementen in einem Dictionary und das Durchlaufen eines Arrays. Wenn man diese erst einmal verinnerlicht hat, entpuppen sich viele „neue“ Probleme als altbekannte Probleme in neuem Gewand.

Die besten Programmierherausforderungen für Anfänger

10 einfache Programmierherausforderungen für Anfänger zum ersten Mal lösen

Nichts davon ist originell, und genau das ist der Punkt. Sie tauchen in fast jedem Anfängerkurs auf, weil sie funktionieren. Die ersten fünf benötigen nur Schleifen, Bedingungen und etwas String- oder Listenverarbeitung, während man bei den letzten fünf darüber nachdenken muss, welche Datenstruktur man verwenden sollte, bevor man überhaupt etwas tippt. Auf jeden Fall sollte man mindestens zwanzig Minuten lang nicht googeln, selbst wenn es sinnlos erscheint.

Herausforderung 1: FizzBuzz

Die Aufgabe besteht darin, die Zahlen von 1 bis 100 auszugeben, wobei jedes Vielfache von drei als „Fizz“, jedes Vielfache von fünf als „Buzz“ und die Zahlen, die Vielfache von beiden sind, stattdessen als „FizzBuzz“ angezeigt werden.

Ich erinnere mich, dass ich es fast beleidigend fand, wie einfach es klang. Ganz so einfach ist es aber nicht, weshalb es bei Interviewern so lange Anklang fand. Leute, die viel über Programmierung gelesen, aber wenig selbst programmiert haben, stolpern meist über die Reihenfolge der Prüfungen. Meine Version in Python sieht so aus:

Python for n in range(1, 101): if n % 15 == 0: print("FizzBuzz") elif n % 3 == 0: print("Fizz") elif n % 5 == 0: print("Buzz") else: print(n)

Sobald es bei dir funktioniert, ziehe die Zeile mit %15 ganz nach unten, führe das Skript aus und schau, wie viele FizzBuzzes überleben. Spoiler: Keiner.

Herausforderung 2: Eine Zeichenkette umkehren

„Hallo“ geht rein, „olleh“ kommt raus.

In so gut wie jeder Programmiersprache gibt es eine Abkürzung, wie zum Beispiel `s[::-1]` in Python oder `split("").reverse().join("")` in JavaScript. Es ist völlig in Ordnung, diese einmal zu verwenden, um zu sehen, ob sie funktioniert. Danach würde ich sie aber wieder löschen und stattdessen die etwas umständlichere Variante mit einer Schleife verwenden, die Zeichen für Zeichen hinzufügt. Dabei fällt einem auf, dass man in den meisten Sprachen einen String nicht direkt verändern kann, was viele später verwirrt, wenn sie das nicht hier lernen.

Herausforderung 3: Palindrom-Prüfer

Ein Palindrom ist ein Wort wie „racecar“ oder „noon“, das in beide Richtungen gleich gelesen wird. Ihre Funktion sollte also für solche Wörter „ja“ und für „hello“ „nein“ sagen.

Wenn das funktioniert, ist es ein guter Zeitpunkt, deine Programmierkenntnisse etwas zu verbessern, indem du dem Programm „A man, a plan, a canal: Panama“ gibst. Das funktioniert allerdings nur, nachdem du den Text in Kleinbuchstaben umgewandelt und Leerzeichen sowie Satzzeichen entfernt hast. Du kannst dafür deinen Code zum Umkehren von Zeichenketten aus der letzten Aufgabe verwenden – das fühlt sich gut an.

Herausforderung 4: Fibonacci-Folge

Sie kennen die Zahlenfolge wahrscheinlich schon: 0, 1, 1, 2, 3, 5, 8, 13, wobei jede Zahl die Summe der beiden vorhergehenden Zahlen ist. Ihre Funktion soll die ersten n dieser Zahlen zurückgeben.

Zwei Variablen und eine Schleife genügen. Der Spaß beginnt, wenn man die Funktion rekursiv umschreibt, sodass sie sich selbst aufruft, und dann n = 35 anfordert. Auf den meisten Laptops dauert das eine Weile, und herauszufinden, warum das passiert, ist ein sanfter Einstieg in die dynamische Programmierung. Es ist einer dieser kleinen „Ah, deshalb!“-Momente, die einem im Gedächtnis bleiben.

Herausforderung 5: Drehe ein Array

Man nehme ein Array und eine Zahl k und verschiebe dann jedes Element um k Positionen nach rechts, wobei die Elemente am Ende wieder an den Anfang verschoben werden. Mit [1, 2, 3, 4, 5] und k = 2 erhält man am Ende [4, 5, 1, 2, 3].

Die meisten ersten Versuche scheitern, wenn k größer als die Liste ist. Fünf Elemente um 7 zu rotieren, entspricht eigentlich nur einer Rotation um 2, was offensichtlich ist, sobald man es sieht, und vorher unsichtbar bleibt.

Wenn du die ersten fünf ohne größere Schwierigkeiten geschafft hast, gut gemacht. Die nächsten werden dir etwas mehr abverlangen.

Aufgabe 6: Finde die größte ganze Zahl in einem Array

Die größte Zahl zu finden wäre einfach, wenn man `max()` verwenden dürfte, was hier aber nicht der Fall ist. Verwenden Sie stattdessen eine Schleife und finden Sie anschließend auch die zweitgrößte Zahl, ohne die Liste zweimal zu durchlaufen. Nun müssen Sie zwei Werte im Auge behalten und darauf achten, welchen Sie zuerst aktualisieren.

Duplikate und negative Zahlen eignen sich gut zum Testen, da viele frühe Lösungsansätze dabei stillschweigend scheitern.

Herausforderung 7: Vokale in einem Satz zählen

Das Zählen der Vokale dient als Aufwärmübung. Die eigentliche Übung besteht darin, jeden Vokal einzeln zu zählen und etwas wie {"a": 3, "e": 5, "i": 1, "o": 2, "u": 0} zurückzugeben.

Für viele Anfänger ist dies der Moment, in dem Wörterbücher (oder Objekte in JavaScript) endlich Sinn ergeben, und das ist wichtig, denn es ist wahrscheinlich die Datenstruktur, auf die Sie sich im nächsten Jahr am häufigsten stützen werden.

Herausforderung 8: Anagrammprüfer

Anagramme verwenden genau die gleichen Buchstaben in einer anderen Reihenfolge, wie zum Beispiel „listen“ und „silent“. Sie schreiben also eine Funktion, die angibt, ob zwei Zeichenketten als Anagramme gelten.

Mir sind zwei sinnvolle Methoden bekannt. Man kann die beiden Zeichenketten sortieren und die Ergebnisse vergleichen, oder man zählt, wie oft jeder Buchstabe vorkommt und vergleicht diese Ergebnisse. Beide Varianten zu schreiben und dann zu überlegen, welche weniger Aufwand erfordert, ist im Grunde der erste Schritt, um über Effizienz nachzudenken.

Herausforderung 9: Zwei-Summe

Bei einer Liste wie [2, 7, 11, 15] und einem Zielwert von 9 gibt man die Positionen der beiden Zahlen zurück, deren Summe dem Zielwert entspricht, der hier [0, 1] ist.

Die meisten beginnen mit zwei verschachtelten Schleifen, die jedes Zahlenpaar durchgehen. Das funktioniert zwar bei kurzen Listen, wird aber schnell langsam. Der schnellere Ansatz speichert die bereits verwendeten Zahlen in einem Wörterbuch, sodass man sie sofort nachschlagen kann. Es ist kein Zufall, dass LeetCode diese Aufgabe an erste Stelle setzt, denn sie verdeutlicht, wie wichtig die richtige Datenstruktur ist.

Herausforderung 10: Zahlenratespiel

Hier wählt der Computer eine geheime Zahl zwischen 1 und 100 aus, Sie raten weiter, und er sagt Ihnen „zu hoch“ oder „zu niedrig“, bis Sie die richtige Zahl erraten haben, zusammen mit der Anzahl der Versuche, die Sie dafür benötigt haben.

Es ist weniger ein simples Programmierrätsel als vielmehr eine kleine App mit Benutzereingaben, einer While-Schleife und Zufallszahlen. Irgendwann wird jemand „Banane“ statt einer Zahl eingeben, sodass auch fehlerhafte Eingaben vorkommen. Und im Gegensatz zu den anderen kann man diese App tatsächlich einem Freund zum Spielen geben.

Die besten Websites für Online-Programmierwettbewerbe

Sind meine zehn aufgebraucht, wünscht man sich einen unerschöpflichen Vorrat mit automatischer Überprüfung. Diese Seiten für Online-Programmierherausforderungen bieten genau das. Sie fühlen sich nur sehr unterschiedlich an.

Plattform Am besten geeignet für Format Kosten
Edabit absolute Anfänger Mini-Programmierherausforderungen im Browser Kostenloses Tarif
Codewars Gamifizierte Praxis Rangliste der „Kata“ mit Community-Lösungen Frei
Sport Gute Gewohnheiten erlernen Sprachkurse mit optionalen menschlichen Mentoren Frei
freeCodeCamp Strukturiertes Lernen Lehrplan mit integrierten Übungen und Zertifizierungen Frei
HackerRank Kompetenzentwicklung und Berufsvorbereitung Themenbezogene Probleme mit Schwierigkeitsbezeichnungen Kostenlos für Lernende
LeetCode Vorbereitung auf das Vorstellungsgespräch Algorithmische Probleme mit den Kennzeichnungen Leicht/Mittel/Schwer Kostenloses Tarif
CodeChef Auf dem Weg zu Wettbewerben Übungswege plus regelmäßige Wettbewerbe Kostenloses Tarif
Projekt Euler Mathematikliebhaber Mathematisch anspruchsvolle Rätsel, nur die Lösung einreichen Frei
Aufkommen des Codes Saisonale Freude Jeden Dezember gibt es neue, handlungsbasierte Rätsel. Frei

Edabit

Wenn mich ein Freund fragte, wo er anfangen sollte, würde ich Edabit empfehlen. Die Aufgaben sind kurz, alles läuft im Browser und man sammelt Erfahrungspunkte. Python, JavaScript, Java, C++ und einige weitere Programmiersprachen werden behandelt, und die Bezeichnung „sehr einfach“ ist wirklich sehr einfach.

Codewars

Codewars nennt seine Aufgaben Kata (ein Begriff aus der Kampfkunst für Übungen). Sie sind nach Schwierigkeitsgrad eingeteilt, von 8 Kyu (am einfachsten) bis 1 Kyu. Der Clou kommt nach dem Absenden. Man sieht die Antworten der anderen, und die eigenen zehn holprigen Zeilen neben die eleganten Zweizeiler anderer zu stellen, lehrt einen mehr als die meisten Tutorials.

Sport

Exercism ist ein gemeinnütziges Projekt und komplett kostenlos. Es gibt Kurse für weit über 80 Programmiersprachen, und ehrenamtliche Mentoren schauen sich auf Anfrage deinen Code an. Du kannst die Übungen im Browser bearbeiten oder sie auf deinen Rechner herunterladen. Ich würde dir letztendlich die zweite Option empfehlen, da du dich so mit Visual Studio Code und dem Terminal vertraut machst.

freeCodeCamp

Es ist keine reine Herausforderungsseite. Es handelt sich um einen kompletten Lehrplan, der jedoch aus Hunderten kleiner Programmierübungen besteht und daher gut zusammenpasst. Ideal für alle, die Struktur schätzen: JavaScript, Python, responsives Webdesign und mehr, mit Zertifizierungsprojekten am Ende jedes Lernabschnitts.

HackerRank

HackerRank sortiert Aufgaben in verschiedene Kompetenzbereiche (Python, SQL, Datenstrukturen, Algorithmen) und zeigt den Schwierigkeitsgrad sowie die Anzahl der gelösten Aufgaben an. Viele Unternehmen nutzen HackerRank zur Vorauswahl von Bewerbern. Sich jetzt mit der Benutzeroberfläche vertraut zu machen, erspart später viel Ärger.

LeetCode

Hier geht es um die Vorbereitung auf Vorstellungsgespräche. Die Aufgaben sind in Leicht, Mittel und Schwer eingeteilt, und selbst die „Leicht“-Aufgaben setzen voraus, dass du die Grundlagen beherrschst. Betrachte die Programmieraufgaben als ein Ziel, nicht als einen Ausgangspunkt. Komm wieder, wenn sich meine zehn Aufgaben wie Routine anfühlen.

CodeChef

CodeChef hat sich als Plattform für Programmierwettbewerbe etabliert. Mittlerweile bietet es neben den regulären Wettbewerben auch Übungspfade für Anfänger an. Wer also Lust auf einen Wettbewerb unter Zeitdruck hat, kann ihn hier entspannt ausprobieren.

Projekt Euler

Mathematische Probleme, die man nur mit Code lösen kann. Es gibt keinen Editor auf der Website. Man schreibt das Programm, wo man will, und gibt einfach das Endergebnis ein. Mathematikbegeisterte lieben es. Alle anderen schrecken eher ab.

Aufkommen des Codes

Jeden Dezember gibt es täglich ein zweiteiliges Rätsel, das durch eine witzige Geschichte verbunden ist. Kürzlich wurde der Zeitraum von 25 auf 12 Tage verkürzt und die globale Rangliste abgeschafft. Daher gibt es jetzt hauptsächlich private Ranglisten mit Freunden oder Kollegen. Ältere Rätsel bleiben das ganze Jahr über verfügbar, und das Archiv bietet eine fantastische Übungsbibliothek.

Sie werden auch von Coderbyte hören, das Herausforderungen mit Bewerbungstrainings kombiniert, und von Topcoder, das sich wirklich an erfahrene Entwickler richtet.

Ein wichtiger Hinweis: Viele ältere Listen verweisen noch immer auf Google Code Jam und Kick Start. Google hat beide im Jahr 2023 eingestellt, und es existieren nur noch die Problemarchive.

Die besten Programmierherausforderungen für Anfänger

Wie man Programmierherausforderungen meistert, ohne auszubrennen

Zehn Websites als Lesezeichen zu speichern, macht dich nicht besser. Eine Gewohnheit hingegen schon. So würde ich ungefähr vorgehen:

  1. Wähle eine Programmiersprache und bleib dabei. Python ist die gängigste Wahl, da es sich fast wie Englisch liest. JavaScript ist sinnvoll, wenn du Webseiten erstellen möchtest.
  2. Richten Sie einen richtigen Code-Editor ein. Browser-Editoren reichen für die erste Woche aus. Die frühzeitige Installation von Visual Studio Code lehrt Sie, Dateien auszuführen, Fehler im Terminal zu lesen und mit einem Debugger zu experimentieren.
  3. Löse täglich ein bis drei Aufgaben. Regelmäßiges Üben in kleinen Einheiten ist effektiver als ein sechsstündiges Pauken am Sonntag. So prägen sich zwischen den Übungseinheiten Muster ein, und ein kleines Ziel lässt sich schwer aus den Augen verlieren.
  4. Lies dir nach dem Fertigstellen weitere Lösungen durch. Schau dir auf Codewars oder Exercism zwei oder drei andere Antworten an. Du wirst bewährte Vorgehensweisen und einige wirklich clevere Tricks entdecken, die es wert sind, übernommen zu werden.
  5. Schau dir alte Aufgaben noch einmal an. Eine Woche später versuche, eine davon aus dem Gedächtnis zu lösen. Wenn du es nicht schaffst, hast du sie auswendig gelernt, anstatt sie zu verstehen.
  6. Steigere dich zu kleineren Projekten. Bearbeite etwa 30 bis 50 Probleme und entwickle etwas: eine Aufgabenliste, eine Wetter-App auf Basis einer kostenlosen API, ein Textadventure. Hier beginnen verschiedene Fähigkeiten ineinanderzugreifen.

Was tun, wenn man bei einer Programmieraufgabe nicht weiterkommt?

Sie werden nicht weiterkommen. Selbst erfahrene Entwickler kommen schon vor dem Mittagessen nicht weiter. Was sie aber haben, ist eine Routine, um wieder in die Spur zu kommen – also übernehmen Sie eine davon:

  • Formulieren Sie das Problem in Ihren eigenen Worten. Erstaunlich viele Momente, in denen man denkt: „Ich kann das nicht lösen“, beruhen eigentlich auf einem „Ich habe es falsch verstanden“.
  • Rechnen Sie ein Beispiel von Hand durch. Wenig Input, Stift und Papier – notieren Sie jeden einzelnen Schritt. Glückwunsch, das ist Ihr Algorithmus.
  • Schreiben Sie zuerst Pseudocode. „Für jede Zahl gilt: Wenn sie größer ist als meine aktuell größte Zahl, behalte sie.“ Klartext lässt sich leichter korrigieren als Code.
  • Drucken Sie alles aus. Die meisten Fehler sind auf eine Variable zurückzuführen, die etwas anderes enthält als erwartet. Drucken Sie sie aus und finden Sie es heraus.
  • Erklären Sie es laut. Gehen Sie Ihren Code Zeile für Zeile durch, entweder einer Person oder einer Gummiente. Der Softwarefehler zeigt sich oft mitten im Satz.
  • Nutze die Hinweise schrittweise. Viele Plattformen bieten einen Hinweis vor der vollständigen Lösung an. Nimm den Hinweis an und versuche es dann erneut.

Was auch immer du tust, kopiere keine Lösung, sondern lass sie einfach laufen und mach weiter. Ich habe das eine Zeit lang gemacht und bin damit nicht weitergekommen. Wenn du doch eine Antwort liest, schließe den Tab, warte eine Stunde und erstelle die Lösung selbst.

Krypto-Themen-Programmierherausforderungen für Blockchain-Einsteiger

Vielleicht waren Kryptowährungen oder Blockchain der ursprüngliche Grund, warum du Programmieren lernen wolltest. Dann übe mit Aufgaben aus diesem Bereich. Die Grundlagen sind dieselben (Zeichenketten, Ganzzahlen, APIs), aber die Aufgaben ähneln viel eher realen technischen Projekten. Du musst für keine dieser Aufgaben Konsensalgorithmen verstehen.

  • Rufe den aktuellen Kurs einer Kryptowährung ab. Nutze eine kostenlose öffentliche Krypto-API, um den aktuellen Bitcoin-Kurs anzuzeigen und ihn minütlich zu aktualisieren. Hallo, HTTP-Anfragen und JSON.
  • Überprüfen Sie das Format einer Wallet-Adresse. Prüfen Sie, ob eine Zeichenkette wie eine plausible Adresse aussieht: richtige Länge, richtiges Präfix, nur zulässige Zeichen. Eine gute Übung im Umgang mit Zeichenketten und eine sanfte Einführung in reguläre Ausdrücke.
  • Baue einen Einheitenumrechner. Satoshis in BTC (1 BTC = 100.000.000 Satoshis), Wei in ETH (1 ETH = 10¹⁸ Wei). Du wirst schnell verstehen, warum Gleitkommazahlen und Geld nicht zusammenpassen und warum Entwickler Beträge als ganze Zahlen darstellen.
  • Hashen Sie eine Zeichenkette mit SHA-256. Hashen Sie einen Satz mit Ihrer Standardbibliothek, ändern Sie einen Buchstaben und hashen Sie ihn erneut. Das Ergebnis ist völlig anders. Diese Eigenschaft ist ein wesentlicher Bestandteil dessen, was Blockchains zusammenhält.
  • Erstellen Sie eine einfache Checkout-Seite. Eine Produktseite mit einem „Mit Kryptowährung bezahlen“-Button, der über eine Payment-Gateway-API eine Testrechnung erstellt.

Der letzte Schritt verbindet alle anderen Komponenten: ein Formular, einen API-Aufruf, Fehlerbehandlung und die Anzeige des Ergebnisses für einen echten Nutzer. Gateways wie Plisio stellen eine API und Dokumentation bereit, die in einen Übungsshop integriert werden können. Dadurch ähnelt eine Anfängerübung einer echten E-Commerce-Integration.

Beginne deine Programmierübungen noch heute mit einer Aufgabe.

Wenn ich zurückblicke auf das, was mir als Anfänger wirklich geholfen hat, war es keine besonders schwierige Aufgabe. Die besten Programmierherausforderungen für Anfänger waren letztendlich die kleinen, eher langweiligen Aufgaben, die ich tatsächlich gelöst habe, meistens spät abends mit kaltem Tee neben dem Laptop.

Also, öffne heute Abend einen Editor und bringe FizzBuzz zum Laufen, auch wenn der Code noch etwas holprig ist. Arbeite meine Liste ab, solange es noch Spaß macht, und wechsle, sobald es keinen Spaß mehr macht, zu der Seite aus der Tabelle, die dir am benutzerfreundlichsten erscheint. Halte die Gewohnheit so klein, dass es sich etwas albern anfühlen würde, sie auszulassen. In einem Monat werden dir manche davon fast langweilig vorkommen, und genau diese Langeweile ist das Gefühl, das man hat, wenn man wirklich Programmierkenntnisse besitzt.

Irgendwelche Fragen?

Ehrlich gesagt? FizzBuzz, genau wie fast alle anderen. Es verlangt nur eine Schleife und ein paar if-Anweisungen, und man kann es in einem Atemzug erklären, trotzdem machen viele beim ersten Versuch die falsche Reihenfolge der Prüfungen. Das Umkehren eines Strings ist ein sinnvoller zweiter Schritt.

Edabit würde ich absoluten Anfängern empfehlen, vor allem weil die Aufgaben kurz sind und man nichts installieren muss. Codewars macht später süchtig, dank der Rangliste und der Möglichkeit, die Lösungen anderer Nutzer nachzulesen. Exercism bietet kostenlose Mentoren, was selten ist. freeCodeCamp eignet sich für alle, die einen festen Lernpfad bevorzugen. LeetCode kann warten, da selbst die einfachen Aufgaben Grundkenntnisse voraussetzen.

Ich würde den meisten Leuten Python empfehlen, unter anderem, weil die Syntax übersichtlich bleibt und man sich auf die Logik konzentrieren kann, anstatt auf Klammern und Semikolons. Wer Webseiten entwickeln möchte, für den ist JavaScript genauso sinnvoll, da es in jedem Browser läuft. Beide Sprachen eignen sich gut für Programmieraufgaben, und ehrlich gesagt ist es wichtiger, bei der gewählten Sprache zu bleiben, als die Wahl selbst.

Ein bis drei Aufgaben – und das meine ich eher als Obergrenze denn als Ziel für Anfänger. Zwei Aufgaben pro Tag über einen Monat hinweg bringen dir mehr bei als dreißig Aufgaben an einem einzigen Wochenende. Die verbleibende Zeit würde ich nutzen, um jede Lösung wirklich zu verstehen und mir anzusehen, wie andere sie angegangen sind.

Seltsamerweise ist das tatsächlich so, obwohl die Aufgaben selbst nie einfacher werden. Was sich ändert, ist, dass man anfängt zu bemerken, wie oft dieselben wenigen Muster wiederkehren: Schleifen, Bedingungen, Stringverarbeitung, Zählen mit Dictionaries und das Durchlaufen von Arrays. Ungefähr bei Aufgabe vierzig ertappt man sich dabei, wie man denkt: „Ach, schon wieder so eine“, und genau das ist der Wendepunkt.

Beginnen Sie damit, die Aufgabe in Ihren eigenen Worten zu formulieren, denn meiner Erfahrung nach beruht etwa die Hälfte aller „Hänge“-Momente auf Fehlinterpretationen. Papier hilft dabei. Lösen Sie ein kleines Beispiel per Hand, notieren Sie Ihre Schritte – diese Liste wird zu Ihrem Pseudocode. Ausgaben zeigen Ihnen, welche Werte Ihre Variablen tatsächlich enthalten. Und wenn Sie nach zwanzig oder dreißig Minuten immer noch nicht weiterkommen, ist ein einzelner Hinweis hilfreich, die vollständige Lösung hingegen meist nicht.

Ready to Get Started?

Create an account and start accepting payments – no contracts or KYC required. Or, contact us to design a custom package for your business.

Make first step

Always know what you pay

Integrated per-transaction pricing with no hidden fees

Start your integration

Set up Plisio swiftly in just 10 minutes.