17 Programmierherausforderungen, um Ihr kritisches Denken zu schärfen

Wer seine Programmierkenntnisse in einer bestehenden oder neuen Sprache verbessern möchte, findet in Programmierherausforderungen eine ausgezeichnete Methode.

Im Laufe der Jahre sind zahlreiche Plattformen und Webseiten entstanden, die Programmierern aller Erfahrungsstufen anregende Aufgaben bieten. Ob Sie eine neue Sprache erlernen oder Ihr Können in Stresssituationen testen möchten, Programmierherausforderungen können sowohl unterhaltsam als auch anspruchsvoll sein.

Neben den offensichtlichen Vorteilen, die die Arbeit an solchen Herausforderungen mit sich bringt, fördern sie auch bessere Fähigkeiten zur Problemlösung, ein tieferes Sprachverständnis und die Freude am Erlernen neuer Algorithmen. Wie Sie wissen, sind Algorithmen im Einstellungsprozess keine Seltenheit. Wenn Sie also einige praktische Erfahrungen haben, verschaffen Sie sich einen Vorteil.

Dieser Beitrag stellt einige der besten Webseiten und Plattformen für Programmierherausforderungen vor. Einige sind anfängerfreundlich, während andere sich an ein erfahreneres Publikum richten. Wir fügen auch einige Optionen hinzu, die Sie Ihren Kindern zeigen können, da kinderfreundliches Programmieren ebenfalls sehr beliebt geworden ist.

Edabit

Der einfachste Weg, Neues zu lernen, ist die konsequente Auseinandersetzung mit dem Lerngegenstand. Das gilt auch für das Programmieren. Das Lesen der besten Bücher nützt wenig, wenn Sie das Geschriebene nicht in die Praxis umsetzen.

Edabit ist eine etablierte Plattform mit kleinen, leicht verdaulichen Programmieraufgaben, mit denen Sie Ihre Programmierkenntnisse schnell verbessern können.

HackerRank

HackerRank ist ein Startup, das sich auf die Bereitstellung von Programmierherausforderungen für Einzelpersonen und Organisationen konzentriert. In der Regel erhalten Sie Anweisungen für ein Projekt, das abgeschlossen werden muss, und die Art und Weise der Umsetzung liegt ganz bei Ihnen.

Derzeit können Entwickler Java, Python, JavaScript, PHP, C++ und SQL verwenden, um die gestellten Aufgaben zu lösen.

Sobald Sie Ihre Lösungen einreichen, bewertet die Plattform diese automatisch anhand von Faktoren wie Genauigkeit. Anschließend werden Sie in die globale Rangliste aufgenommen und sammeln gleichzeitig Errungenschaften (Abzeichen). Es gibt auch „Sprints“, einen anderen Begriff für von der Plattform ausgerichtete Wettbewerbe.

House of Codes hat einen interessanten Artikel über die Darstellung der Top 50 Herausforderungen bei HackerRank verfasst. Wenn Sie neugierig sind, ist dies eine lohnende Lektüre mit vielen Beispielen und Materialien.

Codebyte

Coderbyte ist eine einzigartige Anwendung, die auf modernen Programmierpraktiken basiert. Ihr Kernelement sind Programmierherausforderungen, die Millionen von Menschen weltweit geholfen haben, bessere Entwickler zu werden. Im Unterschied zu ähnlichen Apps auf dem Markt, ist Codebyte darauf ausgerichtet, Menschen bei der Bewältigung von Problemen auf Branchenniveau zu unterstützen.

Einer der Vorteile dieser Plattform ist, dass sie mit einigen der führenden Softwaremarken zusammenarbeitet, darunter Google, LogMeIn, HBO, PWC und viele andere. Wenn Sie jemals eine Stelle bei solchen Unternehmen anstreben, können Sie sicher sein, dass Coderbyte Ihnen die nötigen Herausforderungen bieten kann, um Ihre Fähigkeiten zu testen.

Nach der Registrierung können Sie zwischen Herausforderungen und Algorithmen wählen. Es gibt Hunderttausende von von Benutzern eingereichte Lösungen, die Ihnen helfen können, ein breiteres Verständnis für bestimmte Programmierthemen zu entwickeln.

Organisationen können sich registrieren und ihren Auswahlprozess verwalten. Als registrierte Organisation erhalten Sie Zugriff auf zusätzliche Tools, mit denen Sie jeden Entwickler individuell prüfen können.

CodeWars

Das Schöne an konsequentem Programmieren ist, dass Sie immer wieder neue Wege finden, um Probleme zu lösen. CodeWars greift diese Idee auf. Basierend auf „Katas“ bietet die Plattform Übungen und Herausforderungen in einer Vielzahl von Sprachen.

Durch die Bearbeitung dieser Übungen können Sie Punkte sammeln und gleichzeitig überprüfen, wie andere Programmierer ein bestimmtes Problem gelöst haben.

Wenn Sie eine neue Sprache üben möchten, ist CodeWars eine hervorragende Seite, die Sie Ihren Lesezeichen hinzufügen sollten.

Hier sind einige der unterstützten Sprachen:

  • Clojure
  • Rust
  • Swift
  • Python
  • Haskell
  • Shell
  • JavaScript
  • PHP
  • Kotlin
  • Scala

Viele weitere Sprachen sind im BETA-Programm verfügbar, aber möglicherweise mit Einschränkungen.

Grundsätzlich möchte Edabit eine Plattform bieten, die die Kluft zwischen Anfängern und fortgeschrittenen Programmierern überbrücken kann. Sie können die Roadmap einsehen, um die vollständige Liste der Funktionen zu sehen.

CodinGame

Spiele als Lernplattformen sind keine Neuheit, aber es scheint mittlerweile viel mehr Player in diesem Bereich zu geben. CodinGame ist nur eine von vielen Plattformen, die Programmierherausforderungen durch ein spielerisches Erlebnis anbieten. Anstatt Code aus nächster Nähe zu schreiben, entwickeln Sie stattdessen eine Spielumgebung. Der gesamte Code, den Sie schreiben, wirkt sich auf die Art und Weise aus, wie das „Spiel“ abläuft.

Letztendlich können Plattformen wie CodinGame Technologieentwicklern sehr viel über Ursache und Wirkung vermitteln und wie bestimmte Entscheidungen zu bestimmten Ergebnissen führen.

Dies ist nicht nur eine dieser billigen Seiten, auf denen Sie schlampigen JavaScript-Code schreiben. CodinGame beinhaltet einige hochrangige Algorithmen und hat unzählige Weltklasse-Programmierer, die mithelfen, Lösungen für neue und erfahrene Entwickler gleichermaßen bereitzustellen.

HackerEarth

HackerEarth ist eine bekannte Plattform, die Hackathons, Programmierherausforderungen und verschiedene Arten von Wettbewerben veranstaltet.

Es ist auch ein Ort, an dem Sie interessante Einblicke in den Einstellungsprozess in modernen Unternehmen erhalten können. Nicht alle, aber viele der Herausforderungen, die in der Datenbank von HackerEarth zu finden sind, könnten in einem Ihrer zukünftigen Vorstellungsgespräche gestellt werden.

Und wie ist das möglich? Nun, vor allem, weil es HackerEarths Aufgabe ist, Rekrutierungslösungen für Top-Technologieunternehmen bereitzustellen. Wenn Sie als der Beste gelten wollen, müssen Sie mit den Besten interagieren. Das ist eine Win-Win-Situation für Sie.

Programmr

Programmr ist ein dynamisches digitales Labor für Entwickler aller Ebenen. Mit Programmr können Sie Code schreiben, kompilieren und Projekte direkt über Ihren Browser ausführen. Die Plattform unterstützt alle gängigen Sprachen, die heute verwendet werden. Egal, ob Sie eine mobile Anwendung oder eine Datenbankstruktur ausführen möchten, Programmr ist darauf vorbereitet, dies zu ermöglichen.

Im Bereich Herausforderungen bietet Programmr eine maßgeschneiderte Reihe von Herausforderungen für Java, C++, PHP, C#, Ruby, Python und iOS. Jedes Set umfasst über 100 Herausforderungen, die nach Beliebtheit (basierend auf Benutzerbewertungen) und anderen Faktoren sortiert werden können.

Was diese Plattform von anderen unterscheidet, ist, dass Sie Ihre neu gewonnenen Erfahrungen nutzen können, um sofortiges Feedback zu erhalten, sei es in Form eines Zertifikats für eine bestimmte Sprache oder durch Feedback anderer Benutzer.

Der Coding Train

Daniel Shiffman ist eine „One-Man-Armee“, die großartige Materialien zum Programmieren erstellt und produziert. Der Coding Train ist Daniels persönliche YouTube-Plattform, auf der er spannende und hilfreiche Videos zur Bewältigung von Programmierproblemen teilt.

Er verfolgt jedoch einen interessanten Ansatz. Anstatt alles auf seiner Website zu hosten, nutzt er YouTube als Plattform für die Herausforderungen und seine Website als Plattform für die Lösungen.

Seine Herausforderungen basieren auf P5.js und Processing — zwei beliebten Lösungen, die in Kunst und Grafikdesign verwendet werden.

Wolfram Herausforderungen

Wolfram ist eines der bekanntesten Unternehmen der Welt im Bereich Informatik. Ihre Plattform hat viele aufgrund ihrer Möglichkeiten sprachlos gemacht.

Obwohl unser Fokus nicht auf Wolfram Alpha liegt, einer neuen Grenze, die Anfang 2018 eingeführt wurde, sondern auf Wolfram Challenges.

Es gibt viele Beispiele für Herausforderungen, die sich beispielsweise auf die „kostengünstigste Lösung“ oder die „beste Lösung“ beziehen. Es ist ein ähnliches Setup wie bei typischen Aufgaben des maschinellen Lernens: Finden Sie eine Funktion (z. B. basierend auf einem neuronalen Netzwerk), die bei der Klassifizierung eines bestimmten Testdatensatzes am besten abschneidet usw.

Im Vergleich zu anderen Webseiten/Plattformen in dieser Zusammenfassung deckt Wolfram ein breites Spektrum an Herausforderungen ab, die nicht nur das Programmieren betreffen. Wenn Sie Ihre Fähigkeit zum kritischen Denken verbessern möchten, ist dies die richtige Plattform dafür!

LeetCode

LeetCode ist ein Produkt, das heißt, es ist nicht nur eine Seite, auf der zufällige Herausforderungen gehostet werden. LeetCode ist vielmehr eine Möglichkeit, sich auf zukünftige Chancen vorzubereiten.

Die Plattform bietet modernes Lernen, komplexe Herausforderungen und ein hervorragendes Dashboard, um alles zu organisieren.

Es gibt auch Artikel, Diskussionsforen und andere Community-Aspekte, um eine nahtlose Benutzererfahrung zu fördern. Viele LeetCode-Benutzer haben ihren Abschluss gemacht und arbeiten nun bei Unternehmen wie Uber, Amazon, Stripe und anderen.

Codeforces

Codeforces ist für alle eingefleischten und engagierten Programmierer da draußen. Denken Sie an Softwareentwickler, Pentester, KI-Enthusiasten und Junkies für maschinelles Lernen! Als Plattform für fortgeschrittene Programmierer ist Codeforces bekannt für seine anspruchsvolle Rangliste und seinen Wettbewerbsgeist.

Und der Einstieg ist einfacher, als Sie denken.

Exercism

Es ist großartig, die Initiativen hinter vielen Plattformen für Programmierherausforderungen zu sehen.

Und Exercism ist da keine Ausnahme. Die Gründerin Katrina Owen sagt, ihr Ziel sei es, „Menschen durch Exercism zu helfen, ausreichend Programmieren zu lernen, damit sie eine Stelle in der Entwicklung finden können“.

Zum Zeitpunkt der Erstellung dieses Artikels gibt es über 2.600 Übungen in 48 Sprachen – alle kostenlos! Hatten Sie vor, Kotlin zu lernen oder sich vielleicht besser mit Vim vertraut zu machen? Jetzt haben Sie die Chance, durch interessante Aufgaben neue Fähigkeiten zu erlernen!

Codier

So überraschend es für einige von Ihnen sein mag, auch in der Frontend-Entwicklung wird immer noch programmiert!

Die Herausforderungen hier werden meist von den Benutzern zusammengestellt. Beispielsweise könnte jemand eine „Material Design Card“ veröffentlichen und Sie bitten, sie zu verbessern oder eine ähnliche Variante zu erstellen.

Das Ergebnis ist Ihre Fähigkeit, kreative Ideen umzusetzen. Und es ist schön zu sehen, wie andere ähnliche Probleme in Echtzeit angehen. Sie können den von anderen eingereichten Code jederzeit für Ihre Projekte wiederverwenden.

Flexbox Frosch

Apropos Frontend, wie steht es um Ihr Verständnis von Flexbox? Es ist immer gut, das Gedächtnis aufzufrischen, um fit und aktuell zu bleiben!

Flexbox Froggy ist ein nettes kleines Spiel, das Sie durch 28 Schritte mit verschiedenen Flexbox-Anwendungen und -Ausrichtungen führt. Vielleicht ist es weniger eine Herausforderung als eine Erinnerung, aber schaffen Sie es, alle Level zu meistern, ohne nach Antworten zu suchen?

Grid Garden ist ein sehr ähnliches Spiel, der einzige Unterschied besteht darin, dass Sie mit der Grid-Funktion anstelle von Flex arbeiten.

PyBites

Python wird allgemein als die am einfachsten zu erlernende Sprache akzeptiert. Und neuen Programmierern wird oft empfohlen, es zuerst zu erkunden. Aber lassen Sie sich dadurch nicht vom Potenzial von Python täuschen.

Heutzutage wird ein Großteil ausschließlich mit maschinellem Lernen und der Generierung von Datensätzen mit Python betrieben – und das ist keine Kleinigkeit!

PyBites hält Sie auf dem neuesten Stand. Artikel, Programmierherausforderungen und andere wichtige Informationen helfen Ihnen, Ihren Verstand zu schärfen. Jede Herausforderung beinhaltet eine Nachbereitung zur Überprüfung, in der Sie Ihren Code vergleichen und den richtigen Weg zur Lösung eines Problems erkunden können.

CodeCombat

CodeCombat ist ein weiteres Programmierspiel, das eine dynamische und anspruchsvolle Programmierumgebung bietet. Der Unterschied zwischen einem Produkt wie CodinGame besteht darin, dass CodeCombat sich auf Lehrer konzentriert. Daher können Sie diese Plattform nutzen, um Programmieren und Problemlösen auf Schulniveau zu unterrichten.

Es gibt Werkzeuge, Materialien und andere Ressourcen, die speziell für diesen Zweck entwickelt wurden und die zudem viel Spaß machen. Die von Ihnen erstellten CodeCombat-Spiele sind sowohl interessant als auch visuell ansprechend. Und da Gaming bei Kindern ohnehin sehr beliebt ist, kann die Herausforderung, ihre virtuelle Umgebung zu entwickeln, sie inspirieren, in Zukunft etwas Außergewöhnliches zu schaffen!

Tynker

Wie in der Einleitung kurz erwähnt, haben wir auch etwas für alle Eltern da draußen. Tynker ist eine unterhaltsame Plattform, die Kindern das Programmieren beibringt. Sie basiert auf einer sehr einfachen Drag-and-Drop-Oberfläche, auf der Kinder zwischen verschiedenen Optionen wählen und die gestellten Probleme lösen sollen.

Und verstehen Sie es nicht falsch, Tynker ist mehr als Sie denken und an moderne Standards angepasst. Wenn Sie Kinder haben, die ins Teenageralter kommen, können Sie sie Lösungen mit Python oder JavaScript schreiben lassen, anstatt nur Blöcke zu verwenden.

Schlusswort: Fordern Sie sich selbst heraus!

Insgesamt gibt es wahrscheinlich 10.000 einzigartige Programmierherausforderungen auf allen von uns aufgelisteten Webseiten und Plattformen. Es ist unmöglich, sie alle auf einmal zu bearbeiten.

Ich empfehle stattdessen, eine Plattform zu finden, die Ihrer Meinung nach am besten zu Ihren Bedürfnissen passt, und sich nur auf diese eine Plattform zu konzentrieren. Sie können Freundschaften schließen, Neues lernen und wer weiß – vielleicht lernen Sie genug, um einen neuen Job bei einem Top-Unternehmen zu ergattern!

Vielleicht möchten Sie auch DataCamp in Betracht ziehen, um Data Science zu erlernen, was Programmierherausforderungen und -projekte umfasst.

Wie wäre es als Nächstes herauszufinden, wie man Kommentare in beliebten Programmiersprachen einfügt?