Das Codingprojekt, welches ich hierin vorstelle, ist meine Abschlussarbeit für den Onlinekurs „CS50P - Introduction to Programming with Python“ der Harvard University, welchen Sie auf der Bildungsplattform edX finden können und der sich, wie der Name natürlich schon verrät, vor allem mit der Programmierung in der Programmiersprache Python beschäftigt. Ich habe den Kurs am 14. Januar 2024 bestanden und hierüber ein entsprechendes Abschlusszertifikat erhalten.

Inspiriert von der kurseigenen Hausaufgabe "My Little Professor" aus CS50P, in welcher es darum ging ein mathematisches Lernspielzeug aus den 90er Jahren in seinem Funktionsumfang nachzuprogrammieren und zudem inspiriert von Nintendo's Videospiel "Dr. Kawashima's Gehirnjogging" für die Konsolen DS, 3DS und Switch, habe ich ein Terminalprogramm erstellt, das ich "Brainjogging 10/30" nenne. Mein in Python3 geschriebenes Terminalprogramm enthält bisher drei Minispiele und für jedes Minispiel jeweils zwei Versionen, die sich der Anzahl der gegebenen Aufgaben nach unterscheiden - daher auch die Namensgebung 10/30.

Die erste Version für jedes Minispiel hat zehn Aufgaben pro Spiel, die zweite Version hat dreißig Aufgaben pro Spiel. Sie können sie starten, indem Sie den Namen des Spiels als sys.argv[1] - also als zweites Kommandozeilenargument zum regulären Start des Programmes in Ihrem Terminal - angeben. Die Namen der Spiele sind entsprechend der darin angebotenen Aufgabenstellungen folgende:
"--math10", "--math30", "--rps10", "--rps30", "--sentences10" und "--sentences30"; Wenn Sie das Terminalprogramm ausprobieren wollen, dann befolgen Sie bitte unbedingt die Angaben der im Public Repository angebotenen Datei "requirements.txt", in welcher ich versucht habe nutzerfreundliche Anweisungen zu allen Abhängigkeiten zu geben, die das Terminalprogramm so haben kann.

In Math10 und Math30 müssen Sie einfache mathematische Aufgaben und Gleichungen lösen. Im Moment werden Addition, Subtraktion, Multiplikation und Division vom Spiel unterstützt. Sie können durch das Lösen der mathematischen Aufgaben Punkte sammeln. Um das Spiel zu gewinnen, müssen Sie insgesamt 70 % der Punkte erreichen - genau wie bei den Hausaufgaben von CS50P - das ist etwas, das anbei alle Minispiele gemeinsam haben. Das Lösen einfacher Rechenaufgaben aktiviert Dr. Kawashima zufolge den präfrontalen Kortex in Ihrem Gehirn.

In RPS10 und RPS30 müssen Sie eine vorgegebene Aufgabe zu einer Partie des weltberühmten Spiels "Schere, Stein, Papier" (englischer Name des Spieles ist "Rock, Paper, Scissors", daher die Abkürzung RPS) lösen. Die Aufgaben geben vor, ob man bei einer bestimmten Stellung von Schere, Stein oder Papier gewinnen oder verlieren soll und man muss im Anschluss wählen, welche eigene Stellung man in die Runde bringen möchte - indem man sie in das Terminal eintippt und die Eingabe mit der Entertaste bestätigt. Das ist nicht so einfach wie es sich anhört, vor allem wenn man versucht es auf Zeit zu spielen. Die Antworten müssen im Terminal mit den jeweiligen englischen Begrifflichkeiten angegeben werden, da die ursprüngliche Zielgruppe für das Projekt eine amerikanische und damit englischsprachige Universität war (siehe nochmal Einleitung des Artikels hierzu). Auch diese Übung kann Dr. Kawashima zufolge den präfrontalen Kortex aktivieren.

In Sentences10 und Sentences30 müssen Sie Sätze mit fünf Wörtern bilden, wobei jedes Wort mit einem bestimmten, zufällig ausgewählten und vorgegebenem Buchstaben des Alphabets beginnen soll. Das kann knifflig sein, denn oft bekommt man zum Beispiel Buchstaben wie "q", "x", "y" oder "z" vorgegeben, für die mein persönlicher Wortschatz auch nicht genug englische Wörter enthält um daraus einen sinnhaltigen Satz zu bilden. Leider prüft das Programm im Moment noch nicht, ob der von Ihnen erstellte Satz Sinn macht, was immernoch ein Nachteil ist. Prinzipiell können Sie das Spiel auch in jeder anderen Sprache spielen, die das englische Alphabet unterstützt und sind hier nicht auf das Englische angewiesen - aber da ich ein totaler Anfänger im Programmieren war als ich mit CS50P begann, ist es für mich und meine persönliche Nutzung des Terminalprogramms einigermaßen in Ordnung. Versuchen Sie wenn möglich nicht hierbei zu tricksen.

Ich habe versucht, eine entsprechende Architektur in meinem Code zu finden, um weitere Minispiele in Zukunft einfach über zusätzliche Funktionen in mein Programm zu implementieren und es so lesbar wie möglich zu halten. Da das Programm in seiner jetzigen Form stark von randomisierten Entscheidungen über die in Python integrierte Zufallsbibliothek abhängig ist, war ich nicht in der Lage, eine angemessene Pytest-Datei, wie in den ursprünglichen Projektvorgaben angefordert, zu implementieren. In der Datei "test_project.py" teste ich nur über einen Codeschnipsel, den ich auf StackOverflow gefunden habe, ob das Zufallsmodul richtig funktioniert - und im Moment ist das zweifelsfrei gegeben.

Alles in allem war CS50P einer der anspruchsvollsten Onlinekurse, den ich bisher gemacht habe. Ich fand ihn inspirierend und ideal für persönliches Wachstum und oft genug war ich auch sehr stolz darauf, wenn ich eine Hausaufgabe gelöst hatte - es gab Höhen und Tiefen und wie erwähnt auch einige prägende Erfolgserlebnisse im Kursverlauf. Die Aufgaben und alltäglichen Probleme, mit denen ich im Kurs konfrontiert wurde, haben mir bewusst gemacht, wo auf der Welt schon überall ein*e Programmierer*in am Werk war, der oder die eine bestimmte Aufgabe und Anwendung benutzerfreundlich für uns gelöst und programmiert hat und vielleicht Tage und Nächte mit der Fehlersuche in seinem oder ihrem Code verbracht hat. Ich empfinde nach dem Kurs den tiefsten Respekt für jede*n Programmierer*in, der oder die mit seinen oder ihren Fähigkeiten zu unserer digitalen Welt beigetragen hat. An diese Stelle ein herzliches Dankeschön an alle!

Noch kurz ein paar Worte zum Nutzen von Gehirnjogging - meinen Recherchen nach ist Gehirnjogging ganz allgemein in der Wissenschaft umstritten. Es gibt wie so oft eben Befürworter und Zweifler. Das Team rund um Dr. Kawashima, dessen Videospielserie mein Terminalprogramm inspiriert hatte, hat sich der Erforschung der neurologischen Effekte des Gehirnjoggings verschrieben und deklariert einen klaren Nutzen, der aus zahlreichen Studien und Untersuchungen hervorgeht. Dennoch werden in der Presse viele Stimmen laut, dass das Gehirnjogging eben keinen Effekt auf das Gehirn hätte - und es sich bei der Verbesserung der erzielten Ergebnisse lediglich um einen Lerneffekt handele. Wieder andere Neurologen deklarieren, dass vor allem durch regelmäßiges Training eine Reserve im Gehirn geschaffen wird, die das Auftreten von Gedächtnisproblemen im Alter verlangsamt. Ich für meinen Teil kann hierzu nichts gesichert sagen - bin aber der Meinung, dass Gehirnjogging auf jeden Fall Spaß machen kann - mir persönlich reicht das aus, um mich von Zeit zu Zeit mit kleinen Knobelaufgaben zu befassen.
Back to Top