Wissensvermittlung, also das Weitergeben von eigenem Wissen und eigenen Erfahrungen, ist, zusätzlich zu meiner Arbeit mit der Programmiersprache selbst, ein wichtiger Bestandteil meiner Tätigkeit. Neben der Betreuung von Fernkursen in diesem Bereich, die dabei in den letzten Jahren einen größeren Raum einnahmen und in denen ich Wissen eher mittelbar weiter gegeben habe, habe ich auch mehrtägige Seminare zu ausgewählten Themenbereichen konzipiert und durchgeführt. Dazu möchte ich hier einige Beispiele zeigen.

Java Grundlagen

Das Seminar, das ich zu den Java-Grundlagen konzipiert habe, dient dem Einstieg in die Programmierung mit Java. Hier geht es vor allem um die Einordnung der Sprache, wesentliche Syntaxregeln und dem Kodieren von kleineren, prozeduralen Programmen. Objektorientierung ist noch kein Thema, aber natürlich werden hier bereits die syntaktischen Grundlagen für eine Java-Klasse besprochen.

Java-Präsentation: Beispielseite

Nach dem Einstieg mit einer kleinen Präsentation zum Grundkonzept von Java, aus der ein Auszug hier zu sehen ist, gibt es das typische HelloWorld.java - Beispiel, an dem die grundlegende Syntax einer Java-Klasse besprochen wird. Es dient auch als »Aufhänger;«, um erste Beispiele zu Schlüsselwörtern, Variablen, Methoden und Bezeichnern zu zeigen und zu besprechen.

Ebenso lässt sich gleich an dieser Stelle zeigen und üben, welche Fehler auftreten können, wie diese »gemeldet« werden und welche Informationen sich daraus zur Fehlerkorrektur ermitteln lassen. Auch wenn moderne Entwicklungsumgebungen (IDE) hier komfortable Autokorrekturen anbieten, halte ich das Lesen und Durchdenken dieser Fehlermeldungen für sehr hilfreich für das eigene Verständnis. Bei Standardfällen, wie z. B. Schreibfehlern, funktioniert die Autokorrektur im Allgemeinen gut, aber spätestens dann, wenn im Ernstfall doch nicht die »richtige« Korrektur angeboten wird, kommt man um das selbständige Ermitteln der Fehlerursache nicht mehr herum.

Im Weiteren geht es dann um die Arbeitswerkzeuge (JDK, Editor, IDE) und einzelne Themen wie Datentypen, Operatoren, Kontrollstrukturen (Verzweigungen, Schleifen). Ein besonderer Schwerpunkt ist die Arbeit mit Methoden - als Mittel zur Code-Strukturierung und zur Wiederverwendung von Codeteilen. Als Abschluss werden einfache (eindimensionale) Arrays behandelt.

Der Auszug aus der Einstiegspräsentation zeigt, nach dem Besprechen der zwei prinzipiellen Möglichkeiten der Quellcode-Transformation hin zum ausführbaren Programm (Kompilieren, Interpretieren), wie es Java »macht« - mit der Quintessenz, dass dort beide Verfahren kombiniert werden, um so die Plattformunabhängigkeit zu realisieren. Die komplette Präsentation kann auch als PDF herunter geladen werden.

top ↑

Weitere Themengebiete

Neben den Java-Grundlagen habe ich bisher Seminare zu zwei weiteren größeren Themenbereichen durchgeführt: OOP (Objektorientierte Programmierung mit Java) und GUI-Programmierung (Graphische Bedienoberflächen mit AWT/Swing).

Schwerpunkte des Seminars zur Objektorientierung sind die korrekte Unterscheidung zwischen den Begriffen Klasse, Objekt und Referenz (auf ein Objekt). Letztere, also Referenzen, werden als Werte in Variablen abgelegt und auch diese werden genauer beleuchtet - entsprechend ihrer Stellung im Code und dem daraus resultierenden Geltungsbereich. Weitere Themen hier sind: Datenkapselung, Komposition und Ableitung (als Techniken zur Wiederverwendung von Programmcode auf Klassenebene), Interfaces und abstrakte Klassen. Neben dem praktischen Anwenden der vermittelten Begriffe und Techniken durch eigenes Kodieren wird ebenfalls gezeigt, wie sich diese Prinzipien auch in den - in der Regel komplexeren - Klassenstrukturen des Java API wiederfinden.

Bei dem Seminar zur GUI-Programmierung geht es zunächst einmal um die grundlegenden Aufgaben bei der Grafikausgabe, für die jede Grafikbibliothek Lösungen anbieten muss: von der Definition der Ausgabefläche bis hin zum Rendern (Darstellen) des dort anzuzeigenden Inhalts. Auch die Ereignisverarbeitung, also die Reaktion auf Nutzeraktionen innerhalb der angezeigten Bedienoberfläche (wie zum Beispiel das Anklicken einer Schaltfläche), gehört dazu. Die hierfür durch AWT und Swing bereit gestellten grundlegenden Klassen und ihr Einsatz wird besprochen, genauso wie ein sinnvoller Layoutaufbau durch eine Objekthierarchy ineinander verschachtelter Container.

Bei allen drei Seminaren besteht die Grundkonzeption darin, dass nach einer kurzen Einführung und ersten gemeinsamen »Fingerübungen« auch schon relativ schnell das eigenständige Arbeiten und Ausprobieren beginnt. Dazu gibt es kurzgefasste, stichpunktartige Aufgaben mit verschiedenen Ausbaustufen, zu denen jeweils am Ende die Basislösungen gezeigt und besprochen werden. Das eigenständige Arbeiten nimmt im Verlauf des Seminars zu und es können, je nach Zeit und Wunsch der Teilnehmer, am Ende auch die eigenen Lösungen ausgetauscht und gemeinsam besprochen werden.

Neben diesen Standard-Seminaren, mit den ich bisher gute Erfahrungen gemacht habe, bin ich auch für andere Themen und/oder angepasste Vermittlungsformen offen.