Lehrzeit

Schule & Informatik

Monat: November 2017

Java Syntax-Diagramm

Ich halte Syntaxdiagramme für die beste Art und Weise die Struktur von Java zu verdeutlichen, weil sie so schön betonen, wie starr Programmiersprachen im Vergleich zu natürlichen Sprachen sind. Ein Methodenkopf hat immer die gleiche Struktur, eine bedingte Verzweigung hat immer die gleiche Struktur, meine so „geliebte“ for-Schleife hat immer die gleiche Struktur. Nur bestimmte Teile müssen an die jeweilige Situation angepasst werden.

Leider habe ich jetzt auf die schnelle kein Syntax-Diagramm gefunden, was zu meinem aktuellen Unterricht passt, daher habe ich mir mit Hilfe meiner eigenen Internetseite und dem weiter unten folgenden EBNF-Code eines erzeugen lassen:

Dieses Syntax-Diagramm deckt jetzt aber nur meinen aktuellen Bereich ab. Wer etwas anderes haben möchte, der passt sich die folgende EBNF-Vorlage an und gibt es auf meiner Seite wieder ein.

Methode = Methodenkopf "{" ( Funktionsrumpf | Prozedurrumpf ) "}".
Funktionsrumpf = Methodenrumpf "return-Statement" .
Prozedurrumpf = Methodenrumpf .

Methodenkopf = Sichtbarkeit Rueckgabewert "Name" "(" Parameterliste ")".
Methodenrumpf = { Anweisung | Kontrollstruktur } .

Parameterliste = [ Datentyp "Parametername" {"," Datentyp "Parametername"} ].
Sichtbarkeit = "public" | "private" | "protected".
Rueckgabewert = "void" | Datentyp.
Datentyp = "int" | "double" | "float" | "boolean" | "String" | "Klassenname".
Anweisung = {"Manipulation von Variablen" | "Methodenaufruf"} .
Kontrollstruktur = "if-Abfrage" | "for-Schleife" | "while-Schleife".

Mir ist zum Beispiel die Unterscheidung zwischen Methodenkopf und -rumpf wichtig, da ich das gerne in Aufgabenstellungen brauche. Auch der Rückgabetyp „void“ ist mir wichtig, da ich inzwischen eine betontere Verknüpfung zwischen dem Funktionalen Programmieren in der 9. JgSt und dem Programmieren in Java mache. Ich mache in der 9. Klasse nämlich bewusst keine Excel-Produktschulung, sondern lege Wert auf „das Verknüpfen von Maschinen“. So ist in meiner aktuellen 10. Klasse am Ende dieses Bild an der Tafel entstanden. (Okay, ich habs nachgezeichnet, weil ich vergessen hatte es zu fotografieren) :

(Fehlerkorrektur: Die letzte Klammer fehlt.)

In der 9. Klasse benutze ich auch möglichst wenig Excel oder Calc oder ähnliches, sondern Orinoco.  Ein Programm, dass ich jedem Lehrer für den Unterricht in der 9. Jahrgangsstufe beim Thema Funktionales Programmieren nur wärmstens ans Herz legen kann. Schade, dass es nicht weiterentwickelt wird oder, das ist immer meine Lieblingsvariante, eine Online-Variante davon gibt.

Programmieraufgabe 95

Wow, es ist tatsächlich 10 Monate her seit ich das letzte Mal eine Programmieraufgabe hier vorstellte. Höchste Zeit das zu ändern. Diesmal natürlich zum Thema Array und for-Schleife. Kann man aber auch wunderbar in der 11. Jahrgangsstufe zum Üben des Kompositummusters nehmen.

Aufgabe

Schreibe, basierend auf der angefügten Vorlage, ein Programm mit den folgenden Eigenschaften:

  1. Durch Klicken auf den Hintergrund wird eine Blase erzeugt.
  2. Kommt man bei gedrückter Maustaste über eine Blase, so wird diese grau eingefärbt.
  3. Lässt man die Maustaste über einer Blase los, so zerplatzt sie.

Anhang: BubbleGameStart

Jetzt noch ein paar Erweiterungen für die guten Schüler:

  • Die Blasen sollen zufällige Farben haben
  • Je länger die Maustaste beim Erzeugen einer neuen Blase gedrückt wird, desto größer wird sie (Variante A: Radius hängt linear von den draw()-Aufrufen habe; Variante B: Die Fläche nimmt linear mit der Anzahl der draw()-Aufruf zu, d.h. die Fläche der Blase ist ein Maß für die Anzahl der Aufrufe)
  • Bewegung der Blasen ändern:
    1. Die Blasen sollen vom Rand abprallen
    2. Die Blasen prallen untereinander ab
    3. Es gibt eine Schwerkraft

#inktober2017

Im vergangenen Monat habe ich zum ersten Mal am #inktober teilgenommen. Der sogenannte Inktober wurde im Jahre 2009 von Jake Parker ins Lebens gerufen als Herausforderung an sich selbst jeden Tag im Monat Oktober eine Zeichnung anzufertigen. Dazu gibt er eine Liste mit Themenvorschlägen vor an die man sich aber nicht zwingend halten muss. Auch an meine eigene Liste habe ich mich nicht gehalten.

Aber ich habe immerhin jeden Tag etwas gezeichnet und für mich herausgefunden, was mir Spaß macht: Personen zeichnen mit vor allem Kugelschreiber. Fineliner geht auch. Es ist das Schraffieren, was Spaß macht.

Um mir selbst einen Überblick zu verschaffen, fasse ich meine Zeichnungen hier mal zusammen (unter den Bildern immer der Text, den ich auf instragram mit dazu schrieb.. auf Englisch… eine zweite Herausforderung).

Noch genügen die Zeichnungen nicht meinen Ansprüchen, aber ich denke es wird im Laufe der Zeit besser. Ich werde weiter im Zug zeichnen und auch ab und zu zu Hause oder in den Ferien. Und in einem Jahr, genauer in 11 Monaten werde ich dann sehen, wie weit ich gekommen bin.

© 2017 Lehrzeit

Theme von Anders NorénHoch ↑