Funktionale Programmierung mit Java

Nachdem ich in den letzten Wochen viel um die Ohren hatte und abschließend auch noch Mittelohrentzündung  – gemerkt ? – hatte, kann ich mich mal wieder etwas mehr unterrichtlichen Neuorientierungen widmen. In diesem Fall wäre das die Informatik in der 9. Klasse.

In Bayern wird in der neunten Jahrgangsstufe im ersten Halbjahr i.a. Funktionale Programmierung mit Hilfe von Excel oder Calc unterrichtet. Im zweiten Halbjahr folgt dann der Themenkomplex Datenbanken.

Die Funktionale Programmierung in Excel findet ich dabei wirklich verwirrend. Wie bitte schön, solch ich Funktionale Programmierung in Excel unterrichten ohne das es eine reine Anwenderschulung von Excel wird? Ich weiß es nicht. Bislang habe ich eine erweiterte Anwenderschulung gemacht, habe schrittweise immer komplexere Funktionen erklärt und eingeführt und diese dann mit Hilfe von Datenflussdiagrammen umsetzen lassen.

In der Praxis sieht das dann beispielsweise so aus:

Meine Schüler benötigen dabei 40 Minuten für das Zeichnen des Datenflusses und maximal 5 Minuten um den Inhalt zu verstehen. Das steht, finde ich, in keinem Verhältnis. Vor allem dann nicht, wenn man merkt, das in der zehnten Jahrgangstufe eigentlich viel zu wenig Zeit für das Programmieren in Java zur Verfügung steht. Dort bräuchte ich viel mehr Zeit. Der Gedanke liegt also nah, beide Themen miteinander zu verbinden.

Ich lasse die Schüler die Flussdiagramme mit der Hand zeichnen, oder kennt jemand eine gute Internetanwendung (ähnlich wie websequencediagrams.com für Sequenzdiagramme) mit der diese Diagramme erstellt werden können, und lasse das Diagramm dann in Java erstellen. Das würde im obigen Fall dann hierzu führen:

Das dies keine einfache Sache sein wird, ist wohl offensichtlich. Denn ich muss einiges meinen Schülern erklären, ganz besonders diese static-Sache.

Mehr zum Thema Funktionale Programmierung mit Java habe ich noch bei auf dem Blog n log n gefunden. Diese Gedanken werden auch noch einfließen. Dabei ganz besonders der erste Block:

  • Das Programm besteht nur aus einer Klasse, keine Klassen-/Instanzvariablen.
  • Nur primitive Datentypen und Strings sind erlaubt.
  • Alle Methoden sind statisch (ab hier sind wir mehr oder weniger imperativ) und liefern stets einen Wert zurück, d.h. der Rückgabetyp einer Methode ist nicht void — Ausnahme ist main. Damit muss kein Objekt für die Klassen erzeugt werden.
  • Es kommen keine For-, While-Schleifen, continue, break und  goto vor.
  • Es kommt kein switch-Block vor.
  • Lokale Variablen werden bei ihrer Deklaration auch definiert. Außer bei ihrer Deklaration und gleichzeitiger Definition darf keine Variable auf der linken Seite einer Zuweisung stehen.
  • Die Zuweisung kommt außer bei Variablendeklaration und gleichzeitiger Definition sowieso nicht vor.  Das ist im übrigen auch der Grund, warum wir keine sinnvolle Iteration haben können.
  • main ist die einzige Methode, die System.out.println(…); enthält.

Durch diesen Ansatz erhoffe ich mir in erster Linie etwas Zeit in der zehnten Klasse zu erkaufen, das Verständnis für Methodenaufrufe zu erhöhen, was in der elften Klasse bei den rekursiven Datenstrukturen immer wieder massiv Probleme macht und abschließend natürlich auch die Motivation in der neunten Klasse dadurch zu erhöhen, dass das Niveau erhöht wird und die Schüler nicht nur am Malen sind.

Ob das alles so gelingen wird – wir werden sehen.

 

iPhone 5 Test

Immer wieder war ich mit meinen Kindern unterwegs und machte Fotos mit meinem Handy. Meistens war diese verwackelt, weil der Auslöser zu lange gebraucht hat. Oder die Bilder waren zu dunkel, weil der 5MP Sensor zu schlecht war oder es kam beides zusammen.

Da war es interessant in den letzten Tage mal das neue iPhone 5 auszuprobieren auf seine Fotoqualitäten hin ein wenig auszuprobieren. Ich muss dazu sagen, dass ich beileibe kein Profi oder amibitionierter Hobbyfotograf bin. Ich bin einfach nur jemand, der gerne schöne Fotos macht.Wie man vielleicht erkennen kann, fand ich ganz besonders die HDR-Funktion des iPhones interessant. Wobei man wirklich aufpassen muss, dass man dabei nicht wackelt. Mit Hilfe der App HDR Fusion machte ich dann leider auch folgendes Bild.Das das Bild so unscharf aussieht liegt daran, dass die App zwei Bilder kurz hinterander gemacht hat und daraus dann das HDR-Bild berechnet hat. Blöderweise hat aber entweder der Steg oder ich dabei gewackelt. Daher ist das Bild unscharf geworden. Ein Stativ wäre wohl besser gewesen.

Auch konnte ich den, in meinen Augen, vermeintlichen Fehler reproduzieren.

Man erkennt schön den lilafarbenen Schleier am oberen Bildrand um die Sonne herum. Bewegt man sich ein wenig, so ist der Effekt – trotz Gegenlichtaufnahme – wieder weg.Alles in allem bin ich mit der Fotoqualität sehr zufrieden und werde wohl weiter damit fotografieren.

Studienberechtigung vs. -befähigung

In der heutigen Ausgabe des FAZ am Sonntag ging es hoch her. Auslöser war wohl die Vereinheitlichung des Abiturs. Dazu möchte ich einfach die schönsten, interessantesten und provozierensten Aussagen kurz zusammenfassen.

Im Ergebnis laufe es auf einen “inhaltlichen Minimalismus” hinaus, “der sich als ‘lernen lernen’ verkauft”, so Josef Kraus, Präsident des Deutschen Lehrerverbandes. Inhalte und Wissen würden nebensächlich, selektives Lesen (“literacy”), Präsentieren (Powerpoint), Diskutieren und Rechnen für den Alltagsgebrauch stünden im Vordergrund.
Der Lehrer mutiere zum “Moderator” und “Supervisor”, der nur noch “Lernzirkel” und “Materialtheken” anbiete und ansonsten auf “selbstgesteuertes Lernen” setze.

Ein Stundent dazu in einem Forum:

“Die Grundlagen aus der Schule waren in meinem Studium nicht mal für die allererste Woche im ersten Semester ausreichend.(…) während in den Physik-Vorlesungen Kenntnisse benötigt und vorausgesetzt wurden, die weit über das Abitur-Niveau hinausgehen, um überhaupt sinnvoll anfangen zu können”, so ein Student in einem Online-Forum.
Dazu habe ich aufgrund der Unterforderung in der Schule nie gelernt, zu lernen, so dass ich heute erhebliche Probleme habe, wenn ich mir Dinge aus Büchern und anderen Quellen mühsam zusammensammeln muss.

Ganz besonders schlimm, muss das Defizit in Mathematik sein, was sich vor allem an den Abbrecherquoten in den naturwissenschaftlichen Fächern zeigt. In Mathematik, Informatik, Maschinenbau, Chemie und Physik brechen im Schnitt 50%-40% der Studenten ab.

Der Umgang mit Termen, Gleichungen, Geometrie- und Trigonometriekenntnissen würde zunehmend aus der Schulmathematik gestrichen. (…) Hinzu kämen die Folgen des zu frühen Einsatzes von Taschenrechnern.
Irgendwann hat die Spielerei ein Ende. (…) Die Lehrer müssen auch überprüfen und korrigieren, was sie unterrichten.

Was heißt das jetzt für mich und meinen Unterricht? Unterrichte ich auch zu “niveaulos”? Bringe ich meinen Schülern bei, wie man aus Büchern lernt? Wie man selbstständig lernt? “Drille” ich genug – gerade in der Mathematik – beim Rechen mit Termen zum Beispiel? Ist ein Konzept wie der “Flipped Classroom” in diesem Zusammenhng sinnvoll oder macht es langfrisitg nicht doch mehr kaputt, obwohl doch immer wieder von positiven Ergebnisse berichtet wird? Hat Prof. Spitzer mit der “Digitalen Demenz” doch recht?

Durch die weitere Nutzung der Seite (Scrollen, Navigieren) stimmen Sie der Verwendung von Cookies zu. Weitere Informationen

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn du diese Website ohne Änderung der Cookie-Einstellungen verwendest oder auf "Akzeptieren" klickst, erklärst du sich damit einverstanden.

Schließen