Rätseln, Erfolg und Lernen — PythonChallenge.com
Kurzfassung: Wenn du programmierst — oder mal programmiert hast oder programmieren lernen möchtest — dann ist hier ein wahrer Edelstein zum Python üben. Das selbsternannte “first programming riddle on the net”!
Das Problem mit Fähigkeiten, die man nicht mehr nutzt ist: Sie verblassen.
Im Zuge meines Masterstudiums als Sozialwissenschaftler orientierte ich meine Ausbildung auf eine verstärkte datenwissenschafltiche Erdung meiner sozialwissenschaftlichen Theoriekenntnisse. Damit einher gingen einige Studien-, Forschungs- und meine Abschlussarbeit unter Verwendung von R und Python. Gerade meine Masterarbeit ließ mich für den groben Teil von 10 Monaten viel mit Python arbeiten.
Ich merkte seither aber, dass, in nichteinmal einem Jahr, meine Vertrautheit mit der Programmiersprache verschwunden war. Immer wieder überkam mich Lust, wieder etwas zu programmieren (Treue Leser*innen wissen: ein Beitrag konnte aus dieser Lust auch einmal entstehen). Doch praktisch jedes Mal verschlang der hausmeisterliche Prozess rund um meine Python Entwicklungsumgebung (IDE) den Großteil meiner Motivation und der Mangel relevanter Projekte übernahm den Rest.
Als mich das letzte Mal die Lust überkam, hatte ich es satt und entschloss mich auf eine browsergestützte IDE zu wechseln. In einem Anleitungsguide zu Data Science in Browser-IDEs stolperte ich dann auch über den Hinweis sich an Programmierrätseln zu versuchen um Ziele und konkrete Erfolgserlebnisse zu haben. Es wurden Challenges und Rätsel verlinkt und die referenzierte Seite pries in uneindeutig begeisterten Worten die PythonChallenge an:
The Python Challenge is one of the coolest puzzles on the web, so don’t be put off by its 1990’s graphics. You can complete all 33 levels with the help of Python scripts. One user called it “an addictive way to learn the ins and outs of Python…” We agree!
- Elite Data Science
Da musste ich es mir anschauen. (Am Titelbild oben siehst du, der 1990 Grafikstil war ein wahres Statement!) Und Danke für die Empfehlung, liebes Team von EliteDataScience.com! Ich wäre alleine niemals auf diese Seite gekommen und selbst wenn, hätte mich die “Vorsicht nicht https://”-Warnung abgeschreckt.
Es sind viele Sachen die mich sofort in den Bann gezogen haben.
Die Details und der autentische Character der Aufgabgen (natürlich ist die erste Aufgabe nicht 1 sonder 0 — getreu dem zero-based numbering system in der Informatik)
Die Aufgabe präsentiert sich dir einfach nur. Vertraut dir, dass du selbst ein wenig überlegen kannst, ohne dass es sich fies anfühlt. (Kein Programmierbereich in den du Coden sollst. Keine Formulierung von Programmieraufgaben. Du transformierst das Rätsel für dich aus dem Prompt)
Der freundliche, kreative Humor mit dem du interagierst. (Siehe Bild unten — Das diese Interaktion praktisch in unter einer Minute auftrat, zeigte mir gleich auf was ich mich einstellen sollte und ich liebte es!)
Da hatte es mich schnell gefangen. Hinzu kam, dass ich mit 3 Stunden Zeit und einem instabilen DB WLAN mal wieder im ICE saß. Ich legte mir einen Account bei Google Collab (browserbasierte IDE) an und bastelte los. Die Aufgaben wurden schnell schwerer und meine Herangehensweise aus fehlendem Wissen zu einigen Basisfunktionen und Minimum Viable Product anstatt Ästhetik hatte zwar sicher nicht den schönsten Code produziert, aber die Räsel gelöst!
Stand jetzt bin ich erst bei der fünften (Aufgabe[x] = 4 ;)) Aufgabe von 33, aber eines merke ich schon dolle einschlagen: Ich lerne wieder Python! Ich wende es mit einem Ziel an. Konkrete Probleme treten auf. Ich durchsuche Foren zu Lösungsansätzen. Ich lerne neue Funktionen. Und ich freue mich, dass viele Denkweisen, die ich über die vielen Aufgaben im Studium gelernt hatte, immer noch da sind — wenn auch etwas verschüttet (aber die Aufgaben holen das Wissen wieder hoch).
Das richtige Ergebnis zu entdecken war dann immer so befriedigend. Das Gefühl fühlt sich ähnlich an, wie Allan Cummings “Boris Grishenko” in Goldeneye.
Ich wollte mich mit meinen IT-Freund*innen austauschen. Und dann rannte ich auch teilweise in Trouble-Shoot-Probleme in meine Code bei einer weiterführenden Aufgabe. Was mich dazu brachte wieder mit coding-talentierten Freunden über meinen Code zu schreiben, was meiner Meinung nach eine der tollsten Lern- und Bondingerfahrungen sein kann.
Das wunderbare Hoch und Tief mit einem stetigen Dazulernen wie man Programmieraufgaben besser Lösen kann. Anders über Problemstellungen nachdenken kann. Neue Werkzeuge in einer Programmiersprache entdeckt. Das ist wahnsinnig anspornend!
Hier ein Chat-Ausschnitt:
Ich kenne keine direkten allgemeinen Rätsel, Computerspiele oder Programmieraufgaben, die nur irgendwo in die Nähe des Unterhaltungswertes und des Motivationspotentials der PythonChallenge kamen!
Ich hoffe meine Begeisterung über diesen Edelstein, welchen ich zufällig in einem Data Science Guide gefunden hatte, konnte ich vermitteln.
Wenn du mal programmiert hast, damit anfangen willst oder sogar schon programmierst: Schau dir die Rätselseite an!
Viel Spaß beim Coden! Bleib hübsch <3