Lehrzeit

Schule & Informatik

Das Schuljahr läuft

Nach fast zwei Wochen Schule kehrt langsam Routine ein. Zwei Wochen Netzwerk-Installation, Computer aufbauen, Benutzer übertragen bzw. neu anlegen, Accesspoints installieren, Computer umräumen, den gesamten Müll irgendwie entsorgen. Alles hat im Großen und Ganzen geklappt. Noch geht manches nicht, aber nach teilweise 4-Stunden-Gesprächen mit dem Support („So ein Problem hatten wir noch nie“ – warum passiert MIR das eigentlich immer?) befinde ich mich gefühlt auf der Zielgeraden.

Mit den Klassen bin ich zufrieden. Nur das stark unterschiedliche Niveau in der elften Klasse macht mir mal wieder Kopf zerbrechen. Manche scheitern bei der Definition eines einfachen Integer-Attributs, die nächsten bei der Programmierung einer for-Wiederholung, die ein Feld unbekannter Länge durchlaufen soll. Während dessen haben sich zwei Schüler bereits zurückgezogen und programmieren in einer mitgebrachten Eclipse-Umgebung das gesamte Projekt inklusive GUI – von Hand! So viel Zeit und Nerven hat man wohl nur in jungen Jahren.

Aber auch die alte Diskussion „Warum benutzen wir nicht den fertigen Datentyp ArrayList, sondern programmieren das von Hand. Das ist doch Käse.“ brandete auf. Vielleicht trenne ich dieses Jahr und führe das Kompositum-Muster nicht anhand einer einfach verketteten Liste ein, sondern betone den Teil-Ganzes-Ansatz im Sinne von Gruppierungen. Stack und Array kann ich ja dann wirklich „sinnvoller“ mit ArrayLists umsetzen.

In der zwölften Klasse steht bereits nach den Allerheiligenferien die Klausur an, so dass ich wohl im wesentlichen auf Lehrervortrag setzen muss, um so genügend Stoff zu haben. Ein Schüler quittierte das neue, höhere Tempo mit den Worten: „So könnte es eigentlich immer laufen.“

In meiner neuen Rolle in der Erweiterten Schulleitung mit dem Themenschwerpunkt „Neue Lern- und Unterrichtstechniken“ ist noch nichts passiert. Zum Glück kommen erstmal zwei Tage Klausurtagung – vielleicht klärt sich da einiges. Ein paar Ideen hätte ich aber schon:

  • Die Umstellung auf das Lehrerraumprinzip, d.h. die Lehrer bekommen ein festes Klassenzimmer zugeordnet und die Schüler wandern.
  • Ein paar Ideen von Martin Kramer würde ich gerne bekannt machen und weitergeben.
  • Einen Handytag einführen – die Idee habe ich irgendwo gelesen und finde das Konzept interessant
  • Mehr fächerbergreifend an sinnvollen Projekten arbeiten, wäre auch was.

Mich interessiert aber natürlich auch, welches unentdeckte Potential in meinen Kollegen schlummert. Welche Erfahrungen sie in den letzten Jahren gemacht haben und was man davon weitergeben kann.

Viel Neues wird also passieren, ich werde weiter berichten.

Kitty Lux ist tot

Wie ich gerade bei ukulelehunt.com gelesen habe, ist eines der Gründungsmitglieder des Ukulele Orchestra of Great Britain, Kitty Lux, gestorben.  Einmal durfte ich das Orchester live erleben und ich war froh und glücklich Kitty einmal live erleben zu können. Sie war immer mein Lieblingsmitglied des Orchesters. Ihr Humor, ihre Art zu performen – einfach großartig! Ich hoffe, dass es im Himmel, oder wo immer sie auch sein mag, nicht nur Harfen sondern auch Ukulelen für sie zu spielen gibt.

Da werde ich wohl heute Nachmittag noch ein bisschen Ukulele spielen müssen, sozusagen als „Tribute to Kitty“.

Mein Lieblingsauftritt ist im Übrigen dieser hier:

Ganz besonders mit dieser Händel-Interpretation (geht jemand das Stück zufällig?), da hatte auch Kitty wieder tolle Passagen.

 

Aufgabengenerator Java

Vor kurzem hat Herr Rau auf seinem Blog einen Aufgabegenerator zum Erzeugen von Klassenkarten und zugehörigen Testklassen zum Download angeboten. Das habe ich nun getan und wollte hierzu kurz wie versprochen mein Feedback schreiben.

Zunächst mal muss ich sagen, dass ich Aufgabengeneratoren klasse finde. Ich selbst habe früher einige auf JavaScript-Basis für meinen Mathe-Unterricht geschrieben. Immer angeregt durch die Seite von Arndt Brünner. Manchmal bin ich aber auch an meinen Erwartungen gescheitert. So habe ich für geometrische Konstruktionen mal einen Parser schreiben wollen, hatte aber zum damaligen Zeitpunkt noch keine Ahnung wie man so etwas macht. Habe ich auch immer noch nicht zu 100%, deswegen kann man nur den Ansatz anschauen. Irgendwann sollte ich das noch mal neu ansetzen. Genauso wie den Aufgaben-Generator zum Üben der Potenzgesetze. Noch weniger fertig und mit noch höheren Ambitionen angefangen (Zwei Potenzen anklicken und das zugehörige Gesetz auswählen mit dem vereinfacht werden soll). Beides habe ich im Übrigen vor knapp 15 Jahren angefangen zu schreiben. Wahnsinn, wozu ich früher noch Zeit hatte.

Zurück zu m Java-Generator von Herrn Rau. Ich finde den Aufgaben-Generator prima. Die Oberfläche entspricht nicht ganz meinem Stil, aber die Auswahl-Möglichkeiten sind gut. Man kann die Anzahl der Attribute bestimmen, ob 2 Konstruktoren umgesetzt werden sollen, ob es Startwerte für die Attribute geben soll, ob diese private sein sollen und ob es Methoden geben soll. Den letztere Punkt finde ich zu „übertrieben“, da es sich nur um die Standard get/set-Methoden der Attribute handelt. Herauskommen tut dann so etwas:

|--------------------
| Mensch
|--------------------
| bunt: boolean
| haeufigkeit: double
| typ: char
| postleitzahl: int
|--------------------
| Mensch()
| Mensch(boolean, double, char, int)
| getBunt(): boolean
| getHaeufigkeit(): double
| getTyp(): char
| getPostleitzahl(): int
| setBunt(boolean): void
| setHaeufigkeit(double): void
| setTyp(char): void
| setPostleitzahl(int): void
|--------------------
Der Wert des Attributs 'bunt' soll am Anfang sein: true
Der Wert des Attributs 'haeufigkeit' soll am Anfang sein: -2.447199215281726
Der Wert des Attributs 'typ' soll am Anfang sein: 'S'
Der Wert des Attributs 'postleitzahl' soll am Anfang sein: 61

Schön ist hierbei, dass die Beschreibung in UML erfolgt, also der Datentyp bzw. Rückgabewert mit Doppelpunkt angehängt wird. Das finde ich in den Schulbüchern ein Unding. Dafür fehlt mir jetzt das – bzw. + für private und public. Das das Rechteck nicht geschlossen ist, kann ich zwar nachvollziehen, hätte man aber vielleicht korrigieren können.  So sieht es irgendwie halb fertig aus. Den Startwert für den double-Wert finde ich ein wenig übertrieben. Da hätte so etwas wie „Zufallswert(0,100) . Zufallswert(0,100)“ es auch getan. Und für die Postleitzahl sollte es dann auch fünfstellig sein.

Als Methode würde ich immer auch noch eine toString()-Methode ergänzen… die kann man später immer mal gebrauchen.

Das aber absolut beste an dem Generator ist, dass er parallel eine Testklasse erzeugt. Im Gegensatz zu einer Musterlösung, die im Zweifelsfall nur irgendwie kopiert wird, lässt sich so herausfinden, ob man alle gewünschten Anforderungen erfüllt hat. Das finde ich wirklich großartig.

Hier ein kleiner Auszug:

import static org.junit.Assert.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

public class MenschTest {
    Mensch testObject;
    public MenschTest() {}

    @Before
    public void setUp() {
        testObject = new Mensch();
    }

    @Test
    public void initialisierungVonBunt() {
        assertEquals(testObject.getBunt(), true);
    }

    @Test
    public void initialisierungVonHaeufigkeit() {
        assertEquals(testObject.getHaeufigkeit(), -2.447199215281726, 0.00001);
    }

So wird mit der letzten Methode geprüft, ob der Startwert um maximal 0.00001 vom Wert -2.447199215281726 abweicht. Das macht hier zwar wenig Sinn, aber bei Methoden, die etwas wirklich berechnen sollen, macht die Benutzung einer Delta-Abweichung durchaus Sinn.

Fazit: Ich finde die Arbeit von Herrn Rau großartig und werde sie auch einsetzen. Ich würde mir für Kollegen noch ein paar einfachere Erweiterungsmöglichkeiten wünschen (Andere Klassen, Attribute, Methoden über eine Text-Datei integrieren) und das -/+ für private und public wünschen, aber das wärs auch schon. Danke Thomas für deine Arbeit.

 

« Ältere Beiträge

© 2017 Lehrzeit

Theme von Anders NorénHoch ↑