Codecademy Hour of Code: Minute des Grauens

Hinter der Idee, das Programmieren möglichst einer breiten Masse zu erklären und damit auch noch möglichst früh anzufangen, stehe ich uneingeschränkt. So war ich von Codecademy, wie von vielen webbasierten Lernplattformen, sehr angetan. Gerade niedrigschwellige Kurse zu Grundlagen bekannter Programmiersprachen sind in vielen Fällen heute recht gut umsetzbar und können Hemmschwellen überwinden helfen. Wenn sie wie Codecademy zudem kostenlos sind, reißen sie einige Hürden sogar regelrecht ein.

Aber gerade bei Codecademy fehlt mir nach langer Zeit dort eine stringente didaktische Linie. Ihre Kurse sind meist fahrige Unterrichtseinheiten, die keiner erkennbaren Qualitätskontrolle unterliegen. Dabei kommt dann gerade der erwünschte Lerneffekt zu kurz, wenn Aufgaben irreführend oder nicht lösbar sind. Das Team hinter Codecademy wirbt, ganz von der eigenen Stärke überzeugt, in den höchsten Tönen vom eigenen Angebot, wirklich nachvollziehen kann ich das aber nicht. Zu oft bin ich auf Codecademy mittlerweile in schlecht geschriebene Kurse und andere Sackgassen gerannt, nur um dann zu erfahren, dass diese von ihren Entwicklerinnen und Entwicklern aus der Community verlassen wurden. Codecademy selbst hält sich dann meist zurück. Das können sie gerne machen, es ist ihr Dienst, ihr kostenloses Angebot, doch sehr im Einklang mit dem eigenen Anspruch erscheint es nicht.

Mein Eindruck ist also der einer gewissen Fahrigkeit, vielleicht sogar auch Gleichgültigkeit seitens des Dienstes. Neuestes Indiz ist die kürzlich im App Store aufgeschlagene Anwendung *Codecademy: Hour of Code". Hier kulminiert das Auseinanderklaffen von eigenem Anspruch und tatsächlicher Leistung in einer winzigen App, deren didaktischer Wert sich mir nicht erschließt.

Codecademy schließt sich dem Projekt der Hour of Code an, das sich an absolute Anfängerinnen und Anfänger richtet. Das ist allemal ein ehrenwertes Ziel, da kann ich verschmerzen, dass die App eigentlich nur ein aufgehübschter Multiple-Choice-Test in fingierter Editorumgebung ist. Ein wenig statische Eingabe kann vielleicht die Furcht nehmen, ohne dann mit absoluter Freiheit zu verwirren. Was aber nicht geht, sind die vielen Ungereimtheiten und Achtlosigkeiten, die Codecademy in der App an den Tag legt. Da soll ich dann mein Alter eingeben, kann aber genauso auch beliebige Strings eingeben. Die App feiert mein Alter von "jj" Jahren trotzdem als bahnbrechenden Erfolg in meinem kometenhaften Aufstieg als Programmierer.

Diese Unachtsamkeit häufen sich in dem Kurs voll simpler Aufgaben, die wenig einsteigerfreundlich vor die Füße geworfen werden. Wirkliche Erklärungen, was dort mit meinem Dummy-Code passiert, erhalte ich nicht. Aber das wäre anscheinend auch zuviel verlangt, denn Codecademy will mich anscheinend nicht einmal damit verwirren, mir mitzuteilen, welche Sprache sie mir hier beibringen. Es passt für mich ins Bild, wenn hinter dieser App mehr der Wunsch nach Wahrnehmung der eigenen Marke als das tatsächliche Interesse an durchdachten Lernkonzepten steckt. Für mich ist das enttäuschend, denn es droht doch, dass damit dann doch manche Leute eher abgeschreckt werden. Denn sie können nicht wissen, wie wenig ihnen die App tatsächlich erklärt, so könnten sie doch die eigene Verwirrung über die App so auslegen, als wäre das alles einfach eben doch nichts für sie.

Der Schwarm, die Intelligenz und das Wiederkäuen

Den Netzoptimismus kann ich mir nicht abgewöhnen, aber völlig mitgehen auch nicht. Nicht mehr. Ich schiebe es auf altersbedingte Misanthropie, die ich aus Sorge um meinen Ruf vorzugsweise als Realismus bezeichne. Soll heißen, der Glaube an die rosige Zukunft der Menschheit durch das Internet oder Technik ganz allgemein fiele mir deutlich leichter, wenn der Faktor Mensch nicht Teil dieser Rechnung wäre.

Es muss aber nicht immer eine pseudo-anthropologische Grundtendenz sein, die mich dazu bringt, den Fortschritt nicht mit jedem Startup einzuläuten, denn das Etikett Fortschritt verkauft ein Startup nun einmal teurer, selbst wenn der faktische materielle, ökonomische oder kulturelle Nutzen bei näherer Betrachtung unterhalb jeder Relevanz liegt.

Für mich ist Codecademy so ein Beispiel für die revolutionäre Geste der kostenlosen Bildung für alle, die bei Lichte betrachtet dem Vorschlag gleichkommt, Menschen die Liebe zur Kunst mittels Malen nach Zahlen nahe bringen zu wollen. Codecademy ist nicht gescheitert, denn das grundlegende Versprechen löst es ein: Menschen können die Grundlagen einiger essentieller Script- und Auszeichnungssprachen lernen. Hierzu stehen für JavaScript, Ruby, PHP, Python und andere vorgefertigte Kurse bereit. Als interpretierte Sprachen bieten sie sich geradezu an, da es vergleichsweise einfach ist, einen Editor und den jeweiligen Interpreter im Browser zur Verfügung zu stellen.

Die ersten Schritte bei Codecademy dürfte für Neugierige erstaunlich leicht nachvollziehbar sein. In diesen Bereichen ist Codecademy erstaunlich, könnte sogar Hürden einreißen oder so weit senken, dass sie nicht mehr abschreckend wirken. Danach wird die Luft aber wieder dünn, denn wenn die ordentlichen Pfade der größeren Lerninhalte begangen sind, ziehen neue Hürden auf. Es gibt keinen Fingerzeig über das mechanisch erlernte Wissen hinaus.

Die Idee ist blendend, das Lösungsmuster ist im Netz altbewährt. Der Schwarm wird es schon richten. Irgendwie, egal wie. Denn Codecademy hat nur ein klappriges Gerüst zusammenhängender Übungen mit etwas, das einem didaktischen Konzept ähnlich sieht. Darüber hinaus sollen Kurse von der Community erstellt werden. Selbst nach langer Zeit bei Codecademy verstärkt sich der Eindruck, das der Pflege der Kurse keinerlei Beachtung geschenkt wird.

So reihen sich dann von Laien verfasste Kurse aneinander, die inhaltlich entweder reine Lückentests sind, sodass höheres Verständnis kaum entsteht, geschweige denn, die Fähigkeit eigene Ideen umzusetzen, oder dieses Verständnis wird vorausgesetzt. Die Qualitätssicherung besteht bloß aus einer plumpen Sternskala zur Bewertung des Kurses und unübersichtlichen Foren, in denen sich die Stimmen der Verwirrten überschlagen.

Moderation oder gar Redaktion kann ein dermaßen irritierter Schwarm kaum leisten. Das Versprechen universellen Wissens verkümmert so zum Stimmengewirr des Halbwissens in der vernetzten Masse. Das heißt allerdings nicht, dass sie nicht möglich wäre, die vernetzte Bildung zu geringem Preis, doch sind die bisherigen Lösungsansätze der Startups – denn es ist nicht Codecademys spezifisches Problem – eher technokratischer Idealismus verbrämt mit dem Idyll der Weisheit des Massen.

Doch was ist es für ein Wissen, das in redundanten Aufgaben vermittelt wird? Bildung, selbst in der geringsten aller Definitionen, ist nicht die mechanische Reproduktion von Fertigkeiten. Dieses Bildungsideal ist allerdings metrisch wieder schwer zu greifen, da ist es doch besser, nur das Wiederkäuen von Informationen zu messen und als Bildungsleistung vorzugaukeln. Von dem Ideal der Bildung als befreiendem, befähigendem, ermächtigendem menschlichen Werkzeug ist das weit entfernt. Ingenieurswissenschaftlich betriebene Aufklärung ist das, mehr nicht. Schade, denn im Netz allgemein wie auch bei Codecademy sind wirklich fantastische Inhalte zu finden. Den Zugang hat das Netz erleichtert, das Finden ist noch immer die Herausforderung.

Codecademy hat Web-API-Kurse

Mir ist jetzt erst aufgefallen, dass Codecademy nicht CodeAcademy heißt. Ist eigentlich auch egal, dort gibt es gute Grundlagenkurse in gängigen Skript-/Programmiersprachen und Webtechniken. Seit Neuestem werden dort auch kostenlose Kurse zu APIs angeboten. Das trifft sich hervorragend, denn bei meinen bislang kurzen Auseinandersetzungen, habe ich noch nicht wirklich Grundsätzliches gelernt.

Die Übungen sprechen diverse APIs an, auch wenn derzeit nicht die geläufigsten Namen der Social-Media-Welt dabei sind. Das macht nicht wirklich etwas, da die Grundprinzipien bei den gängigen RESTful-APIs vergleichbar sind.

Im Moment sind Kurse für drei Sprachen vorhanden. Für JavaScript, Ruby oder Python gibt es jeweils einen kurzen Grundkurs zu den Basics von APIs, also wozu diese Schnittstellen dienen oder wie das mit den HTTP-Request ist. Darauf folgen die eigentlichen inhaltlichen Online-Kurse, in denen ein geführter Gang durch Code in der jeweiligen Sprache beginnt.

Da ich mich derzeit auf Python eingeschossen habe, habe ich dort angefangen. Der simpelste Kurs ist mit Sicherheit der, in dem nur ein wenig Katzencontent als Platzhalter geladen wird. Da ist noch recht wenig Arbeit zu leisten. Etwas umfassender wird es bei der API von bitly, doch der für mich schwerste Brocken waren die Kurse zu den APIs von NPR.

Hierzulande wird dieses spendenfinanzierte, öffentliche Radio der USA weniger bekannt sein. Die Unterschiede sind gewaltig, doch hat der Sender selbst einen Bildungsanspruch, der mit denen der öffentlich-rechtlichen in Deutschland vergleichbar ist. Daher bietet NPR auch viele verschiedene Formate, Texte, Radiosendungen, Mitschriften und Videos frei zugänglich an.

Dementsprechend ist die Story-API enorm groß. NPR wirft mit riesigen Datenobjekten um sich. Glücklicherweise sind die Übungen in Python gut strukturiert, sodass es leicht fällt, recht zügig die erste Basis-URL mit Query-Elementen versehen zu haben, die mit JSON-, XML- oder andern Objekten gewürdigt werden. Danach geht es darum, aus diesen Objekten die relevanten Informationen auszulesen.

Diese Kurse zu NPR-APIs haben den Vorteil, dass sie auf zusätzliche Bibliotheken verzichten. Zwar ist es dadurch weniger komfortabel, doch der Lerneffekt ist größer, solange die Querys und Objekte „von Hand“ erstellt werden. Bibliotheken, die Requests vereinfachen oder beim Parsen der Datenobjekte Zeit sparen, nehmen am Anfang zu viel Last ab und würden den Blick auf die Konzepte verstellen.

So sind die Kurse zu den APIs gute, praxisbezogene Lerneinheiten für alle Einsteigerinnen und Einsteiger, die ihre Kenntnisse in den jeweiligen Sprachen auf die Probe stellen wollen. Gerade das anfangs überwältigende der NPR-Objekte macht dabei klar, wie wichtig gute Kenntnisse sind, wie diese Daten am besten zu verarbeiten sind.