probestudium2016

Probestudium Informatik, 2016

Vor die Osterferien hat der Herrgott das Probestudium gesetzt. Jedenfalls für mich, einige Kollegen, und einen Haufen Schüler. Zum sechsten Mal inzwischen, und zum letzten Mal mit mir, können Schülerinnen und Schüler in ein Studium der Informatik an der LMU hineinschnuppern. Es gibt drei Vorlesungen und jeweils einen mehrtägigen Workshop, insgesamt dauert das vier Tage. Vorlesungen gibt’s zu Bioinformatik, Mustererkennung im Genom: Warum ein einfacher Baum manchmal nicht ausreicht, sondern immer ausgefeiltere Datenstrukturen her müssen, um Information so zu repräsentieren, dass sie schnell bearbeitet werden kann. Anders als in der theroetischen Informatik geht es meist um lineare, manchmal quadratische Laufzeit, […]

Informatiklehrertag Bayern 2016, Erlangen (und Sonstiges)

Ich habe mir wieder Anregungen geholt bei einer Fortbildung. Kaffee gab es schon vor dem Eröffnungsvotrag, eine ganz wichtige Sache, finde ich. Nach dem Vortrag war dann eine kurze Schlange sowohl beim Kaffee als auch bei den Toiletten. Jedenfalls bei den Herren – Informatikveranstaltungen dürften einige der wenigen Gelegenheiten sein, bei denen man tatsächlich bei den Damentoiletten weniger lang warten muss als bei den Herren. Michael Koelling ist der Kopf hinter BlueJ und Greenfoot, zwei sehr verbreiteten und miteinander verwandten Java-Entwicklungsumgebungen für Anfänger, die in Bayern am Gymnasium äußerst verbreitet sind. Er stellte im Eröffnungsvortrag ein tolles neues Feature von […]

sunless_sea_zustaende

Modulares Geschichtenerzählen in Java, Fortsetzung

(Fortsetzung von hier, wo ich Sunless Sea beschrieben habe. In der ersten Hälfte geht’s ums Prinzip, in der zweiten wird es dann immer technischer.) Das modulare Prinzip, nach dem in eine bestehende Spielwelt kleine Missionen oder Geschichten eingebaut werden, würde ich gerne für ein Programmierprojekt in der Schule nutzen. Dazu erschafft man gemeinsam eine Fantasy-Welt oder nimmt eine von mir vorgegebene. Die Welt besteht aus vielen Orten, zwischen denen man reisen kann, modelliert als Graph. Jeder Ort hat einen Namen und eine schön geschriebene Beschreibung, jede Verbindung eine Distanz, später können dann gerne noch andere Attribute dazu kommen. Außerdem sollen […]

sunless_sea

Was ich gerade spiele und warum: Sunless Sea

Kurzfassung: Ich spiele gerade viel Sunless Sea, und wenn ich überhaupt spiele, was nicht mehr so oft vorkommt, dann meist mit dem Hintergedanken, wie ich das Spiel für die Schule ausschlachten kann. Und bei diesem Spiel hatte ich eine schöne Idee. Vorab: Auf dieses Spiel bin ich gekommen, weil ich zwei sehr empfehlenswerte Feeds abonniert habe. Das ist einmal http://planet-if.com/, ein Aggregator verschiedener Blogs, die sich mit Interactive Fiction beschäftigen. Da geht es um textbasierte Spiele jeglicher Art: Textadventures, historische und neue, browserbasierte Anklickspiele, aber auch reine Erzählspiele ohne Computer – alles, was mit Text zu tun hat. Da sind […]

ThreadObserver_window

Threads III – Erzeuger, Verbraucher und ein neuer Zustand

(Fortsetzung von hier.) Im bisherigen Beispiel ging es um Toilettenbenutzer, die auf eine leere Toilette warten, sie dann auf jeden Fall benutzen können und auf jeden Fall wieder herausgehen, so dass die Toilette dann für den nächsten Besuch wieder frei ist. Wir hatten quasi Erzeuger, die den kritischen Bereich betreten, wo auf jeden Fall Platz zum, äh, Erzeugen ist, und dann gehen sie wieder. Das erzeugte Produkt bleibt nicht etwa in der Toilette, sondern verschwindet im Orkus. Dafür reichen unsere bisherigen synchronisierten Methoden. Erzeuger und Verbraucher Wir erweiterten jetzt unsere Aufgabe zu etwas, das allgemein Erzeuger-Verbraucher-Problem heißt. Dazu stellen wir […]

Threads_3

Threads II – Java und ein wenig Nebenläufigkeit

(Fortsetzung von hier.) Stehengeblieben waren wir bei einer Klasse Toilettenbenutzer (eine Unterklasse von Thread), deren Objekte in einer Schleife immer und immer wieder auf die Toilette gehen. Und weil es Threads sind, können die das alle gleichzeitig und unabhängig von einander. Schwierig wird es nur, wenn alle dieselbe Toilette benutzen sollen, und das möglichst nicht gleichzeitig, sondern nacheinander… Nebenläufigkeit: Die Notwendigkeit für Synchronisation Wenn alle nur eine Toilette benutzen sollen, dann brauchen wir erst einmal eine solche Toilette: public class Toilette { public void benutzen(Toilettenbenutzer t) { System.out.println(t.getName()+" betritt Toilette."); System.out.println(t.getName()+" benutzt Toilette."); System.out.println(t.getName()+" spuelt."); System.out.println(t.getName()+" waescht Haende."); System.out.println(t.getName()+" verlaesst […]

Threads_1

Threads I – Allgemeines und erstes Java

Paralleles Arbeiten und die Gründe dafür Früher, als ich angefangen habe, war das noch einfach: Da hatte ein Computer einen Prozessor: So heißt das Ding, das das eigentliche Rechenarbeiten übernimmt, irgendwo tief drinnen im Computer. Un ein Prozessor heißt, dass eine Rechen- oder sonstige Aufgabe gleichzeitig bearbeitet werden kann. Und doch sah es auch früher so aus, als könnte der Computer zwei Sachen gleichzeitig machen: ein Lied abspielen und gleichzeitig im Textverarbeitungsprogramm die getippten Zeichen einfügen. Vom Laden und Speichern und der Mausbewegung gar nicht zu reden. Das funktioniert so, dass der Prozessor zwischen den verschiedenen Programmen sehr schnell wechselt: […]

packet_attack

TCP (Transmission Control Protocol) im Spiel

Der Computer Science Field Guide der Universität von Canterbury (New Zealand) ist eine schöne Quelle interaktiven Materials für den Informatikunterricht. In der 12. Jahrgangsstufe habe ich das TCP-Protokoll mit einem Spiel eingeführt, das in Kapitel 15 („alles über Netzwerkprotokolle“) gezeigt wird: Packet Attack. Zugegeben, das ist kein Spiel im eigentlichen Sinn, eher ein kleines Rollenspiel mit typischen Spiel-Topoi – man kann etwas abschießen, was vorüberfliegt, und zwar Informationspakete in Form der einzelnen Buchstaben einer Nachricht. Nach und nach wird der Transport immer sicherer gemacht, es gibt Schutzschilde (Prüfsummen), Nummerierung der Pakete (so dass Verzögerungen ausgegelichen und fehlende Pakete erkannt werden), […]

svn_anmelden

Subversion mit BlueJ, die Fortsetzung

Ich habe vor ein paar Jahren schon mal über Subversion mit BlueJ geschrieben, inzwischen habe ich das mit Schülern weiter erprobt und mit Peter Brichzin einen Workshop dazu auf der INFOS15 gehalten. Subversion: So heißt ein verbreitetetes System, mit dem verschiedene Autoren gleichzeitig an einem aus vielen Dateien bestehenden Progammierprojekt arbeiten können, so dass jeder jeweils die aktuelle Fassung der anderen Teammitglieder zur Verfügung hat. Für den Workshop habe ich eine kleine Broschüre gemacht (ich mag Broschüren), hier ist deren Inhalt, falls mal jemand danach sucht. Teil 1 – Auschecken Teamarbeits-Menü einschalten Bevor man den in BlueJ integrierten SVN-Client benutzen […]

Bilingualer Sachfachunterricht Informatik

Bis Weihnachten unterrichte ich das Fach Informatik in meiner aktuellen 10. Klasse auf Englisch. Das Konzept dahinter heißt „Bilingualer Sachfachunterricht“ und klingt nur ein bisschen nach Lachundsachgeschichten, wird aber tatsächlich vom bayerischen Kultusmi­nisterium wie auch von der Kultusministerkonferenz gefördert. Vom ISB (dem pädagogischen Arm – oder Fuß, oder welcher Körperteil auch immer, da gibt es verschiedene Ansichten – des Kultusministeriums) gibt es eine eigene Webseite dazu: http://www.bayern-bilingual.de/, und hier gibt es 140 Seiten von der KMK (pdf). Auf Englisch heißt das „Content and language integrated learning“ (CLIL), keine geringere Mundvoll. Der Gedanke dahinter: Die Inhalte des Sachfachs stehen im Vordergrund, […]