Serious Text Games

“The Republia Times” ist ein schönes Spiel, das sich vielleicht auch für das rasche Leseverstehen (skimming) im Englischunterricht eignet. Flashbasiert, im Browser zu spielen; man kann die Flashdatei aber auch einfach lokal speichern. (Via Aaron A. Reed.)

Das Spiel ist einfach, aber reizvoll: Man spielt den eben ernannten Redakteur der Republia Times, einer Zeitung im diktatorisch regierten Republia. Die Presse dort ist alles andere als frei; die Familie des Redakteurs befindet sich in Geiselhaft der Regierung. Man muss zehn Tage als Redakteur überstehen: In den ersten Tagen muss man die Loyalität der Leserschaft auf einen gegebenen Wert erhöhen, indem man regimefreundliche Propagandaartikel platziert. Danach muss man die Anzahl der Leser erhöhen, indem man Artikel veröffentlicht, die den Lesern gefallen. (Der Loyalitätswert darf dabei aber nicht unter eine bestimmte Grenze sinken.) Und danach wiederum hat man etwas freiere Hand… bis sich der Untergrund meldet und sowohl eine hohe Auflage als auch eine niederige Loyalität der Leserschaft zu einem bestimmten Termin fordert.

So sieht der Bildschirm aus:

republia

Von links unten kommen auf einem Ticker nach und nach die Nachrichten des Tages herein, mal früher mal später. Aus diesen Nachrichten kann man seine Zeitung füllen: Man macht aus dieser Nachricht eine kleine Notiz, einen gewöhnlichen Artikel oder einen großen Dreispalter. Man kann auch nichts auswählen, dann bleibt die Zeitung halt leer, und das kostet natürlich Leser. Um die Zeitung zu füllen hat man nur einen Arbeitstag Zeit; am Rand läuft eine Uhr unerbittlich mit, die einen in den späteren Phasen des Spiels unter Druck setzt. Ganz wird die Zeitung ohnehin nie voll, die Größen der Artikel und der Seite sind so gewählt, das immer mindestens ein kleines frustrierendes Kästchen frei bleibt.

Der Knackpunkt beim Spiel ist die Auswahl der Nachrichten und die Entscheidung, wie groß man sie in die Zeitung setzt:

  • Es gibt Artikel, die für höhere Leserzahlen sorgen: Sport, Militär, Unterhaltung, Wetter. Bei diesen Themen kommt es nicht auf die Größe der Artikel an, sondern nur darauf, dass es sie gibt. Die bringen Leser. Zu viel politische Propaganda und zu wenig Unterhaltung lässt die Leserzahl sinken.
  • Es gibt Artikel, die die Loyalität der Leserschaft beeinflussen, positiv oder negativ: Negative Informationen über die Regierung, Erfolge des feindlichen Nachbarstaats. Hier haben größere Artikel mehr Einfluss auf die Loyalität der Leserschaft als kleinere. Das Wetter ist immer neutral, andere Nachrichten können positiv oder negativ sein.
  • Gibt es zu viel freien Platz, dann sinken Leserzahlen. Drei große Geschichten reichen, um die Zeitung zu füllen

Nach dem zehnten Tag ist das Schicksal von Republia entschieden und es kommt zu einem Ende, sozusagen.

Für den Englischunterricht nutzbar ist das Spiel, weil man die – allerdings sehr kurzen – Nachrichten schnell überfliegen und beurteilen muss: Sind sie interessant ist oder nicht und, unabhängig davon, politisch neutral, positiv oder negativ?

Außerdem lernt man:

  • Eine Zeitung füllt sich nicht von selbst, es gibt immer jemanden, der auswählt, was hineinkommt.
  • Selbst wenn eine Nachricht gebracht werden muss, kann man sie groß herausbringen oder klein halten.
  • An manchen Tagen kommen einfach keine brauchbaren Nachrichten. Aber auch dann muss die Zeitung voll werden.
  • Es gibt mehr Nachrichten, als in einer Zeitung Platz haben. Manches erfährt der Leser also nicht.

Ein anderes flashbasiertes Spiel, das ich schon mal mit Sechtsklässlern gespielt habe, ist “The Big Scan”. Ich habe das vor Jahren schon mal erwähnt, deshalb nur kurz: Das Spiel ist – anders als Republia Times – für Lerner gedacht. Man spielt einen Privatdetektiv, der einen (nicht ganz unblutigen) Fall lösen muss. Dabei übt man, Texte gezielt nach bestimmten Informationen durchzugehen.


Kaum für die Schule geeignet sind die folgenden Spiele, aber ich will sie erwähnen, weil sie für mich reizvoll waren (alles reine Textspiele):

Whom the Telling Changed von Aaron A. Reed. (Auf der verlinkten Seite ist auch eine Möglichkeit, das Spiel im Brwoser zu spielen.) Die Mitglieder einer Stammesgruppe sitzen in vor- oder frühgeschichtlicher Zeit um ein Lagerfeuer und hören sich die rituell erzählte, altbekannte Geschichte an, die der Erzähler vorträgt. Sehr aktiv in herkömmlicher Weise ist man als Spieler nicht: in jeder Erzählpause kann man dan Erzähler bitten, bestimmte Aspekte der Geschichte zu erklären oder zu betonen. Allerdings macht das der Gegenspieler genauso, ein anderer Angehöriger der Gruppe mit anderen politischen Zielen. Beide lenken die Stimmung der Gruppe durch ihre Zwischenfragen, denn die Situation ist hoch politisch: Soll man gegen einen Nachbargruppe in den Krieg ziehen oder nicht? Stellt sie eine Gefahr dar oder nicht?
Die Geschichte, die erzählt wird, ist außerdem eine Episode aus dem Gilgamesch-Epos. Wer sich die mal am virtuellen Lagerfeuer erzählen lassen möchte, kann sich “Whom The Telling Changed” anschauen.

Auf einem Originaltext eines anderen Autors basiert auch The Tempest von Graham Nelson und, uh, William Shakespeare. (Online spielbar via der verlinkten Seite.) Man spielt den Luftgeist Ariel; die Handlung ist die von Shakespeares Sturm. Die Texte sind weitgehend Originalsprache, und zwar – laut eigenen Angaben – der fast vollständige Text der Folioausgabe von 1623. Also Blankvers. Das macht das Lesen macnhmal etwas schwer, und ganz leicht ist das Spiel auch nicht, das macht es weniger reizvoll für Leute, die weder mit frühem Neuenglisch noch mit Interactive Fiction vertraut sind. Aber reizvoll schon, das könnte ich mir auch gut mit einem allerdings gekürzten Sommernachtstraum vorstellen.

Unter der Seite Literary Worlds der Western Michigan University gibt es einen Link zu virtuellen literarischen Welten, die im Rahmen eines Projekts der Uni dort angelegt wurden. Das sind letztlich MUDs, multi-user dungeons, Textadventures für mehrere Spieler. Leider funktionieren einige der Links nicht mehr, auch wenn dann doch alle Welten – und es sind viele – von innerhalb eines jeden Spiels aus betreten werden können. Design und Interface sind nicht sehr ansprechend oder benutzerfreundlich. Ich habe mal The Tempest ausprobiert: Links textbasiert, rechts mit Bildern; navigieren kann man nur rechts, weil der Text bei Richtungsvariablen keinen sauberen Angaben ausgibt; agieren kann man nur links mit Texteingabe. Und alles recht umständlich. Eine schöne Idee, aber nicht mehr zeitgemäß. Auch die Kombination Text-Bild halte ich eher für irritierend als für nützlich – entweder ein reines Textspiel, oder Point-and-Click.

Fußnote: Ich habe schon mal ein eigenes Inform-7-Textadventure auf einen Server hochgeladen, der das Spiel multi-user-fähig macht. Funktioniert auch. Nächster Schritt: Mit Schülern eine Welt anlegen und sich dann dort treffen, textbasiert.

Die Wacholderdrosseln sind da

Letztes Jahr habe ich sie wohl verpasst, vor zwei Jahren fielen sie mir zum ersten Mal auf: die Wacholderdrosseln, die – laut Wikipedia ab Mitte Februar – auf dem Rückweg aus der Winterfrische bei mir vor dem Fenster halt machen. Sonst sehe ich nämlich nie Wacholderdrosseln, und dieses Jahr sind sie besonders früh da:

2013_01_26-1_wacholder1

2013_01_26-2_wacholder2

Eine hiesige Amsel schaute sich die fremde Verwandtschaft an:

2013_01_26-3_drossel

Am Balkon futterten die Meisen:

2013_01_26-4_meise

2013_01_26-5_meise2

Und im Baum kletterte ein Specht herum.

2013_01_26-7_specht3

2013_01_26-6_specht1

2013_01_26-8_specht4

2013_01_26-9_specht5

2013_01_26-10_specht6

Am Schluss tauchte auch noch ein Gartenbaumläufer aus. Das sind kleine Vögel, die wie Mäuse den Baumstamm auf und ab herunter huschen:

2013_01_26-11

Wer Probleme mit dem Ausüben von Macht hat, sollte kein Lehrer werden

Im P‑Seminar der Oberstufe in Bayern arbeiten die Schüler nicht nur an einem Projekt, sie erhalten auch Informationen über die Berufswelt. Unter anderem gibt es dazu die BuS-Selbsterkundungshefte. (Bus: Berufs- und Studienwahl.) Wie nützlich die sind, kann ich noch nicht sagen – vermutlich schon einigermaßen, obwohl die Behauptung am Ende von Heft A schon gewagt optimistisch formuliert ist: “Wahrscheinlich drängen sich auf der Grundlage all der gesammelten Daten über Ihre Einstellungen, Werte, Fähigkeiten, Schwächen usw. bestimmte konkrete Berufe auf.” Von Aufdrängen sprechen die meisten meiner Schüler nicht.

Diese Hefte sind dazu da, dass Schüler sich Gedanken machen, welche Berufe sie interessieren, und dass sie überprüfen können, ob ihre Ziele und Wünsche auch dazu passen. Notiert habe ich mir dazu zwei Fundstellen aus Heft A:

Wer Beruf und Familie gut miteinander vereinbaren und außerdem viel Freizeit haben will, sollte nicht unbedingt einen Managementposten anstreben.

Das ist, fürchte ich, realistisch, und die Empfehlung ist sinnvoll. Mich stört nur die Kombination der beiden Bedingungen (Beruf/Familie und Freizeit). Gemeint ist vermutlich, dass bereits jeweils eine der Bedingungen ein Ausschlusskriterium für den Managementposten ist. Dann soll man das auch so schreiben.

Dann gibt es noch dieses Fundstück:

Unterschätzen Sie nicht die Wichtigkeit von Werten für die Berufswahl! Wer z.B. Macht verabscheut, aber einen Beruf wählt, der zwangsläufig mit Macht verbunden ist (z.B. der des Lehrers), wird sich in diesem Beruf immer wieder selbst im Wege stehen und mit seinem Beruf weder glücklich sein noch Erfolg haben.

Allgemein stimmt diese Aussagen, und das Beispiel im Besonderen auch: Lehrer üben Macht aus, darüber sollten sie sich klar sein. Formal geschieht das vor allem dadurch, dass sie Noten machen, über Vorrücken entscheiden und Abschlüsse verleihen. (Diese Sachen sind für mich die anstrengendstem am Lehrersein, die ich einerseits gerne abgeben würde, die andererseits Ursache für unsere Besoldung sind.)
Außerdem üben wir im lehrerzentrierten Unterricht Macht dadurch aus, dass wir bestimmen, was passiert. Und das tun wir, mindestens so lange, wie es Lehrpläne gibt, also solange Schüler zu bestimmten Zeitpunkten etwas lernen sollen, ob sie wollen oder nicht.

Geht es auch anders? Beschreibt das zweite Zitat ebenso wie das erste einen Ist-Zustand, der sich irgendwann einmal ändern sollte? In Einzelfällen sowieso. Aber ein ganzes Schulsystem umzubauen, dass es ohne Machtverhältnisse funktioniert, also ohne dass eine oder alle Parteien auf unterschiedliche Weise Druck ausüben können – das kann ich mir nicht vorstellen. “Denn ist nicht alles, was man Kindern tut, Gewalt?”, fragt der schmierige Patriarch im Nathan, um allerdings gleich hinzuzufügen: “Zu sagen: — ausgenommen, was die Kirch’ an Kindern tut.” Man möchte manchmal aktualisieren: “Ausgenommen, was ein Lernbegleiter an Kindern tut.”

Selbst Rousseau will Macht ausüben bei der Erziehung. Der Schüler soll es nur nicht merken:

Folgt mit Eurem Zögling den umgekehrten Weg. Lasst ihn immer im Glauben, er sei der Meister, seid es in Wirklichkeit aber selbst. Es gibt keine vollkommenere Unterwerfung als die, der man den Schein der Freiheit zugesteht. So bezwingt man sogar seinen Willen.

Zitat aus Emile, aus Wikipedia übernommen, weil ich Emile ja nie gelesen habe und darauf hoffe, dass das auch wirklich so da drin steht.


Fundstück: Das GBlog hat Gedanken zu einer Kritik der Kompetenzorientierung zusammengestellt. Geht es am Ende darum, dass Schüler genau die Kompetenzen erwerben sollen, die es ihnen erlauben, in einer unwirtlichen Berufwelt zu funktionieren, ohne diese zu hinterfragen? Ist mir etwas zu theoretisch, der Artikel, aber ich bin auch mehr so middlebrow statt highbrow.

Leseecke in der Schule

Schon zum Ende des letzten Schuljahrs hat Kollege Z. in einem ungenutzten toten Winkel – feuerpolizeilich unbedenklich – eine Leseecke eingerichtet, den Diogenes-Club.

diogenes-club

Stühle und Regale von IKEA. An der Wand hängt ein Poster mit den Spielregeln:

diogenes_club

In den Diogenes-Club können Schüler sich setzen, um zu lesen. Nicht: um Hausaufgaben zu machen oder zu ratschen. Aber sie dürfen lesen, in den Pause, in Freistunden, egal was. Dazu stehen auch Bücher bereit, von der Schule gekauft, von Lehrern gestiftet, auf Flohmärkten zusammengetragen. Ich habe Aufkleber dazu gemacht, aber die sind zu teuer, als dass man in jedes Buch einen kleben könnte; fast eben so gut ist der Stempel, den wir uns danach haben machen lassen. Ansonsten wird nicht kontrolliert, was mit den Büchern geschieht; es gibt kein Ausleihverfahren.

Erkenntnisse bisher:

  • Eigentlich sollten die Stühle möglichst unkommunikativ stehen. Klappt aber nicht, Kabelbinder hin oder her. Muss man akzeptieren, denke ich.
  • Die Schüler neigen erst einmal dazu, die Leseecke für alles mögliche zu verwenden. Da muss man schon mal einschreiten, wenn man eine Leseecke als solche etablieren will. Sagen wir: daran wird noch gearbeitet. Die Ecke wird inzwischen allerdings tatsächlich auch zum Lesen benutzt.
  • Geklaut werden Bücher nicht. Und wenn, wäre auch nicht das schlimmste. Aber Bücher sind vielleicht nicht mehr attraktiv genug, als dass man sie stehlen wollen würde.
  • Das Konzept, fremde Bücher in ein Regal zu stellen, ist Schülern erst einmal gar nicht vertraut.

Das ist jedenfalls ein schöner Anfang.

Kleine Tierschau Januar 2013

Ausbeute dieses Wochenendes beim Blick aus dem Fenster: Vögel mit Schnee im Schnabel.

tierschau_2013_01

tierschau_2013_02

tierschau_2013_03

Daneben ein Eichhörnchen.

tierschau_2013_04

Kein Foto gibt es leider vom Buntspecht am Meisenknödel. Apropos Meisen: einige stellen sich beidbeinig auf das Futter und drehen sich munter mit ihm herum.

tierschau_2013_05

Andere halten sich mit meinem Bein am Kabel fest und ziehen mit dem anderen das Futter heran.

tierschau_2013_06

Und abends gab es Milchlamm nach spanischem Rezept. Weil ich das mal in Sepulveda so gegessen habe, cordero asado, ausgesprochen lecker. Nur Salz und ein bisschen Schmalz.

Pretentious – moi?

(Bildungscontent entfällt heute leider.)

In jungen Jahren habe ich mich ja im Fandom herumgetrieben (Blogeinträge dazu). Das fing an mit einem Perry-Rhodan- und Science-Fiction-Club, und richtig ernst wurde es dann mit einem Fantasy-Club. Der hatte mehr als dreißig Mitglieder, damals eine respektable Zahl. Wir schrieben uns Briefe, das waren bei mir schon so drei, vier pro Woche, mehrseitige, getippt. Und wir gaben Magazine heraus, kopiert oder – die älteren – im Offsetdruck. Selbstgeschrieben und gezeichnet, gesetzt mit der Schreibmaschine oder an grünschwarzblinkenden Computern.

Kurz nach meinem 15. Geburtstag war ich auf meinem ersten Con, einem Star-Wars-Con, obwohl ich eher Perry-Rhodan-Fan war und Star Wars nur am Rande mitnahm. Es war mein Zwillingsbruder, der an Star Wars interessiert war, aber gar nicht an Fandom und Briefen und Cons. Der Con: das waren fünfzig oder sechzig Leute, drei oder vier Tage in geschlossenen Räumen. Es gab Trockeneis für – alkoholfreie – Drinks, Blues Brothers und Blade Runner auf VHS im Fernsehzimmer, beides höchst illegal. Und Fantasy-Rollenspiele im Keller. Im Prinzip war das eine tolle Fortbildungsveranstaltung für einen Fünfzehnjährigen. Ein paar Tage gemeinsam ausgesuchte Videofilme ansehen und darüber reden, gemeinsam spielen, fachsimpeln, diskutieren. So wie Zeltlager, nur mit nicht so viel Tageslicht. (Die Fenster waren zugeklebt.)

Anscheinend habe ich für eines der Magazine damals auch einen Beitrag über den Con geschrieben. Auf den bin ich neulich im Web gestoßen worden. Schlimm. Ich war fünfzehn und muss manchmal anstrengend gewesen sein. Trotzdem, hier ist der Conbericht. (Habe ich damals tatsächlich “die” Con geschrieben? Das ist so ähnlich wie “der” Blog zu sagen; das kam erst ein paar Jahre später auf. Ich vermute redaktionelle Nachbearbeitung. Das Heft mit meinem Artikel habe ich noch, aber zu gut verstaut, als dass ich nachschauen könnte.)

Göggingen, Jugendzentrum
Beginn: 29.10.1982
Ende: 01.11.1982

Ich bin voreingenommen, wirklich. Mir hat es nämlich gefallen. Ich habe denen gesagt, ich kann nicht, weil ich voreingenommen bin. Ich habe gesagt, die sollen den Conbericht jemanden schreiben lassen, dem es nicht gefallen hat. So wie den Münchnern. Aber nein, ich mußte es machen. Warum? Zeitmangel der anderen. Eigentlich sollte auf diese Doppelseite ein Bericht über den Revenge of the Jedi Trailer. Der von Dirk Eickhoff sein sollte. Ob der nicht wollte, oder nicht durfte, weiß ich nicht.
Der Con. Erst mal ganz allgemein: Meiner Schätzung nach haben in 13 % richtig voll genossen. 37 % fanden ihn mittelmäßig, und der Rest .… na ja.
Am Freitag fing alles an. Gleich nach der Schule war ich mit diversen Freunden losgefahren und erreichte den Ort des Geschehens zu einem der vielen Zeitpunkte, wo keiner da war. Nachdem wir uns umgesehen hatten, kamen so nach und nach die nächsten Gäste. Denen wir beim Gepäcktragen halfen, versteht sich.
Der Nachmittag verging eigentlich nur mit Bestaunen über die reichlichen Ravioli Vorräte und des ersten herumschnüffelns, ob man nicht hier oder dort irgendwas – oder irgendwen – interessantes findet. Das Essen kann man mit dem Essen in einem Skilager vergleichen – mäßig also. Ich mag Skilager. Nun, die Getränke hatten den Nachteil, daß man sie bezahlen mußte. Natürlich fehlte das Kleingeld. Ein Getränk war zum Beispiel der Cantina-Flip (der später in Cantina-Flop umbenannt wurde), der aus Waldmeister, Cola, Apfel- und Orangensaft bestand. Manchmal gab es ihn auch mit Trockeneis: über ‑30 Grad Celsius wird es gasförmig und dampft und brodelt wie in einer Disco – das war wohl der Knalleffekt der Con. Zu jener Zeit liefen die ersten Filme im Videoraum, und von da an lief der Apparat heiß. Das Programm ging von Star Wars, The Empire Strikes Back, Galaxina, Flesh Gordon, Exterminator, Rollerball, Sador, Conan, Blade Runner, Blues Brothers – ach, ich weiß gar nicht mehr alle. Die Conbesucher verteilten sich an einigen Stellen, die sie besonders interessant fanden.
Und da liegt auch der Hund bei der Con begraben: nicht alle Leute fanden solche Orte. Das waren eben jene 87 %, im Gegensatz zu mir. Andere amüsierten sich nicht auf der Con. Man muß eben, wie man so schön sagt, das Beste aus etwas machen. Das können nicht alle. Doch um wieder zum Thema zurückzukommen: es gab bald keine geregelten Zeiten mehr. Vor allem zu der Zeit, die ander Leute damals Nacht genannt hätten. Manche schliefen um 10 Uhr ein, um Stunden später Videos anzusehen. Nachts war ja wahrscheinlich am meisten los. Aber es war ja praktisch immer Nacht, denn sämtliche Fenster waren verklebt mit Alufolie. Ich hatte meist keine Ahnung, welche Uhrzeit wir hatten, weil ich meine Uhr nicht dabei hatte. Aber trotzdem versäumte ich oft das Beste. Ich schlief immer so schnell ein. Und eine Nacht verbrachte ich im eigenen Bett – zuhause. Meine Eltern! Na ja. Der Kampf um den Schlafplatz und vor allem um die spärlichen Kissen war groß. Er lässt sich eigentlich nur mit meinem allmorgendlichen Gerangel um einen Sitzplatz in der Straßenbahn vergleichen. Unter dem Kapitel “Nahrung” wurde uns noch mehr Ravioli mit Reis und Erbsen vorgesetzt. Dank den Köchinnen. Und Nudelsalat. Der befand sich in einem mit Alufolie ausgelegten Wäschekorb. Es war entsprechend viel. Jeden Morgen verdrückte ich ein paar Semmeln, die ich jedenfalls dort im Überfluss vorfand. Alle Tage vergingen eigentlich mehr oder weniger gleich – gleich gut für mich. Es war dort, immer wenn ich wach war, einiges los. Die Schwerpunkte der Leute, die sich amüsierten, waren wohl die Bar mit diversen Barkeepern, die, sofern sie mal da waren, dem Klischee eines echten Barkeepers voll entsprachen. An der Bar trafen sich die Leute, die Quatsch machten. Und die lustig waren. Dann gab es den Materialraum. Wie ich aus dem Conbericht des EMPIRE MUNICH entnahm, hat auf der Con eine anscheinend furchtbar langweilige Diashow stattgefunden. Ich weiß es nicht. Ich war nicht. Ich war nicht dabei. Ich habe mich nämlich unterhalten. Im Materialraum war das Treffen der “Wissenschaftler” und “Politiker”. Wir spielten dort mit zwei Followern (jedem Fantasy Fan ein Begriff) ein Fantasy Spiel, daß aber bald nur in Erzählungen der geübten Spieler ausartete. Es war köstlich, lehrreich und interessant. Dann kam noch in Physikstudent dazu. Wußtet ihr schon, daß, wenn man alle Chinesen der Welt (wir nehmen die, weil wir eine große Anzahl brauchen) mit Lichtgeschwindigkeit durch eine Wand jagt, wahrscheinlich einer dabei ist, der auf der anderen Seite wieder heil herauskommt? Ohne kaputte Wand? Physikalisch sehr gut möglich. Oder daß rotes Licht ein anderes Gewicht hat, als z.B. blaues Licht? Ich hatte es bis vor der Con auch nicht gewußt. Ganz allgemein lässt sich die Con mit dem Film “Der Partyschreck” mit Peter Sellers vergleichen. Totales Chaos, große Unorganisiertheit, wenig Neues, aber für jeden, der etwas daraus gemacht hat, der etwas daraus machen konnte (das war potentiell jeder) ein wundervolles Ereignis. Bis vielleicht auf Dirk. Er mußte sich einige ätzende Bemerkungen anhören.
Noch etwas zum Conbericht der Münchner. Er war wie die Con. Ich habe mich königlich amüsiert. Es gab weder Klingelknöpfe, noch große Stimmungsmache der Münchner. Da läßt sich nur das Wort von Anastasius Grün (1806–1876) gebrauchen: “Manch Urteil ist ja längst beschlossen, eh des Beklagten Wort” – Con – “geflossen.”
Thomas Rau

(Fundort)

Was in dem Conbericht “der Münchner” drin stand, weiß ich nicht mehr. Ich glaube, die Münchner waren ein konkurrierender Verein.

con_1982

A portrait of the artist as a young man. Das Sweatshirt mit dem Con-Aufdruck habe ich heute noch. Danach gab es dann jedes Jahr einen Con, später zwei oder drei, bis ich mich dann mit dreiundzwanzig, vierundzwanzig aus der Szene verabschiedete.

Ein Taschenrechner mit Java in der 10. Klasse (2) – Sequenzdiagramme

(Fortsetzung von gestern.)

Wie Objekte genau zusammenarbeiten und miteinander kommunizieren, zeigt man beim objektorientierten Programmieren mit Sequenzdiagrammen. So stellt man zum Beispiel dar, wie GUI, Steuerung und Calculator miteinander arbeiten, wenn der Benutzer auf die Taste mit der 1 klickt. Das GUI weist seine Steuerung an, eine “1” zu empfangen, und die Steuerung wiederum sagt dem GUI, dass es “1” ausgeben soll:

taschenrechner_seq_1

Wenn danach der Benutzer auf die Taste 2 klickt, passiert ein bisschen etwas anderes, weil die Steuerung sich gemerkt hat, dass der Benutzer gerade dabei ist. Das GUI weist seine Steuerung an, eine “2” zu empfangen, und die Steuerung wiederum sagt dem GUI, dass es “12” ausgeben soll:

taschenrechner_seq_2

Und so ähnlich, wenn danach die Tasten *, 3, 1 und = gedrückt werden. Insgesamt tippt der Benutzer also 12 * 31 ein und will dann mit = wissen, was das Ergebnis ist. Jetzt ist auch der verbundene Rechner an den Vorgängen beteiligt:

taschenrechner_seq_3

Der gesamte Vorgang (“1 2 * 3 1 =”) sieht so aus, diesmal nicht animiert. Denn normalerweise sind Sequenzdiagramme ja statisch:

taschenrechner_seq

Erstellt habe ich die Diagramme – von der Animation und der Farbe abgesehen, die sind nachbearbeitet – mit der Webseite www.websequencediagrams.com. Dort kann man ganz ohne Anmeldung mit speziellem, sehr einfachem Code solche Sequenzdiagramme erstellen und speichern und verlinken. Der Code sieht so aus:

benutzer -> +gui: tasteEinsDruecken()
gui -> +steuerung: empfangen("1")
steuerung -> +gui: ausgeben("1")
gui --> -steuerung: 
steuerung --> -gui: 
gui-->-benutzer:

Der Code ist so einfach, dass auch Schüler damit arbeiten und Grafiken exportieren können.

Man kann den Code auch unmittelbar in Wordpress eintippen und mit einer verlinkten Javascript-Datei auf der Webseite wird daraus die Grafik gezaubert, wobei man noch unter verschiedenen Designs auswählen kann:


title Mein kleiner Taschenrechner

benutzer -> +gui: tasteEinsDruecken()
gui -> +steuerung: empfangen("1")
steuerung -> +gui: ausgeben("1")
gui --> -steuerung: 
steuerung --> -gui: 
gui-->-benutzer:

benutzer -> +gui: tasteZweiDruecken()
gui -> +steuerung: empfangen("2")
steuerung -> +gui: ausgeben("12")
gui --> -steuerung: 
steuerung --> -gui: 
gui-->-benutzer: 

benutzer -> +gui: tasteMalDruecken()
gui -> +steuerung: empfangen("*")
steuerung -> +gui: ausgeben("*")
gui --> -steuerung: 
steuerung --> -gui: 
gui-->-benutzer: 

benutzer -> +gui: tasteDreiDruecken()
gui -> +steuerung: empfangen("3")
steuerung -> +gui: ausgeben("3")
gui --> -steuerung: 
steuerung --> -gui: 
gui-->-benutzer: 

benutzer -> +gui: tasteEinsDruecken()
gui -> +steuerung: empfangen("1")
steuerung -> +gui: ausgeben("31")
gui --> -steuerung: 
steuerung --> -gui: 
gui-->-benutzer: 


benutzer -> +gui: tasteGleichDruecken()
gui -> +steuerung: empfangen("=")
steuerung ->+calculator: multiplizieren(12,31)
calculator -> -steuerung: 372
steuerung -> +gui: ausgeben("372")
gui --> -steuerung: 
steuerung --> -gui: 
gui-->-benutzer: 

Ein Taschenrechner mit Java in der 10. Klasse (1)

Mit meiner 10. Klasse habe ich im ersten Halbjahr einen Taschenrechner programmiert, ziemlich bald, als Einstieg in die Algorithmik, die ich dafür dieses Jahr vorgezogen habe. Als BlueJ-Projekt sieht der Rechner so aus:

taschenrechner_bluej_rot

Objektorientiert programmieren heißt, dass man die Programmieraufgabe auf verschiedene, relativ unabhängige Einheiten verteilt. Der Bauplan für diese Einheiten heißt “Klasse”, und eben diese programmiert man.


1. Die Klasse GUI

Die Klasse GUI kann ein guter Schüler machen. Sie übernimmt das, was vom Programm äußerlich sichtbar ist. (GUI steht für Graphical User Interface.) Das ist quasi das Plastik-und-Alu-Gehäuse des Rechners. Den hat ein freiwilliger Schüler schon gleich am Anfang programmiert, und zwar mit dem Java-Editor. Dieses Programm von Gerhard Röhner ist eigens für Schulen und Schüler entwickelt, um leichter diese grafischen Benutzeroberflächen zu erstellen, die in Java, ehrlich gesagt, recht umständlich sind.

Die Klasse GUI braucht einen Bereich, in dem man die Ergebnisse anzeigen lassen kann (im Java-Editor-JFrame-Projekt: JLabel oder JTextField), und viele Knöpfe mit unterschiedlichen Beschriftungen (JButton). Nach diesen Angaben hat ein Schüler folgendes Taschenrechner-GUI angelegt, nachdem wir vorher noch ausgemacht hatten, welche Knöpfe es geben soll:

taschenrechner_gui_ansicht_leer

Ich hätte die Knöpfe anders platziert und benannt, aber hey, es ist nicht mein Taschenrechner. Und hier ist auch ein Vorteil des objektorientierten Programmierens: Wem dieses GUI nicht gefällt, der kann es einfach durch ein anderes, eigenes ersetzen, ohne dass die anderen am Programm beteiligten Klassen geändert werden müssen.

Noch passiert allerdings nichts, wenn man auf die Knöpfe drückt. Viel soll auch gar nicht passieren: für das Innenleben des Taschenrechners sind wieder andere Klassen zuständig. Der Taschenrechner muss nur Bescheid geben, welche Taste gedrückt ist, und zwar einem Objekt der Klasse Steuerung. Damit das geht, muss man die mit dem Java-Editor erstellte GUI-Klasse etwas ergänzen:

1. Ein GUI-Objekt muss ein Steuerung-Objekt kennen, dem es die Benachrichtigung schicken soll (Referenzattribut auf ein Objekt der Klasse Steuerung); das geht in einer Zeile:

Steuerung steuerung;

2. Wenn eine Taste gedrückt wird, muss an die Steuerung eine Nachricht gesendet werden. Die Vorarbeit dazu erledigt der Java-Editor, man muss nur – nach dem TODO-Kommentar – eine einzige Zeile in jeder Knopfgedrückt-Methode ergänzen (es gibt für jeden Knopf eine solche Methode):

private void jButton1_ActionPerformed(ActionEvent evt) {
  // TODO hier Quelltext einfügen
  senden ("1");
} // end of jButton1_ActionPerformed

Der Einfachheit halber benutzen alle diese Knopfdruckmethoden die ebenfalls zu ergänzende Sendemethode der Klasse GUI:

void senden(String s) {
  steuerung.empfangen(s);
}

Das war es fast. Damit das GUI auch Text ausgeben kann, muss man nur diese Methode ergänzen:

void ausgeben(String s) {
  ausgabefeld.setText(s);
}

Und damit ist die Klasse GUI fertig. Wenn eine Taste gedrückt wird, wird eine Nachricht an die verbundene Steuerung geschickt, und wenn man das GUI-Objekt anweist, Text auszugeben, dann macht es das. Mehr erwartet man von einer Taschenrechnerhülle nicht.


2. Die Klasse Steuerung

Diese Klasse sollte man den Schülern fertig vorgeben. Sie macht eigentlich gar nicht so viel, ist aber umständlicher zu programmieren, als man meint. Sie macht zwei Dinge: Erstens nimmt sie in Empfang, welche Nachrichten, also Tastendrucke, vom GUI gesendet werden. Und gleich darauf sagt sie der Steuerung, was diese anzeigen soll. Wenn am Anfang die Taste 1 gedrückt wird, soll das GUI “1” anzeigen. Wenn danach die Taste 2 gedrückt wird, soll das GUI “12” anzeigen. Wenn dann die Mal-Taste gedrückt wird, soll das GUI “*” anzeigen. (Die bisher eingegebene Zahl 12 muss sich die Steuerung aber merken.) Und so weiter, bis es nach dem Eingeben der zweiten Zahl ans eigentliche Rechnen geht. Dieses Rechnen übernimmt dann wieder eine dritte Klasse, nämlich die Klasse Calculator.

Die Klasse Steuerung kann man sicher sauberer programmieren, als ich das getan habe. Sie muss sich im Prinzip zwei Zahlen merken können, eine erste und eine zweite. Dazu muss sie wissen, ob sie jetzt schon rechnen soll oder erst auf die Eingabe einer zweiten Zahl warten muss. Manchmal muss sie auch schon nach der Eingabe einer einzigen Zahl rechnen, nämlich bei allen Operationen mit nur einem Operanden – Quadratwurzel, Fakultät, Betrag und so weiter.

Ein Grund dafür, dass die Steuerung so arbeitet, ist folgender: Die Rechenarbeit soll ganz von der Klasse Calculator übernommen werden. Denn da schlägt die Stunde der Schüler.


3. Die Klasse Calculator und Unterklassen dazu

Die Klasse Calculator – beziehungsweise eine eigene Unterklasse dazu – ist die Klasse, mit der Schüler fast ausschließlich arbeiten. Sie enthält alle Rechenmethoden, die der Taschenrechner beherrscht. Über die muss man sich natürlich vorher verständigen, schon mal, damit es genügend Knöpfe dafür gibt. Da wären die Grundrechenarten, aber auch Wurzel, Potenzierung, Prozent, Betrag, Kehrwert und was es noch alles gibt. Ich habe auch noch ein paar exotische Sachen ergänzt (Collatz, Fibonacci, Primzahltest, größter gemeinsamer Teiler), auch wenn wir erst später im Schuljahr darauf zurückkommen werden:

taschenrechner_calculator

Im Klassendiagramm sind die Methoden alphabetisch sortiert, den Schülern muss man eine Liste mit einer anderen Reihenfolge vorgeben! Meine Liste war – leider erst am Ende der Sequenz – sortiert nach:

  • Einfach: Grundrechenarten (addieren, subtrahieren, multiplizieren, dividieren)
  • Leicht: negation, kehrwert, hochDrei, quadrat, prozent (wobei wir uns erst mal einigen mussten, was diese Prozenttaste bewirken soll)
  • Mit bedingter Anweisung: betrag
  • Mit while-Schleife: potenz. modulo, fakultaet, summeVonBis

Und so weiter. Die Schüler arbeiteten dann in ihrem eigenen Tempo und in ihrer eigenen Geschwindigkeit an diesen Methoden. Denn darum ging es eigentlich vor allem: Einführung in die Algorithmik und Kontrollstruktoren. Nur: ohne den graphischen Taschenrechnerkrimskrams drumherum macht das den Schülern viel weniger Spaß. Einige kamen nicht sehr weit über die Grundrechenarten hinaus, die meisten kamen bis Fakultät/Potenz, andere schlugen bei Wikipedia nach und fanden Lösungen für Wurzel und Sinus/Cosinus heraus. Die hatte ich nur aufgenommen, weil der GUI-Programmierer die vorgegeben hatte. Später im Jahr werde ich dann noch auf einige der exotischeren Methoden zurückkommen.

(Zur Klasse Taschenrechner: Die Klasse Calculator enthält zwar alle Methoden, aber sie funktionieren noch nicht richtig. Standardmäßig kommt dabei immer 99 heraus. Aufgabe der Schüler ist es, eine Unterklasse zu Calculator zu programmieren und die Methoden der Oberklasse durch ihre eigenen, verbesserten Methoden zu überschreiben. Sinnvoller wäre es natürlich gewesen, die Klasse Calculator als Interfache anzulegen. Aber dann müssten die Schüler immer wieder in den Code des Interface, um auszukommentieren, was sie noch nicht verbessert haben. Deshalb habe ich mich für diese eigentlich unelegante Lösung entschieden.)


4. Der Rest

Die Klasse Starter legt je ein Objekt der Klassen GUI, Steuerung und Calculator-Unterklasse an und macht sie miteinander bekannt. Sie enthält außerdem die main-Methode, mit der man den Taschenrechner auch außerhalb von BlueJ als echtes kleines Java-Programm unter Windows, Mac oder Linux laufen lassen kann.


Ziel der Sequenz: Einführung in Algorithmik und Programmierung. Daneben schon mal ein Vorgeschmack auf Vererbung und Referenzattribute. Außerdem sehen die Schüler bereits das objektorientierte Prinzip der Arbeitsteilung in Klassen angewendet. Gute Schüler können sich an ein GUI wagen, alle machen die algorithmisch interessanten Rechenmethoden, und der Verwaltungskram der Steuerung bleibt den Schülern verborgen.

Download des ganzen BlueJ-Projekts mit zwei Arbeitsblättern dazu.

(Fortsetzung morgen.)

Erste Tage 2013

Es ist gerade etwas knapp hier mit der Zeit. Ich komme kaum mehr zum Ukuelespielen. Nur ein bisschen in den Weihnachtsferien, da habe ich zusammen mit einem frisch gestimmten befreundeten Klavier Blues gespielt. Er beherrscht sein Instrument ein wenig besser als ich, und Gespür für den Blues haben wir beide nicht besonders viel. Es hat mich berührt, mehr als zwanzig Jahre alte Notizen und Hinweise zum Bluesspielen zu finden, die ich damals für den Klavierspieler angefertigt hatte. Da habe ich ihn noch auf der Mundharmonika begleitet.

Für die nächste Sitzung habe ich schon mal zwei alte Favoriten herausgekramt: “Easy” von Walter Horton und “Juke” von Little Walter. Wir spielen dann einfach ein bisschen Klavier und Ukulele dazu. Hm, gerade gesehen, dass sich da in den letzten zwanzig Jahren doch etwas getan hat: die Noten für die Mundharmonikastücke gibt es jetzt im Web und Tipps zum Lernen auch…

Projekte, die ich gerade gerne angehen würde:

  • Mir beibringen, wie ich etwa von Java aus auf Twitter- oder Wikipedia-Inhalte zugreife. Wäre doch auch mal etwas für Schüler. Darauf gebracht hat mich dieser Erfahrungsbericht eines Journalisten, der sich vorgenommen hatte, programmieren zu lernen. (Kurzfassung: Es hat geklappt und ihm etwas gebracht.) Via Herzdamengeschichten.
  • Mein Taschenrechner-Projekt per Video vorstellen.
  • Endlich eine Processing-Sequenz mit Schülern machen
  • Eine LAN-Party in der Schule von Schülern organisieren lassen, für Eltern und Lehrer zum Zuschauen. Ich muss nur noch ein, uh, alterskompatibles Spiel finden.
  • Mir überlegen, was man mit der Facebookseite zur eigenen Schule machen sollte.

Lesetipp für Lehrer: Halbtagsblog zu Schneeballschlachten zwischen Schülern und Lehrern, anlässlich eines aktuellen Urteils dazu.

Gemeinfrei 2013

Eine kurze, aber deprimierende Liste:

  • Stefan Zweig (Selbstmord im Exil)
  • Robert Musil (Tod im Exil)
  • Jakob van Hoddis (ermordet von den Nazis)
  • Franz Blei (Tod im Exil)
  • Irène Némirovsky (im Vernichtungslager gestorben)
  • Carl Sternheim (Tod im Exil)