Thesen Text
Im naturwissenschaftlichen Unterricht stellt sich laufend die Frage, inwiefern eine Aussage richtig oder falsch sei. Da beispielsweise im Physikunterricht weitgehend die klassische Physik vermittelt wird, sind fast alle besprochenen Gesetzmäßigkeiten vom Standpunkt der Quanten- und Relativitätstheorie falsch oder zumindest nicht exakt. Trotzdem betrachtet man die Vermittlung der klassischen Physik als etwas sehr Wertvolles.
Die Physiklehrpersonen pflegen sich so zu rechtfertigen, dass sie von Modellannahmen oder Voraussetzungen sprechen, innerhalb derer die Gesetze gültig sind. Beispielsweise setzt man voraus, dass im betrachteten System die Geschwindigkeiten klein gegenüber der Lichtgeschwindigkeit sind, um klassischen Mechanik ohne Einbezug der spezielle Relativitätstheorie zu betreiben oder man setzt voraus, dass die „Granularität des Phasenraums“ vernachlässigbar ist und damit die Quantentheorie keine Rolle spielt.
Naturwissenschafter sind sich also gewöhnt, von unerwünschten Gegebenheiten und Einflüssen großzügig abzusehen, um eine Reduktion der Komplexität zu erhalten. Dabei wird die Möglichkeit offen gelassen, dieselben Fragen später mit einer vollständigeren Theorie nochmals anzupacken. Ähnliche Unterrichtsprinzipien werden auch im Mathematikunterricht angewendet. Es kann beispielsweise sinnvoll sein, die Exponentialschreibweise für komplexe Zahlen zu verwenden, bevor man sie mittels komplexer Reihen hergeleitet hat.
Genau dieses Vorgehen, vorerst großzügig von komplexen Zusammenhängen abzusehen, vielleicht sogar gewissen Programmiergrundsätzen zu widersprechen, eignet sich auch bei der Einführung von Programmiersprachen. Vom höheren oder professionellen Standpunkt aus gesehen wird man sich dabei zeitweise „versündigen“, um die Komplexität vorerst zu umgehen. Solche Auslassungssünden sind statthaft und sind der Preis, der bezahlt werden muss, will man Java als Programmiersprache für Anfänger unterrichten. Zur Bewältigung der didaktischen Defizite von Java werden die folgenden Auslassungssünden in den ersten Kapiteln als legitim betrachtet. Das Weglassen von:
- Expliziten Zugriffsbezeichnern (private, protected, public)
- Exceptions
- Packages
- Interfaces
- Threads.
Es stellt sich die Frage, ob es überhaupt noch möglich ist, ohne die ausgeschlossenen Begriffe ein Java-Programm zu erstellen. Trotz dem Einsatz von programmtechnischen Hilfsmitteln gelingt dies leider nicht vollständig. Es kann also nur darum gehen, den Lehrgang derart aufzubauen, dass zu Beginn der Gebrauch der erwähnten Begriffe auf ein absolutes Minimum beschränkt wird. Am Anfang wird auch ein erheblicher Erkärungsbedarf entstehen, um die Vorwärtsbezüge zu vermeiden. Auch muss leider für den Einstieg auf besonders motivierende Themen (beispielsweise auf Applets) verzichtet werden, da diese eine weitgehende Beherrschung von Java voraussetzen. Mit umso mehr Genugtuung ist es aber in einer späteren Phase möglich, sich diesen Gebieten auf der Basis eines soliden Grundlagenwissens widmen zu können.
Bei der Behandlung der einzelnen Themen wird keine Vollständigkeit angestrebt. Dies würde dem examplarischen Prinzip widersprechen, bei dem davon ausgegangen wird, dass einige gut ausgewählte Beispiele genügen, um das allgemeine Verständnis zu vermitteln. Es wäre zudem eine Verschwendung von Ressourcen, alle Methoden von Klassen aus der Standardbibliothek zu besprechen, da jederzeit auf eine sehr gute Originaldokumentation (allerdings nur in Englisch) zurück gegriffen werden kann. Im Gegensatz dazu sollen alle relevanten Aspekte der modernen professionellen Informatik, speziell im Zusammenhang mit der objektorientierten Programmierung und der Programmiersprache Java aufgegriffen werden, auch wenn dies den Umfang des Lehrbuch beängstigend anwachsen lässt. Es ist aber dem Leser überlassen, einzelne Spezialthemen (Netzwerkprogrammierung, Datenbanken, usw.) beim ersten Durcharbeiten zu überspringen.