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.

Firefox OS: Mozillas Wagnis

Mozilla kündigte zwei Mobilgeräte mit Firefox OS an. Technisch kommen beide Geräte eher schmalbrüstig daher, wenn ich diesen Angaben trauen kann. Das erklärt sich aber durch das angepeilte Niedrigpreis-Marktsegment. Dennoch machen mich zwei Aspekte hellhörig: Der erste ist die Entscheidung, Firefox OS als eine offene, allein von Webentwicklung gespeiste Mobilplattform zu positionieren. Zweitens macht es den Druck deutlich, der auf alteingesessenen Web-Projekten lastet.

Das HTML5-Betriebssystem

In der oben verlinkten Pressemitteilung weist Mozilla auf das aus ihrer Sicht bedeutende Alleinstellungsmerkmal hin:

The Firefox OS for mobile devices is built on Mozilla’s „Boot to Gecko project“ which unlocks many of the current limitations of web development on mobile, allowing HTML5 applications to access the underlying capabilities of a phone, previously only available to native applications.

Das hieße, Webentwicklung hätte mit Firefox OS einen direkten Zugang zu mobilen Geräten. HTML, CSS und JavaScript stellen die ausreichenden Ressourcen für mobile Entwicklung dar? Das wäre für mich persönlich schon ein Unterschied, denn mit HTML, CSS und JavaScript komme ich immerhin schon über die Runden, während so ein Objective C für iOS in deutlicher Ferne liegt. Aber mal über den Tellerrand meiner persönlichen Suppe geschaut, es dürfte für Web-Apps und deren Entwickler leicht sein, unter Firefox OS zu laufen bzw. sie zum laufen zu bringen. Denn schließlich ist Firefox OS ein aufgebohrter Browser mit einer anderen Hardwareumgebung.

Mobil oder stirb?

Doch so sinnvoll es scheint, es dürfte aus meiner Wahrnehmung für Mozilla auch kaum eine Alternative geben, um so spät auf diesen Markt zu drängen. Sie müssen die Nische finden, um einen Fuß auf den Boden zu kriegen. Da ist dieser vergleichsweise leichte Zugang für Entwickler eine ordentliche Idee, auch der Preis dürfte bei der beschriebenen Hardware deutlich in unteren Bereichen liegen und damit gegebenenfalls attraktiv sein. Da passt es, dass die Geräte anscheinend in zunächst Brasilien an den Start gehen sollen.

Auf dem Desktop dürften Mozilla allmählich die Felle davon schwimmen, in den Industrienationen sind die Märkte wohl dicht, da trifft es sich gut, wenn auch in den BRIC-Staaten mobile Geräte bachgefragt werden.

Für mich ist es ein Zeichen für den erstaunlichen Wandel, der sich in den letzten Jahren vollzogen hat. Im Laufe von einigen Jahren hat sich die Hardwareumgebung drastisch geändert. Firefox war vor nicht allzu langer Zeit der verheißungsvollste Stern am Browser-Himmel. Der nach den Browserkriegen aus der Asche Netscapes aufstieg, um dem Internet Explorer in vielen Bereichen den Rang abzulaufen. Und nun? Von Chrome attackiert auf den Desktops, auf mobilen Geräten bislang absolut marginalisiert, Mozilla muss unweigerlich im Mobilmarkt ankommen. Aus Sentimentalität ist es nur zu wünschen, dass es gelingt, auch wenn es vielleicht doch zu spät kommt.

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.

Jsfiddle und sqlfiddle

Wenn ich mal mit SQL oder JavaScript rumspiele, wird es meist eine umständliche Bastelei, weil ich meine Editoren nicht wirklich darauf ausgerichtet habe. Hätte ich früher mal daran gedacht, nach Umgebungen im Netz zu suchen, in denen ich mich ausprobieren kann. Mir wäre einiger Frust entgangen.

Für JavaScript gibt es jsfiddle. Und mit JS rumspielen kann man dort sehr gut. JS, CSS und HTML können parallel im Editor eingetragen werden. Im vierten Fenster tauchen dann Ergebnisse auf. Da es nicht so ganz mein Metier ist, weiß ich nicht, ob die angebotenen Frameworks repräsentativ sind. Mir reicht es auf jeden Fall.

Ähnlich aufgebaut ist sqlfiddle. Von SQL habe ich noch weniger Ahnung, werde dem Thema Datenbanken aber nicht mehr lange aus dem Weg gehen können. Da kommt eine solche Umgebung, in der ich mich gefahrlos einarbeiten kann, sehr gelegen.

Blockly

Noch eine kleine visuelle Spielerei zum einfachen Erstellen von Code. Mit Blockly (via) liegt der Entwurf für einen graphischen Editor vor, in dem nach dem Baukastenprinzip Code zusammengesteckt wird. Einzelne Kontrollelemente werden wie Puzzlestücke aneinandergereiht.

Noch ist es nur ein Konzept, mit den derzeit in der Code-Demo vorhandenen Funktionen ist aber schon einiges möglich. Grundlegende mathematische und logische Operationen bearbeiten die Variablen, die in einfache Schleifen und If-Abfragen geleitet werden können. Das noch mehr geht, deuten die Listen-Elemente und Prozeduren-Elemente an. Es spricht nichts gegen komplexeren Code, der im Editor schlicht Stück für Stück entsteht. Weiterlesen

VLC aus der Ferne steuern – von jedem mobilen Gerät

Film und Fernsehen ruhen sich im Sommerloch aus, Ebbe herrscht. Zeit, liebgewonnene Serien wieder auszugraben. Gerade ist es bei mir How I Met Your Mother. Ab der ersten Staffel, also mit blauem Horn, dem Fiero und der vermaledeiten Lachspur. Good times. Dafür schmeiße ich dann doch mal wieder den VLC Media Player auf meinem Rechner an, der aus vielen Gründen installiert werden sollte. Das ist schon eine feine Sache, wenn nicht die Fernbedienung fehlen würde, die meinem Rechner fehlte. Ein Blick auf den Tisch zeigt aber, da liegt doch hin und wieder so ein mobiles Gerät, dem nachgesagt wird, es sei smart. Smarter als ich, denn es brauchte eine Weile. Erst dann kam ich darauf, im AppStore nach geeigneter Hilfe zu suchen. Und es gibt einiges. Weiterlesen

Mozilla Thimble

Mozilla haben wir Firefox zu verdanken, der zwar in letzter Zeit bei mir mit enormen Schwierigkeiten zu kämpfen hat, aber wegen seiner großartigen Erweiterungen noch immer mein Standardbrowser ist. Nun hat sich Mozilla auch noch vorgenommen, Webkenntnisse zu verbreiten. So sollen reine Konsumenten von Webinhalten zu deren kreativen Produzenten werden. Webmaker nennt sich das Projekt. Dabei sollen diesen Sommer vor allem Veranstaltungen stattfinden, bei denen Neulinge zusammen mit Fortgeschrittenen eigene Ideen realisieren. Denn so schwer ist es wirklich nicht, bei HTML, CSS und JavaScript durchzusteigen. Besonders dann, wenn man Hilfe hat.

Im Rahmen von Webmaker stellt Mozilla einige neue Tools zur Verfügung. Das aus meiner Sicht interessanteste ist Thimble, ein kleiner, zweigeteilter Editor für HTML und CSS. Der Clou bei der Sache ist, dass auf einer Seite der Editor für den Code steht und auf der anderen eine WYSIWYG-Ansicht. Alle Änderungen am Code lassen sich so quasi live begutachten. Dieses Konzept erinnert stark an die Erweiterung Firebug. Thimble ist ähnlich leicht zu handhaben, damit lädt es zu Experimenten ein.

Thimble ist aber kein Tutorial. Nur ein webgestützter Editor, der von der Community mit interessanten Projekten gespeist wird. Es braucht also schon noch Material, das einem die Prinzipien von HTML und den anderen Techniken beibringt (Wie wäre es hiermit? Oder einfach der Klassiker?). Auf die Dauer kann Thimble so nicht mit handfesten Editoren mithalten. Soll es, denke ich, aber auch nicht. Es geht mehr darum, die Hemmschwelle auf ein Minimum zu senken. Und das geht am besten, wenn man einfach loslegen kann und sofort sieht, was man da angestellt hat. Also einfach mal machen.

Storify – Nachrichten aus dem Stream

Aus San Francisco stammt Storify, das schon im letzten Jahr an den Start ging. Es schickt sich an, die Last der Nachrichtenaggregation zu tragen. Schnell mal eine Sammlung von Links für eine kurze Story zusammentragen ist mit Storify kein Problem mehr. Aus einer Vielzahl der großen sozialen Netzwerke, Suchmaschinen und anderen Quellen lassen sich Informationen simpel per Drag & Drop zusammenstellen. Storify will damit zum Baukasten für Nachrichten werden. Weiterlesen