Murphy’s Law


Murphy’s Law , welches lautet:

Alles, was schiefgehen kann, wird auch schiefgehen

trifft auch auf meine Programmierkurse für Jugendliche mit voller Wucht. Zum Beispiel beim Unterrichten von neuen Kursteilnehmern.

In der/den ersten Kursstunde(n) versuche ich vor allem 3 Fähigkeiten zu vermitteln:

  • den Umgang mit der Programmiersprache Python und dem Modul turtle
  • den Umgang mit der Programmiersprache Python und dem Modul easygui
  • den Umgang mit dem Betriebssystem Linux (Ubuntu)

Üblicherweise beginne ich die Programmierkurse damit, den Kursteilnehmern die Programmiersprache Python mit Hilfe des Python-moduls turtle näherzubringen. Mit diesem Logo-ähnlichen turtle-Modul (Dank an Gregor Lingl, der dieses Modul sehr verbessert hat) kann man schon mit wenigen Befehlen einfache Grafiken zeichnen oder schöne Muster errechnen lassen.

Auf einigen meiner Schulungs-Netbooks war letzten Sonntag noch eine Linux-version namens Ubuntu Netbook Edition installiert. Diese Version ist speziell angepasst für kleine Netbook-Bildschirme und hat unter anderem die Eigenschaft, jedes offene Fenster automatisch zu maximieren.

So sollte es sein: links der python-direktmodus (idle), rechts die Grafikausgabe

Murphy 1: maximierte Fenster

Leider stört dies extrem beim „ausprobieren“ der turtle-Befehle mit Hilfe vom Python-Direktmodus, da man nicht mehr gleichzeitig Befehle tippen kann und gleichzeitig sehen was die Turtle-Grafik darauf reagiert. Ich musste daher den Kursteilnehmern die Tastenkombination ALT+TAB zum umschalten zwischen offenen Fenstern beibringen, die Kursteilnehmer verloren durch das ständige hin- und herschalten zwischen den maximierten Fenstern Zeit und Überblick.
Seit Sonntag ist eine „normale“ Ubuntu-Version 10.10 auf allen Schulungsnetbooks installiert.

Murphy 2: nur gif und kein GIMP

Ein zweites Python-Modul das ich gerne fürs Programmieren-lernen einsetze ist das (leider noch nicht mit Python mitgelieferte) Modul easygui von Steve Ferg, eine Vereinfachung der Tkinter-Dialogboxen.

Tkinter (und damit easygui) erkennt standardmäßig nur Grafiken im Format „.gif„. Erst durch installieren einer Bibliothek namens python-imaging-tk kann easygui auch mit Grafiken vom Format .jpg und .png umgehen. Dummerweise hatte ich diese Bibliothek noch nicht installiert. Bleibt als Ausweg ein Grafikprogramm welches beliebige Grafiken ins Format gif konvertiert, z.B. Gimp. Doch Gimp liegt aus Platzgründen den Ubuntu-CD’s nicht mehr bei. Und ich hatte vergessen Gimp übers Internet nachzuinstallieren, deshalb mussten meine Programmierschüler mit einer einzigen Platzhalter-gif-Grafik auskommen.

Easygui macht mehr Spaß mit eigenen Grafiken

Murphy 3: selbst abgemischtes Ubuntu

Den Kursteilnehmer drücke ich gerne gleich in der ersten Stunde eine Ubuntu-CD in die Hand damit sie zu Hause auf ihren PC’s üben können. Man kann Python alleine zwar bequem unter Windows oder auf dem Mac installieren, da im Laufe der spielend-programmieren Programmierkurse aber zahlreiche Bibliotheken, Programmerweiterungen, Editoren und Spiele und Open-Source Projekte benötigt werden und ich prinzipiell bezweifle dass man von unfreien (closed-source) Betriebssystemen etwas lernen kann ist es mir lieber die arbeiten gleich mit Linux.

Üblicherweise mische ich eine CD mit allen benötigten Zutaten zusammen, dank Programmen wie „Reconstructor“ kann man schrittweise der letzten „abgemischten“ version ein paar Progamme dazutun… sofern sich die „Basisversion“ nicht ändert, was aber seit Ubuntu 10.10 der Fall ist.

Und wenn man wie ich gute Ideen prinzipiell erst im letzten Moment hat (z.B. dann während die Kursteilnehmer schon im Raum sind) bleibt nur sehr wenig Zeit. Ich entschloss mich während dem Unterrichten eine etwas veraltete selbst abgemischte Ubuntuversion zu verteilen von einem früheren Seminar.

Murphy 4: CD-Brenner kaputt

Doch leider beschloss mein CD-Brenner (oder das CD-Brennprogramm) das nach einer gebrannten CD Schluss ist.
Da meine Schulungsnetbooks per Definition kein CD-Laufwerk besitzen wich ich auf den Laptop meines Vaters aus. Leider kam einige Minuten später mein Vater der mit seinem Laptop arbeiten wollte. Ich beschloss anstatt der CD einen bootfähigen USB-Stick herzugeben.

Murphy 5: The sound of silence (Drucker druckt nicht)

Während meine Kursteilnehmer immer neue turtle-Grafikmuster auf den Netbooks produzierten bahnte sich eine neue Katastrophe durch Abwesenheit von Geräuschen an. Dazu muss man wissen: ich teile mir mit meinem Vater nicht nur das Büro (in welchem die Programmierkurse stattfinden) sondern auch die Netzwerkdrucker. Und wenn mein Vater weder telefoniert, noch in die Tasten hämmert und auch der Drucker keine Arbeitsgeräusche von sich gibt dann stimmt etwas nicht. In diesem Fall konnte mein Vater eine Email nicht ausdrucken. Das Problem ließ sich zwar nicht sofort lösen aber immerhin umgehen indem die Email in ein Textverarbeitungsprogramm kopiert wurde und von dort ausgedruckt wurde.

Mittels Python und dem turtle-Modul erzeugte Grafiken

Murphy 6: Vom USB-Stick booten

Mit booten vom USB-Stick anstatt von CD habe ich im Laufe der Jahre schlechte Erfahrungen gemacht. Entweder es klappt überhaupt nicht oder wesentlich unzuverlässiger als Booten von CD. So auch diesmal bei einem Testlauf: Die speziell angepasste Ubuntu-Version startete auf einem Netbook bis zur grafischen Oberfläche, um dann mit einem schwarzen Bildschirm einzufrieren. Das lag wahrscheinlich an der ATI-Grafikkarte des Laptops und bedeutet nicht zwangsläufig dass der USB-Stick am Computer des Kursteilnehmers auch nicht booten würde, war aber trotzdem unangenehm.

Murphy 7: Maustaste klemmt

Eine Lubuntu-Version (auf USB-Stick) bootete auf dem gleichen Netbook klaglos… fror dann aber beim Bedienen ein, gearde wie ich die Paketverwaltung erklären wollte. Schuld war, wie sich herausstellte, nicht Linux sondern eine klemmende linke Maustaste.

Murphy 8: The day after: keine Homepage

Am Tag danach (während ich diesen Blogeintrag schreibe) sind meine beiden Homepages, nämlich spielend-programmieren.at und ThePythonGameBook.com nicht erreichbar. Anscheinend ein Problem mit einem virtuellen Server. Keine Homepage, keine Neukunden.

Falls Murphy’s Law demnächst bei Ihnen zuschlägt: Ich freue mich darauf, vielleicht lässt es mich dann etwas in Ruhe.


Flattr this

Über Horst JENS

teaching open source game programming to kids
Dieser Beitrag wurde unter Erfreuliches aus dem Kursleben abgelegt und mit , , , , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

Bitte logge dich mit einer dieser Methoden ein, um deinen Kommentar zu veröffentlichen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s