LUDWIG-GEISSLER-SCHULE
Gewerblich-technische berufsbildende Schule der Stadt Hanau und des Main-Kinzig-Kreises - Selbstständige Berufliche Schule (SBS)

Programmierung

Strukturierte Programmierung / Objektorientierte Programmierung / UML

Im Beruflichen Gymnasium, in der Fachoberschule wie auch in der Berufsschule sind die Themen Strukturierte Programmierung, Objektorientierte Programmierung und Modellierung mit UML in den Lehrplänen verankert.

An der Ludwig-Geißler-Schule wird in allen drei Schulformen die Objektorientierte Programmiersprache Java unterrichtet. Die Gründe dafür sind:

  • Plattformunabhängigkeit der Sprache: Ein Javaprogramm, das unter Windows geschrieben wurde, läuft auch unter Linux oder Mac OS und umgekehrt (write once, run everywhere)
  • Die eigentliche Sprachsyntax in Java besteht beispielsweise im Vergleich zu C++ aus relativ wenigen Schlüsselworten und ist daher leichter zu lernen
  • Viele Universitäten und Fachhochschulen verwenden Java
  • Für alle Plattformen existiert die lizenzfreie Open Source Entwicklungsumgebung Eclipse, welche häufig in Unternehmen eingesetzt wird.

Im Folgenden wird der Unterrichtsablauf beschrieben, wie er in allen Schulformen mit unterschiedlicher thematischer Tiefe aber im Wesentlichen gleichen Inhalten stattfindet.


Strukturierte Programmierung

Im ersten Lehrnjahr werden die Grundlagen von Java vermittelt, wie sie auch für beliebige andere Programmiersprachen gelten

  • Basisdatentypen von einfachen Variablen
  • Kontrollstrukturen wie kopf- und fußgesteuerte Schleifen, Zählschleifen, Verzweigungen und Mehrfachverzweigungen
  • Methoden ohne und mit Parametern bzw. Rückgabewerten
  • zusammengesetzte Variablentypen wie ein- und zweidimensionale Arrays
  • Einführung in die Begriffe Klassen und Objekte

Bis zur Einführung von Arrays, Klassen und Objekten verwenden wir die didaktische Programmierumgebung JavaKara, die an der ETH Zürich entwickelt wurde. Über diverse Methoden steuern Schülerinnen und Schüler den Marienkäfer Kara über ein Spielfeld. Die optische Rückmeldung vermittelt eine deutlich höhere Motivation, sich mit Kontrollstrukturen und Methoden zu beschäftigen, als textbasierte Kommandozeilenausgaben.

Nach oben

Objekt Orientierte Programmierung (OOP)

Die allermeisten Programme werden heutzutage über grafische Benutzeroberflächen bedient. Jedes Element einer grafischen Benutzeroberflache gehört zu einer bestimmten Klasse (Kategorie) von Bedienelementen (Menüitems, Buttons, Rollbalken, Dateiauswahldialoge, etc.) mit bestimmten Eigenschaften (Attributen) und Aktionen (Methoden).

Leider erfordert die Programmierung selbst einer einfachen grafischen Oberfläche viele Zeilen sich oft wiederholenden Programmcodes. Daher werden grafische Editoren eingesetzt, mit denen der Programmierer die entsprechenden Oberflächenelemente wie Menüs, Menüitems und Buttons mit der Maus platziert und anschließend den eigentlichen Programmcode per Knopfdruck generiert.

Nach oben

UML - Diagramme

UML ist eine grafische Modellierungssprache. Sie nimmt im objektorientierten Softwareentwurf die Rolle ein, die Struktogramme beim Entwurf von Algorithmen innerhalb einer Methode spielen.

Insbesondere stellen UML-Klassendiagramme  den Zusammenhang zwischen einzelnen Klassen grafisch dar (in Form von Vererbungsbeziehungen, Aggregationen und Kompositionen). Der Code für die Klassenrümpfe kann auf Knopfdruck generiert (forward engineering) werden. Programmieren Schülerinnen und Schüler diese Codevorlage dann aus oder fügen neue Attribute und Methoden hinzu, werden diese automatisch auch im UML-Klassendiagramm visualisiert (reverse engineering).

Beispiele für weitere UML-Diagramme, Aufgabenblätter und einführende Texte finden Sie nebenstehend.

Der Einsatz der Modellierungswerkzeuge korrespondiert auch damit, dass hier ein relativ großer Anteil an den Prüfungen besteht.

Nach oben